feat: auto generate placeholder nationalId for users and professors, auto calculate class end date
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user