UNPKG

7.12 kBSource Map (JSON)View Raw
1{"version":3,"sources":["service/role.service.ts"],"names":[],"mappings":"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","file":"role.service.js","sourcesContent":["import { Injectable, HttpException } from \"@nestjs/common\";\nimport { InjectRepository } from \"@nestjs/typeorm\";\nimport { Repository } from \"typeorm\";\nimport { Func } from \"../model/func.entity\";\nimport { Module } from \"../model/module.entity\";\nimport { Role } from \"../model/role.entity\";\n\n@Injectable()\nexport class RoleService {\n\n constructor(\n @InjectRepository(Func) private readonly funcRepository: Repository<Func>,\n @InjectRepository(Role) private readonly roleRepository: Repository<Role>,\n @InjectRepository(Module) private readonly moduleRepository: Repository<Module>\n ) {\n }\n\n async createRole(moduleToken: string, name: string, score: number): Promise<void> {\n const module: Module|undefined = await this.moduleRepository.findOne(moduleToken);\n if (!module) {\n throw new HttpException(`指定模块token=${moduleToken}不存在`, 415);\n }\n const exist: Role|undefined = await this.roleRepository.findOne({ name, moduleToken });\n if (exist) {\n throw new HttpException(`指定模块token=${moduleToken}下,指定名称name=${name}角色已经存在`, 420);\n }\n const role: Role = this.roleRepository.create({ name, score, module });\n try {\n await this.roleRepository.save(role);\n } catch (err) {\n throw new HttpException(`数据库错误:${err.toString()}`, 401);\n }\n }\n\n async updateRole(id: number, name: string, score: number): Promise<void> {\n const role: Role|undefined = await this.roleRepository.findOne(id);\n if (!role) {\n throw new HttpException(`指定id=${id}角色不存在`, 421);\n }\n if (name !== role.name) {\n const exist: Role|undefined = await this.roleRepository.findOne({ name, moduleToken: role.moduleToken });\n if (exist) {\n throw new HttpException(`指定模块token=${role.moduleToken}下,指定名称name=${name}角色已经存在`, 420);\n }\n }\n try {\n role.name = name;\n role.score = score;\n await this.roleRepository.save(role);\n } catch (err) {\n throw new HttpException(`数据库错误:${err.toString()}`, 401);\n }\n }\n\n async deleteRole(id: number): Promise<void> {\n const role: Role|undefined = await this.roleRepository.findOne(id);\n if (!role) {\n throw new HttpException(`指定id=${id}角色不存在`, 421);\n }\n try {\n await this.roleRepository.remove(role);\n } catch (err) {\n throw new HttpException(`数据库错误:${err.toString()}`, 401);\n }\n }\n\n async setFuncs(id: number, funcIds: Array<number>): Promise<void> {\n const role: Role|undefined = await this.roleRepository.findOne(id);\n if (!role) {\n throw new HttpException(`指定id=${id}角色不存在`, 421);\n }\n const funcs: Array<Func> = await this.funcRepository.findByIds(funcIds);\n funcIds.forEach(funcId => {\n const find: Func|undefined = funcs.find(func => {\n return func.id === funcId;\n });\n if (!find) {\n throw new HttpException(`指定id=${funcId}功能不存在`, 422);\n }\n if (find.moduleToken !== role.moduleToken) {\n throw new HttpException(\"指定角色、功能必须属于同一个模块\", 423);\n }\n });\n try {\n role.funcs = funcs;\n await this.roleRepository.save(role);\n } catch (err) {\n throw new HttpException(`数据库错误:${err.toString()}`, 401);\n }\n }\n\n}\n"]}
\No newline at end of file