core: problem/before-edit: add unset param

This commit is contained in:
undefined committed 2025-06-11 11:44:50 +08:00
1 parent 7968a10d49
commit 1a1cff6e8e
3 files changed
+7 -6

No files matched your search

+3 -2
View File
@@ -231,14 +231,15 @@ export class ProblemModel {
static async edit(domainId: string, _id: number, $set: Partial<ProblemDoc>): Promise<ProblemDoc> {
const delpid = $set.pid === '';
const ddoc = await DomainModel.get(domainId);
const $unset = delpid ? { pid: '' } : {};
if (delpid) {
delete $set.pid;
$set.sort = sortable(`P${_id}`, ddoc.namespaces);
} else if ($set.pid) {
$set.sort = sortable($set.pid, ddoc.namespaces);
}
await bus.parallel('problem/before-edit', $set);
const result = await document.set(domainId, document.TYPE_PROBLEM, _id, $set, delpid ? { pid: '' } : undefined);
await bus.parallel('problem/before-edit', $set, $unset);
const result = await document.set(domainId, document.TYPE_PROBLEM, _id, $set, $unset);
await bus.emit('problem/edit', result);
return result;
}