fix(professors, settings): add auto-migration for legacy professors, deep populate user in class/session/course services, and fix SMS bypass number persistence

This commit is contained in:
2026-08-26 05:17:41 +03:30
parent 0a022c0917
commit 43404f2dfc
12 changed files with 337 additions and 57 deletions
+8 -2
View File
@@ -91,7 +91,10 @@ const getSessionById = async (id) => {
select: 'name students capacity',
populate: { path: 'students', select: 'name nationalIdCode phoneNumber gender' }
})
.populate('professor', 'name surname email phoneNumber')
.populate({
path: 'professor',
populate: { path: 'user', select: 'name surname email phoneNumber' }
})
.populate('attendanceList.user', 'name username nationalIdCode');
if (!session) {
throw new AppError('SESSION_NOT_FOUND');
@@ -232,7 +235,10 @@ const populateSessionList = (query, { includeClassStudents = false } = {}) => {
let chain = query
.populate('course', 'title type')
.populate('class', includeClassStudents ? 'name students' : 'name')
.populate('professor', 'name surname');
.populate({
path: 'professor',
populate: { path: 'user', select: 'name surname phoneNumber' }
});
return chain;
};