node.js - Soft delete in Sails/Waterline -


trying delete user model using:

//hard delete     user.destroy({id:userid}, function(err, res){     //hard delete })   

i need soft delete on user model , setting flag isdeleted true on delete , updating document:

updateuser.isdeleted = true; user.update({id:userid}, updateuser, function(err, res){   update project }) 

and while fetching documents doing check if isdeleted - true or not.
there in-built feature provided sails or waterline can configure perform soft delete , avoid updating , fetching based on isdeleted flag?

you can use beforefind() life cycle function filter of soft deleted records

model: parrot,js

module.exports = {     attributes: {         // e.g., "polly"         name: {             type: 'string'         },          // e.g., 3.26         wingspan: {             type: 'float',             required: true         },          // e.g., "cm"         wingspanunits: {             type: 'string',             enum: ['cm', 'in', 'm', 'mm'],             defaultsto: 'cm'         },          // e.g., [{...}, {...}, ...]         knowndialects: {           collection: 'dialect'         },          isdeleted:{             type:'boolean'         }     },      beforefind: function(values, cb) {         values.isdeleted = false;         cb();     } } 

parrotcontroller.js

module.exports = {      // getting default parrots isdeleted = true     list: function (req, res) {          parrot         .find()         .exec(function(err, parrots) {             if(err) return res.send({ flag:false, data:[], message:"error." });              if(parrots && parrots.length){                 return res.send({ flag:true, data:parrots, message:"success." });             }             else{                 return res.send({ flag:false, data:[], message:"parrot list empty." });             }          });      } }; 

Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -