Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
2026-08-13 19:58:52 +08:00
parent 9018d6d158
commit 2e9c2ad43f
23 changed files with 954 additions and 287 deletions
+9 -9
View File
@@ -2614,13 +2614,13 @@ exports.syncInstructors = async (req, res) => {
// ─── COMPLETIONS HELPERS ──────────────────────────────────────────────────────
async function extractUserInfo(user) {
if (!user) return { full_name: null, email: null, avatar_url: null, deleted: false };
if (!user) return { full_name: null, email: null, avatar_stream_token: null, deleted: false };
const avatar = await resolveAvatarUrl(user.personal_info?.avatar);
return {
full_name: user.personal_info?.name?.full_name ?? null,
email: user.email ?? null,
avatar_url: avatar?.url ?? null,
deleted: !!user.deletedAt,
full_name: user.personal_info?.name?.full_name ?? null,
email: user.email ?? null,
avatar_stream_token: avatar?.stream_token ?? null,
deleted: !!user.deletedAt,
};
}
@@ -2629,12 +2629,12 @@ async function groupByUser(attempts) {
for (const a of attempts) {
const uid = String(a.user_id);
if (!map.has(uid)) {
const { full_name, email, avatar_url, deleted } = await extractUserInfo(a.user);
const { full_name, email, avatar_stream_token, deleted } = await extractUserInfo(a.user);
map.set(uid, {
user_id: a.user_id,
full_name,
email,
avatar_url,
avatar_stream_token,
deleted,
attempt_count: 0,
best_score: 0,
@@ -2757,7 +2757,7 @@ exports.getAssessmentSessions = async (req, res) => {
const rows = await Promise.all(sessions.map(async (s) => {
const j = s.toJSON();
const { full_name, email, avatar_url, deleted } = await extractUserInfo(j.user);
const { full_name, email, avatar_stream_token, deleted } = await extractUserInfo(j.user);
const time_spent_seconds = j.status !== 'in_progress' && j.started_at
? Math.round((new Date(j.updatedAt) - new Date(j.started_at)) / 1000)
: null;
@@ -2766,7 +2766,7 @@ exports.getAssessmentSessions = async (req, res) => {
user_id: j.user_id,
full_name,
email,
avatar_url,
avatar_stream_token,
deleted,
status: j.status,
started_at: j.started_at,