diff --git a/packages/hydrooj/src/model/problem.ts b/packages/hydrooj/src/model/problem.ts index f7e3ac7bd..deb5c00b5 100644 --- a/packages/hydrooj/src/model/problem.ts +++ b/packages/hydrooj/src/model/problem.ts @@ -239,6 +239,7 @@ export class ProblemModel { } static async addTestdata(domainId: string, pid: number, name: string, f: Readable | Buffer | string, operator = 1) { + name = name.trim(); if (!name) throw new ValidationError('name'); const [[, fileinfo]] = await Promise.all([ document.getSub(domainId, document.TYPE_PROBLEM, pid, 'data', name), @@ -266,6 +267,7 @@ export class ProblemModel { domainId: string, pid: number, name: string, f: Readable | Buffer | string, operator = 1, skipUpload = false, ) { + name = name.trim(); const [[, fileinfo]] = await Promise.all([ document.getSub(domainId, document.TYPE_PROBLEM, pid, 'additional_file', name), skipUpload ? '' : storage.put(`problem/${domainId}/${pid}/additional_file/${name}`, f, operator), diff --git a/packages/hydrooj/src/plugin-api.ts b/packages/hydrooj/src/plugin-api.ts index 26289ead7..8c4917e6a 100644 --- a/packages/hydrooj/src/plugin-api.ts +++ b/packages/hydrooj/src/plugin-api.ts @@ -37,6 +37,7 @@ export { Collections } from './service/db'; // export { Collections } from './interface'; export { Service, Context } from './context'; export { buildContent } from './lib/content'; +export { default as rating } from './lib/rating'; export { default as avatar } from './lib/avatar'; export { default as rank } from './lib/rank'; export { default as paginate } from './lib/paginate';