'use strict'; const { CrudService } = require('naf-framework-mongoose-free/lib/service'); const { BusinessError, ErrorCode } = require('naf-core').Error; const _ = require('lodash'); const assert = require('assert'); const { ObjectId } = require('mongoose').Types; // class RoleService extends CrudService { constructor(ctx) { super(ctx, 'role'); this.model = this.ctx.model.Dev.Role; } // async afterUpdate(filter, body, data) { // try { // const { _id } = data; // // 更新redis的角色信息 // const keys = await this.app.redis.keys('user:*'); // for (const key of keys) { // let ui = await this.app.redis.get(key); // if (!ui) continue; // ui = JSON.parse(ui); // if (!ObjectId(ui.role._id).equals(_id)) continue; // const arr = key.split(':'); // const user_id = _.last(arr); // const { populate } = this.ctx.service.system.user.getRefMods(); // const user = await this.ctx.model.System.User.findById(user_id).populate(populate); // if (!user) continue; // await this.ctx.service.system.user.setUserInRedis(user); // } // } catch (error) { // console.log('更新redis角色信息失败'); // console.log(error); // } // return data; // } } module.exports = RoleService;