feat: add soft delete for classes with cascade to sessions and linked records

This commit is contained in:
2026-08-21 13:19:50 +03:30
parent 5b56171328
commit e34fd25af7
15 changed files with 184 additions and 33 deletions
+10 -1
View File
@@ -45,7 +45,16 @@ const paymentSchema = new mongoose.Schema({
enum: ['pending', 'partial', 'paid', 'overdue'],
default: 'pending'
},
notes: { type: String, trim: true, maxlength: 5000 }
notes: { type: String, trim: true, maxlength: 5000 },
isDeleted: {
type: Boolean,
default: false,
index: true
},
deletedAt: {
type: Date,
default: null
}
}, {
timestamps: true,
toJSON: { virtuals: true },
+5
View File
@@ -253,6 +253,11 @@ const getAllPayments = async (query) => {
const skip = (page - 1) * limit;
const filter = {};
if (query.trash === 'true' || query.isDeleted === 'true') {
filter.isDeleted = true;
} else {
filter.isDeleted = { $ne: true };
}
if (query.userId) filter.user = query.userId;
if (query.status) filter.status = query.status;