Skip to content

SoftDelete mixin for Loopback. Same functionality as the original, with the exception that it does not use the isDeleted property. I find this obsolete as it's the same as checking if deletedAt value. This is a fork from loopback-softdelete-mixin with this pull request applied: Adds support for MongoDB.

xircleag/loopback-softdelete-mixin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

This is a fork from loopback-softdelete-mixin with this pull request applied: Adds support for MongoDB.

Install

  npm install --save loopback-softdelete-mixin3

SERVER CONFIG

Add the mixins property to your server/model-config.json:

{
  "_meta": {
    "sources": [
      "loopback/common/models",
      "loopback/server/models",
      "../common/models",
      "./models"
    ],
    "mixins": [
      "loopback/common/mixins",
      "../node_modules/loopback-softdelete-mixin3",
      "../common/mixins"
    ]
  }
}

MODEL CONFIG

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

About

SoftDelete mixin for Loopback. Same functionality as the original, with the exception that it does not use the isDeleted property. I find this obsolete as it's the same as checking if deletedAt value. This is a fork from loopback-softdelete-mixin with this pull request applied: Adds support for MongoDB.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%