feat(37需求): 注销账号

This commit is contained in:
luying
2023-04-18 16:45:39 +08:00
parent 9ac643f6fb
commit 1c18565c8d
7 changed files with 56 additions and 3 deletions
+14 -1
View File
@@ -355,8 +355,11 @@ export default class Role extends BaseModel {
@prop({ required: false })
hasComment: boolean;
@prop({ required: true, select: false })
closeTime: number;
public static async findAllByUid(uid: number, getters = false, virtuals = true) {
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine heads frames spines lv updatedAt createTime').lean({ getters, virtuals });
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine heads frames spines lv updatedAt createTime +closeTime').lean({ getters, virtuals });
return role;
}
@@ -858,6 +861,16 @@ export default class Role extends BaseModel {
let role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $set: { hasComment } }, { new: true }).select('-_id roleId hasComment').lean();
return role;
}
public static async closeAccount(roleId: string, closeTime: number) {
let role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $set: { closeTime } }, { new: true }).select('roleId +closeTime').lean();
return role;
}
public static async cancelCloseAccount(roleId: string, now: number) {
let role: RoleType = await RoleModel.findOneAndUpdate({ roleId, closeTime: { $gte: now } }, { $set: { closeTime: 0 } }, { new: true }).select('roleId +closeTime').lean();
return role;
}
}
export const RoleModel = getModelForClass(Role);