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
+12 -2
View File
@@ -39,7 +39,10 @@ const getCourseById = async (id, { publicOnly = false } = {}) => {
const filter = { _id: id };
if (publicOnly) filter.showOnFrontend = { $ne: false };
const course = await Course.findOne(filter).populate('professor', 'name surname title expertise email phoneNumber');
const course = await Course.findOne(filter).populate({
path: 'professor',
populate: { path: 'user', select: 'name surname title expertise email phoneNumber' }
});
if (!course) {
throw new AppError('COURSE_NOT_FOUND');
}
@@ -69,7 +72,14 @@ const getAllCourses = async (queryParams, { publicOnly = false } = {}) => {
}
const [courses, totalCount] = await Promise.all([
Course.find(filter).populate('professor', 'name surname').sort(finalSort).skip(skip).limit(limit),
Course.find(filter)
.populate({
path: 'professor',
populate: { path: 'user', select: 'name surname' }
})
.sort(finalSort)
.skip(skip)
.limit(limit),
Course.countDocuments(filter)
]);