feat: auto generate placeholder nationalId for users and professors, auto calculate class end date

This commit is contained in:
2026-08-21 15:03:18 +03:30
parent cbcf3f55db
commit 30db6582b7
6 changed files with 157 additions and 21 deletions
+10 -2
View File
@@ -5,14 +5,22 @@ const AppError = require('../../utils/AppError');
const eventEmitter = require('../../events/eventEmitter');
const EVENT_NAMES = require('../../constants/eventNames');
const { parsePaginationAndSort, buildFilterQuery, calculateMeta } = require('../../utils/pagination');
const { allocatePlaceholderNationalId } = require('../../utils/nationalId');
const createProfessor = async (data) => {
let nationalIdCode = String(data.nationalIdCode || data.nationalId || '').trim();
const phoneNumber = String(data.phoneNumber || data.phone || '').trim();
if (!nationalIdCode) {
nationalIdCode = await allocatePlaceholderNationalId(phoneNumber);
}
const payload = {
...data,
name: String(data.name || '').trim(),
surname: String(data.surname || '').trim(),
nationalIdCode: String(data.nationalIdCode || data.nationalId || '').trim(),
phoneNumber: String(data.phoneNumber || data.phone || '').trim(),
nationalIdCode,
phoneNumber,
email: data.email ? String(data.email).trim().toLowerCase() : undefined,
cardNumber: data.cardNumber ? String(data.cardNumber).trim() : undefined,
shabaNumber: data.shabaNumber || data.iban ? String(data.shabaNumber || data.iban).trim() : undefined,