UNPKG

loopback-sdelete-mixin

Version:

A mixin to automatically generate created and updated Date attributes for loopback Models

51 lines (39 loc) 1.67 kB
SoftDelete ============= This is forked from [gausie/loopback-softdelete-mixin](https://github.com/gausie/loopback-softdelete-mixin) This module is designed for the [Strongloop Loopback](https://github.com/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](https://github.com/clarkbw/loopback-ds-timestamp-mixin). Install ------- ```bash npm install --save loopback-sdelete-mixin ``` Configure ---------- To use with your Models add the `mixins` attribute to the definition object of your model config. ```json { "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. ```json "mixins": { "SoftDelete": { "deletedAt": "deletedOn", "_isDeleted": "deleted", "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).