|
|
@ -1,24 +1,28 @@
|
|
|
|
import Schema from 'schemastery';
|
|
|
|
import Schema from 'schemastery';
|
|
|
|
import { Context } from '../context';
|
|
|
|
import { Context } from '../context';
|
|
|
|
import { PRIV } from '../model/builtin';
|
|
|
|
import { PRIV } from '../model/builtin';
|
|
|
|
|
|
|
|
import TokenModel from '../model/token';
|
|
|
|
import user from '../model/user';
|
|
|
|
import user from '../model/user';
|
|
|
|
import db from '../service/db';
|
|
|
|
import db from '../service/db';
|
|
|
|
|
|
|
|
|
|
|
|
const collDocument = db.collection('document');
|
|
|
|
const collDocument = db.collection('document');
|
|
|
|
|
|
|
|
const collDocumentStatus = db.collection('document.status');
|
|
|
|
const collDomainUser = db.collection('domain.user');
|
|
|
|
const collDomainUser = db.collection('domain.user');
|
|
|
|
const collRecord = db.collection('record');
|
|
|
|
const collRecord = db.collection('record');
|
|
|
|
const collMessage = db.collection('message');
|
|
|
|
const collMessage = db.collection('message');
|
|
|
|
|
|
|
|
|
|
|
|
export const apply = (ctx: Context) => ctx.addScript(
|
|
|
|
export const apply = (ctx: Context) => ctx.addScript(
|
|
|
|
'deleteUser', 'Delete a user',
|
|
|
|
'cleanUserEffect', 'clear user effects',
|
|
|
|
Schema.object({
|
|
|
|
Schema.object({
|
|
|
|
uid: Schema.number(),
|
|
|
|
uid: Schema.number(),
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
async ({ uid }) => {
|
|
|
|
async ({ uid }) => {
|
|
|
|
await collDocument.deleteMany({ owner: uid });
|
|
|
|
await collDocument.deleteMany({ owner: uid });
|
|
|
|
|
|
|
|
await collDocumentStatus.deleteMany({ uid });
|
|
|
|
await collRecord.deleteMany({ uid });
|
|
|
|
await collRecord.deleteMany({ uid });
|
|
|
|
await collDomainUser.deleteMany({ uid });
|
|
|
|
await collDomainUser.deleteMany({ uid });
|
|
|
|
await collMessage.deleteMany({ $or: [{ from: uid }, { to: uid }] });
|
|
|
|
await collMessage.deleteMany({ $or: [{ from: uid }, { to: uid }] });
|
|
|
|
|
|
|
|
await TokenModel.delByUid(uid);
|
|
|
|
await user.setPriv(uid, PRIV.PRIV_NONE);
|
|
|
|
await user.setPriv(uid, PRIV.PRIV_NONE);
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
},
|
|
|
|
},
|
|
|
|