Forráskód Böngészése

管理用户删除修改

lrf 3 éve
szülő
commit
484f9c0cc8
1 módosított fájl, 20 hozzáadás és 14 törlés
  1. 20 14
      app/service/users/admin.js

+ 20 - 14
app/service/users/admin.js

@@ -5,7 +5,6 @@ const { ObjectId } = require('mongoose').Types;
 const _ = require('lodash');
 const jwt = require('jsonwebtoken');
 
-
 // 管理员
 class AdminService extends CrudService {
   constructor(ctx) {
@@ -20,8 +19,8 @@ class AdminService extends CrudService {
     let data = await this.model.find(query).skip(parseInt(skip)).limit(parseInt(limit));
     if (data.length > 0) data = JSON.parse(JSON.stringify(data));
     const menus = await this.ctx.model.Menu.find();
-    data = data.map(i => {
-      const um = menus.filter(f => i.menus.find(mf => ObjectId(mf).equals(f._id)));
+    data = data.map((i) => {
+      const um = menus.filter((f) => i.menus.find((mf) => ObjectId(mf).equals(f._id)));
       i.menus = um;
       return i;
     });
@@ -32,7 +31,7 @@ class AdminService extends CrudService {
     let object = await this.model.findById(id);
     if (!object) throw new BusinessError(ErrorCode.DATA_NOT_EXIST, '未找到用户的信息');
     object = JSON.parse(JSON.stringify(object));
-    const menus = await this.ctx.model.Menu.find({ _id: object.menus.map(i => ObjectId(i)) }).sort({ sort: 1 });
+    const menus = await this.ctx.model.Menu.find({ _id: object.menus.map((i) => ObjectId(i)) }).sort({ sort: 1 });
     object.menus = menus;
     return object;
   }
@@ -55,13 +54,21 @@ class AdminService extends CrudService {
       throw new BusinessError(ErrorCode.DATA_NOT_EXIST, '未找到上级的信息');
     }
     const res = await this.model.create(data);
-    // const icdata = { user_id: res._id, code, user_name: res.name };
-    // try {
-    //   const res = await this.inviteCode.create(icdata);
-    // } catch (error) {
-    //   await this.model.deleteOne({ _id: res._id });
-    //   throw new BusinessError(ErrorCode.DATABASE_FAULT, '该邀请码已被使用,请重新更换邀请码');
-    // }
+    const icdata = { user_id: res._id, code, user_name: res.name };
+    try {
+      const res = await this.inviteCode.create(icdata);
+    } catch (error) {
+      await this.model.deleteOne({ _id: res._id });
+      throw new BusinessError(ErrorCode.DATABASE_FAULT, '该邀请码已被使用,请重新更换邀请码');
+    }
+    return res;
+  }
+  async delete({ id }) {
+    const data = await this.model.findOne({ _id: ObjectId(id) });
+    if (!data) throw new BusinessError(ErrorCode.DATA_NOT_EXIST, '未找到数据');
+    const { code } = data;
+    const res = await this.model.deleteOne({ _id: ObjectId(id) });
+    await this.inviteCode.deleteOne({ code });
     return res;
   }
   /**
@@ -86,14 +93,13 @@ class AdminService extends CrudService {
     const { passwd: op } = object;
     const { secret } = op;
     if (secret !== passwd) throw new BusinessError(ErrorCode.BAD_PASSWORD, '密码错误');
-    const data = _.omit(JSON.parse(JSON.stringify(object)), [ 'meta', 'passwd', '__v' ]);
+    const data = _.omit(JSON.parse(JSON.stringify(object)), ['meta', 'passwd', '__v']);
     const { secret: secrets } = this.config.jwt;
-    const menus = await this.ctx.model.Menu.find({ _id: object.menus.map(i => ObjectId(i)) }).sort({ sort: 1 });
+    const menus = await this.ctx.model.Menu.find({ _id: object.menus.map((i) => ObjectId(i)) }).sort({ sort: 1 });
     data.menus = menus;
     const token = jwt.sign(data, secrets);
     return token;
   }
-
 }
 
 module.exports = AdminService;