8e46d02ed1
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.
16 lines
276 B
JavaScript
16 lines
276 B
JavaScript
'use strict'
|
|
|
|
class NoTimestamp {
|
|
register (Model) {
|
|
Object.defineProperties(Model, 'createdAtColumn', {
|
|
get () { return null }
|
|
})
|
|
|
|
Object.defineProperties(Model, 'updatedAtColumn', {
|
|
get () { return null }
|
|
})
|
|
}
|
|
}
|
|
|
|
module.exports = NoTimestamp
|