mongodb-dynamic-api
Version:
Auto generated CRUD API for MongoDB using NestJS
35 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseDeleteManyService = void 0;
const class_transformer_1 = require("class-transformer");
const dtos_1 = require("../../dtos");
const services_1 = require("../../services");
class BaseDeleteManyService extends services_1.BaseService {
constructor(model) {
super(model);
this.model = model;
}
async deleteMany(ids) {
try {
let op;
if (this.isSoftDeletable) {
const deleted = await this.model
.updateMany({
_id: { $in: ids },
isDeleted: false,
}, { $set: { isDeleted: true, deletedAt: Date.now() } })
.exec();
op = { deletedCount: deleted.modifiedCount };
}
else {
op = await this.model.deleteMany({ _id: { $in: ids } }).exec();
}
return (0, class_transformer_1.plainToInstance)(dtos_1.DeletePresenter, { deletedCount: op.deletedCount });
}
catch (error) {
return (0, class_transformer_1.plainToInstance)(dtos_1.DeletePresenter, { deletedCount: 0 });
}
}
}
exports.BaseDeleteManyService = BaseDeleteManyService;
//# sourceMappingURL=base-delete-many.service.js.map