mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
core: add domain delete
This commit is contained in:
1 parent
71f86cf79b
commit
ef73b97089
8 files changed
+23
-2
No files matched your search
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "hydrooj",
|
"name": "hydrooj",
|
||||||
"version": "2.27.2",
|
"version": "2.27.3",
|
||||||
"bin": "bin/hydrooj.js",
|
"bin": "bin/hydrooj.js",
|
||||||
"main": "dist/loader.js",
|
"main": "dist/loader.js",
|
||||||
"typings": "dist/loader.d.ts",
|
"typings": "dist/loader.d.ts",
|
||||||
|
|||||||
@@ -428,6 +428,11 @@ async function ensureIndexes() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bus.once('app/started', ensureIndexes);
|
bus.once('app/started', ensureIndexes);
|
||||||
|
bus.on('domain/delete', (domainId) => Promise.all([
|
||||||
|
coll.deleteMany({ domainId }),
|
||||||
|
collStatus.deleteMany({ domainId }),
|
||||||
|
]));
|
||||||
|
|
||||||
global.Hydro.model.document = {
|
global.Hydro.model.document = {
|
||||||
coll,
|
coll,
|
||||||
collStatus,
|
collStatus,
|
||||||
|
|||||||
@@ -249,6 +249,13 @@ class DomainModel {
|
|||||||
}).limit(limit).toArray();
|
}).limit(limit).toArray();
|
||||||
return ddocs;
|
return ddocs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ArgMethod
|
||||||
|
static async del(domainId: string) {
|
||||||
|
await coll.deleteOne({ _id: domainId });
|
||||||
|
await collUser.deleteMany({ domainId });
|
||||||
|
await bus.parallel('domain/delete', domainId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default DomainModel;
|
export default DomainModel;
|
||||||
|
|||||||
@@ -208,5 +208,7 @@ class RecordModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bus.on('problem/delete', (domainId, docId) => RecordModel.coll.deleteMany({ domainId, pid: docId }));
|
bus.on('problem/delete', (domainId, docId) => RecordModel.coll.deleteMany({ domainId, pid: docId }));
|
||||||
|
bus.on('domain/delete', (domainId) => RecordModel.coll.deleteMany({ domainId }));
|
||||||
|
|
||||||
export default RecordModel;
|
export default RecordModel;
|
||||||
global.Hydro.model.record = RecordModel;
|
global.Hydro.model.record = RecordModel;
|
||||||
@@ -97,6 +97,10 @@ bus.once('app/started', async () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
bus.on('domain/delete', async (domainId) => {
|
||||||
|
const files = await StorageModel.list(`problem/${domainId}`);
|
||||||
|
await StorageModel.del(files.map((i) => i.path));
|
||||||
|
});
|
||||||
|
|
||||||
global.Hydro.model.storage = StorageModel;
|
global.Hydro.model.storage = StorageModel;
|
||||||
export default StorageModel;
|
export default StorageModel;
|
||||||
@@ -127,5 +127,7 @@ class TaskModel {
|
|||||||
static Worker = Worker;
|
static Worker = Worker;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bus.on('domain/delete', (domainId) => coll.deleteMany({ domainId }));
|
||||||
|
|
||||||
export default TaskModel;
|
export default TaskModel;
|
||||||
global.Hydro.model.task = TaskModel;
|
global.Hydro.model.task = TaskModel;
|
||||||
@@ -55,6 +55,7 @@ export interface EventMap extends Record<string, any> {
|
|||||||
'domain/get': (ddoc: DomainDoc) => VoidReturn
|
'domain/get': (ddoc: DomainDoc) => VoidReturn
|
||||||
'domain/before-update': (domainId: string, $set: Partial<DomainDoc>) => VoidReturn
|
'domain/before-update': (domainId: string, $set: Partial<DomainDoc>) => VoidReturn
|
||||||
'domain/update': (domainId: string, $set: Partial<DomainDoc>, ddoc: DomainDoc) => VoidReturn
|
'domain/update': (domainId: string, $set: Partial<DomainDoc>, ddoc: DomainDoc) => VoidReturn
|
||||||
|
'domain/delete': (domainId: string) => VoidReturn
|
||||||
|
|
||||||
'document/add': (doc: any) => VoidReturn
|
'document/add': (doc: any) => VoidReturn
|
||||||
'document/set': <T extends keyof DocType>(
|
'document/set': <T extends keyof DocType>(
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@hydrooj/ui-default",
|
"name": "@hydrooj/ui-default",
|
||||||
"version": "4.9.1",
|
"version": "4.9.2",
|
||||||
"author": "undefined <i@undefined.moe>",
|
"author": "undefined <i@undefined.moe>",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "hydro.js",
|
"main": "hydro.js",
|
||||||
|
|||||||
Reference in new issue
Block a user