Hey! 👋
This PR add some middleware and traits by default.
**Middleware**:
- `AllowGuestOnly` throws an exception if you are authenticated.
- `ConvertEmptyStringsToNull` converts empty strings in the request body to `null`
**Trait**:
- `NoTimestamp` removes the need for `created_at` and `updated_at` fields.
- `FormatDate` formats the date following a convention.
**FormatDate**
The convention is:
- Ends with `_at` => DateTime
- Ends with `_on` => Date
You can change the format you use in your UI with two getters.
```js
class MyModel extends Model {
static get formatDate () { return 'DD.MM.YYYY' }
static get formatDateTime () { return 'DD.MM.YYYY HH:mm' }
}
```
You can also directly change default values inside the Trait since it is a user Trait and not defined in the core.
<hr>
If this is merged, I'll provide the same PR to the `API` blueprint.