@classuper/loopback-softdelete-mixin

1.1.0 • Public • Published

SoftDelete

This module is designed for the Strongloop Loopback framework. It allows entities of any Model to be "soft deleted" by adding a deletedAt attribute. Queries following the standard format will not return these entities; they can only be accessed by adding { deleted: true } to the query object (at the same level as where, include etc).

Install

  npm install --save @classuper/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 an alternative property name for deletedAt, 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": "deleted_at",
      "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).

Package Sidebar

Install

npm i @classuper/loopback-softdelete-mixin

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

25.1 kB

Total Files

5

Last publish

Collaborators

  • alysogorsky
  • alexey