diff --git a/packages/hydrooj/src/model/problem.ts b/packages/hydrooj/src/model/problem.ts index a4028c94f..ac0c84afc 100644 --- a/packages/hydrooj/src/model/problem.ts +++ b/packages/hydrooj/src/model/problem.ts @@ -157,7 +157,14 @@ export class ProblemModel { ) { const ddoc = await DomainModel.get(domainId); const args: Partial = { - title, tag, hidden: meta.hidden || false, nSubmit: 0, nAccept: 0, sort: sortable(pid || `P${docId}`, ddoc?.namespaces), + title, + tag, + hidden: meta.hidden || false, + nSubmit: 0, + nAccept: 0, + sort: sortable(pid || `P${docId}`, ddoc?.namespaces), + data: [], + additional_file: [], }; if (pid) args.pid = pid; if (meta.difficulty) args.difficulty = meta.difficulty; diff --git a/packages/hydrooj/src/model/storage.ts b/packages/hydrooj/src/model/storage.ts index 4779584ce..a843fb788 100644 --- a/packages/hydrooj/src/model/storage.ts +++ b/packages/hydrooj/src/model/storage.ts @@ -142,6 +142,7 @@ export class StorageModel { { $set: { lastUsage: new Date() } }, { returnDocument: 'after' }, ); + if (!value) throw new Error(`Original file ${src} not found`); const meta = {}; await StorageModel.del([dst]); meta['Content-Type'] = mime(dst);