From 51527c7f79cd09074d24620af57eb8fc36ea857c Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 29 Nov 2021 22:56:03 +0800 Subject: [PATCH] core: fix sortable handle --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/model/problem.ts | 2 +- packages/hydrooj/src/upgrade.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 7303b6858..bc17bee0a 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.1.41", + "version": "3.1.42", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/model/problem.ts b/packages/hydrooj/src/model/problem.ts index 0ee2331a3..01e164fed 100644 --- a/packages/hydrooj/src/model/problem.ts +++ b/packages/hydrooj/src/model/problem.ts @@ -22,7 +22,7 @@ export interface ProblemDoc extends Document { } export type Field = keyof ProblemDoc; function sortable(source: string) { - return source.replace(/(\d+)/g, (str) => '0'.repeat(6 - str.length) + str); + return source.replace(/(\d+)/g, (str) => (str.length >= 6 ? str : ('0'.repeat(6 - str.length) + str))); } export class ProblemModel { diff --git a/packages/hydrooj/src/upgrade.ts b/packages/hydrooj/src/upgrade.ts index 4eab76b07..edb4d5f00 100644 --- a/packages/hydrooj/src/upgrade.ts +++ b/packages/hydrooj/src/upgrade.ts @@ -652,7 +652,7 @@ const scripts: UpgradeScript[] = [ const _FRESH_INSTALL_IGNORE = 1; const bulk = db.collection('document').initializeUnorderedBulkOp(); function sortable(source: string) { - return source.replace(/(\d+)/g, (str) => '0'.repeat(6 - str.length) + str); + return source.replace(/(\d+)/g, (str) => (str.length >= 6 ? str : ('0'.repeat(6 - str.length) + str))); } await iterateAllProblem(['pid', '_id'], async (pdoc) => { bulk.find({ _id: pdoc._id }).updateOne({ $set: { sort: sortable(pdoc.pid || `P${pdoc.docId}`) } });