Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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).

About

SoftDelete mixin for Loopback.

Resources

Packages

No packages published