feat: store payment installments in a transactions collection

Move embedded payment rows into Transaction documents with due dates so remaining tuition can be tracked separately from paid amounts.
This commit is contained in:
2026-08-16 07:32:27 +03:30
parent b4ca5678bf
commit 06efcd5b90
7 changed files with 341 additions and 53 deletions
@@ -18,8 +18,8 @@ exports.importJson = catchAsync(async (req, res) => {
}
// Allow { data: { courses: [...] } } wrappers
if (payload?.data?.courses) payload = payload.data;
if (!payload?.courses && payload?.version && payload?.courses == null) {
if (payload?.data?.courses || payload?.data?.payments) payload = payload.data;
if (!payload?.courses && !payload?.payments) {
throw new AppError('VALIDATION_FAILED', null, 'Invalid import payload');
}