From bb000356e054416db49b408be6b18427c39acce5 Mon Sep 17 00:00:00 2001 From: panda Date: Tue, 11 Jul 2023 12:57:05 +0800 Subject: [PATCH] core: sort homework list (#612) --- packages/hydrooj/src/handler/contest.ts | 2 +- packages/hydrooj/src/handler/homework.ts | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/hydrooj/src/handler/contest.ts b/packages/hydrooj/src/handler/contest.ts index 423b68ed2..0bfdb999a 100644 --- a/packages/hydrooj/src/handler/contest.ts +++ b/packages/hydrooj/src/handler/contest.ts @@ -95,7 +95,7 @@ export class ContestListHandler extends Handler { ...rule ? { rule } : { rule: { $in: rules } }, ...group ? { assign: { $in: [group] } } : {}, }; - const cursor = contest.getMulti(domainId, q); + const cursor = contest.getMulti(domainId, q).sort({ endAt: -1, beginAt: -1, _id: -1 }); let qs = rule ? `rule=${rule}` : ''; if (group) qs += qs ? `&group=${group}` : `group=${group}`; const [tdocs, tpcount] = await paginate(cursor, page, system.get('pagination.contest')); diff --git a/packages/hydrooj/src/handler/homework.ts b/packages/hydrooj/src/handler/homework.ts index 118e8433c..bbf88de7b 100644 --- a/packages/hydrooj/src/handler/homework.ts +++ b/packages/hydrooj/src/handler/homework.ts @@ -40,6 +40,8 @@ class HomeworkMainHandler extends Handler { ], }, ...group ? { assign: { $in: [group] } } : {}, + }).sort({ + penaltySince: -1, endAt: -1, beginAt: -1, _id: -1, }); const [tdocs, tpcount] = await paginate(cursor, page, system.get('pagination.contest')); const calendar = [];