mongoose-delete-ts
Version:
Mongoose soft delete plugin
24 lines (23 loc) • 1.18 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const deleteDocument_1 = __importDefault(require("./utils/deleteDocument"));
const restoreDocument_1 = __importDefault(require("./utils/restoreDocument"));
const mergeOptions_1 = __importDefault(require("./utils/mergeOptions"));
function default_1(schema, schemaOptions, deletedFieldOptions) {
schema.methods.delete = function (options) {
this.set((0, deleteDocument_1.default)(deletedFieldOptions));
return this.save((0, mergeOptions_1.default)(options, schemaOptions));
};
schema.methods.deleteByUser = function (user, options) {
this.set((0, deleteDocument_1.default)(deletedFieldOptions, user));
return this.save((0, mergeOptions_1.default)(options, schemaOptions));
};
schema.methods.restore = function (options) {
this.set((0, restoreDocument_1.default)(deletedFieldOptions));
return this.save((0, mergeOptions_1.default)(options, schemaOptions));
};
}