diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 588677e9..4ee70733 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.20.28", + "version": "2.20.29", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/model/contest.ts b/packages/hydrooj/src/model/contest.ts index 03085460..185c9d40 100644 --- a/packages/hydrooj/src/model/contest.ts +++ b/packages/hydrooj/src/model/contest.ts @@ -385,6 +385,13 @@ export async function edit( return await document.set(domainId, type, tid, $set); } +export async function del(domainId: string, tid: ObjectID, type: Type = document.TYPE_CONTEST) { + await Promise.all([ + document.deleteOne(domainId, type, tid), + document.deleteMultiStatus(domainId, type, { docId: tid }), + ]); +} + export async function get(domainId: string, tid: ObjectID, type: -1): Promise>; export async function get(domainId: string, tid: ObjectID, type: T): Promise>; export async function get(domainId: string, tid: ObjectID): Promise>; @@ -601,6 +608,7 @@ global.Hydro.model.contest = { getMultiStatus, attend, edit, + del, get, updateStatus, getStatus, diff --git a/packages/hydrooj/src/model/training.ts b/packages/hydrooj/src/model/training.ts index a6747597..2707f58d 100644 --- a/packages/hydrooj/src/model/training.ts +++ b/packages/hydrooj/src/model/training.ts @@ -50,6 +50,13 @@ export function edit(domainId: string, tid: ObjectID, $set: Partial return document.set(domainId, document.TYPE_TRAINING, tid, $set); } +export function del(domainId: string, tid: ObjectID) { + return Promise.all([ + document.deleteOne(domainId, document.TYPE_TRAINING, tid), + document.deleteMultiStatus(domainId, document.TYPE_TRAINING, { docId: tid }), + ]); +} + export function getPids(dag: TrainingNode[]) { return Array.from(new Set(flatten(dag.map((node) => node.pids)))); } @@ -117,6 +124,7 @@ global.Hydro.model.training = { isInvalid, add, edit, + del, count, get, getList,