feat: add append-only course/user data import and expand user profile

Support uploading structured JSON to create courses, classes, and students without wiping existing data, and merge user name fields while adding gender and registration details from source sheets.
This commit is contained in:
2026-08-15 01:31:44 +03:30
parent 35704409ec
commit bf5e66fa95
19 changed files with 2314 additions and 569 deletions
@@ -39,7 +39,7 @@ const createCertificate = async (data) => {
const getCertificateById = async (id) => {
const certificate = await Certificate.findById(id)
.populate('user', 'name surname username nationalIdCode')
.populate('user', 'name username nationalIdCode')
.populate('course', 'title type');
if (!certificate) {
throw new AppError('CERTIFICATE_NOT_FOUND');
@@ -56,7 +56,7 @@ const getAllCertificates = async (queryParams) => {
const [certificates, totalCount] = await Promise.all([
Certificate.find(filter)
.populate('user', 'name surname username')
.populate('user', 'name username')
.populate('course', 'title')
.sort(sort)
.skip(skip)