feat: add professor import support, user account creation, and IBAN/card fields
This commit is contained in:
@@ -32,6 +32,18 @@ const professorSchema = new mongoose.Schema({
|
||||
trim: true,
|
||||
lowercase: true
|
||||
},
|
||||
cardNumber: {
|
||||
type: String,
|
||||
trim: true
|
||||
},
|
||||
shabaNumber: {
|
||||
type: String,
|
||||
trim: true
|
||||
},
|
||||
bio: {
|
||||
type: String,
|
||||
trim: true
|
||||
},
|
||||
expertise: [{
|
||||
type: String,
|
||||
trim: true
|
||||
|
||||
@@ -13,7 +13,10 @@ const createProfessor = async (data) => {
|
||||
surname: String(data.surname || '').trim(),
|
||||
nationalIdCode: String(data.nationalIdCode || data.nationalId || '').trim(),
|
||||
phoneNumber: String(data.phoneNumber || data.phone || '').trim(),
|
||||
email: data.email ? String(data.email).trim().toLowerCase() : undefined
|
||||
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,
|
||||
bio: data.bio ? String(data.bio).trim() : undefined
|
||||
};
|
||||
|
||||
const existing = await Professor.findOne({
|
||||
@@ -73,6 +76,17 @@ const updateProfessor = async (id, updateData) => {
|
||||
if (payload.email !== undefined) {
|
||||
payload.email = payload.email ? String(payload.email).trim().toLowerCase() : undefined;
|
||||
}
|
||||
if (payload.cardNumber !== undefined) {
|
||||
payload.cardNumber = payload.cardNumber ? String(payload.cardNumber).trim() : undefined;
|
||||
}
|
||||
if (payload.shabaNumber !== undefined || payload.iban !== undefined) {
|
||||
const val = payload.shabaNumber || payload.iban;
|
||||
payload.shabaNumber = val ? String(val).trim() : undefined;
|
||||
delete payload.iban;
|
||||
}
|
||||
if (payload.bio !== undefined) {
|
||||
payload.bio = payload.bio ? String(payload.bio).trim() : undefined;
|
||||
}
|
||||
|
||||
Object.assign(professor, payload);
|
||||
await professor.save();
|
||||
|
||||
Reference in New Issue
Block a user