loopback-softdelete-mixin
v0.0.6
Published
A mixin to automatically generate created and updated Date attributes for loopback Models
Downloads
92
Readme
SoftDelete
This module is designed for the Strongloop Loopback framework. It allows entities of any Model to be "soft deleted" by adding deletedAt
and _isDeleted
attributes. Queries following the standard format will no return these entities; they can only be accessed by adding { deleted: true }
to the query object (at the same level as where
, include
etc).
It is heavily inspired by loopback-ds-timestamp-mixin.
Install
npm install --save loopback-softdelete-mixin
Configure
To use with your Models add the mixins
attribute to the definition object of your model config.
{
"name": "Widget",
"properties": {
"name": {
"type": "string",
},
},
"mixins": {
"SoftDelete" : true,
},
},
There are a number of configurable options to the mixin. You can specify alternative property names for deletedAt
and _isDeleted
, as well as configuring deletion to "scrub" the entity. If true, this sets all but the "id" fields to null. If an array, it will only scrub properties with those names.
"mixins": {
"SoftDelete": {
"deletedAt": "deletedOn",
"_isDeleted": "isDeleted",
"scrub": true,
},
},
Retrieving deleted entities
To run queries that include deleted items in the response, add { deleted: true }
to the query object (at the same level as where
, include
etc).