UNPKG

7.3 kBSource Map (JSON)View Raw
1{"version":3,"sources":["service/func.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2D;AAC3D,6CAAmD;AACnD,qCAAqC;AACrC,sDAA4C;AAC5C,0DAAgD;AAChD,kEAAwD;AAGxD,IAAa,WAAW,GAAxB;IAEI,YAC6C,cAAgC,EAC9B,gBAAoC,EAChC,oBAA4C;QAFlD,mBAAc,GAAd,cAAc,CAAkB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAoB;QAChC,yBAAoB,GAApB,oBAAoB,CAAwB;IAE/F,CAAC;IAEK,UAAU,CAAC,WAAmB,EAAE,IAAY;;YAC9C,MAAM,MAAM,GAAqB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClF,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,IAAI,sBAAa,CAAC,aAAa,WAAW,KAAK,EAAE,GAAG,CAAC,CAAC;aAC/D;YACD,MAAM,KAAK,GAAmB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACvF,IAAI,KAAK,EAAE;gBACP,MAAM,IAAI,sBAAa,CAAC,aAAa,WAAW,cAAc,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;aACpF;YACD,MAAM,IAAI,GAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,IAAI;gBACA,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,sBAAa,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;aAC1D;QACL,CAAC;KAAA;IAEK,UAAU,CAAC,EAAU,EAAE,IAAY;;YACrC,MAAM,IAAI,GAAmB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,IAAI,sBAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;aACnD;YACD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;gBACpB,MAAM,KAAK,GAAmB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACzG,IAAI,KAAK,EAAE;oBACP,MAAM,IAAI,sBAAa,CAAC,aAAa,IAAI,CAAC,WAAW,cAAc,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;iBACzF;gBACD,IAAI;oBACA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACxC;gBAAC,OAAO,GAAG,EAAE;oBACV,MAAM,IAAI,sBAAa,CAAC,SAAS,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;iBAC3D;aACJ;QACL,CAAC;KAAA;IAEK,UAAU,CAAC,EAAU;;YACvB,MAAM,IAAI,GAAmB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,IAAI,sBAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;aACnD;YACD,IAAI;gBACA,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,sBAAa,CAAC,SAAS,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;aAC3D;QACL,CAAC;KAAA;IAEK,cAAc,CAAC,EAAU,EAAE,aAA4B;;YACzD,MAAM,IAAI,GAAmB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAE,aAAa,CAAE,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,IAAI,sBAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;aACnD;YACD,MAAM,IAAI,GAAsB,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,CAAE,QAAQ,CAAE,EAAE,CAAC,CAAC;YAEtH,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACjC,MAAM,IAAI,GAAyB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAC/C,OAAO,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC;gBACnC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,EAAE;oBACP,MAAM,IAAI,sBAAa,CAAC,QAAQ,YAAY,OAAO,EAAE,GAAG,CAAC,CAAC;iBAC7D;gBACD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;oBACvC,MAAM,IAAI,sBAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;iBACpD;YACL,CAAC,CAAC,CAAC;YACH,IAAI;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,sBAAa,CAAC,SAAS,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;aAC3D;QACL,CAAC;KAAA;CACJ,CAAA;AAlFY,WAAW;IADvB,mBAAU,EAAE;IAIJ,WAAA,0BAAgB,CAAC,kBAAI,CAAC,CAAA;IACtB,WAAA,0BAAgB,CAAC,sBAAM,CAAC,CAAA;IACxB,WAAA,0BAAgB,CAAC,8BAAU,CAAC,CAAA;qCAF4B,oBAAU;QACN,oBAAU;QACF,oBAAU;GAL1E,WAAW,CAkFvB;AAlFY,kCAAW","file":"func.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 { Permission } from \"../model/permission.entity\";\n\n@Injectable()\nexport class FuncService {\n\n constructor(\n @InjectRepository(Func) private readonly funcRepository: Repository<Func>,\n @InjectRepository(Module) private readonly moduleRepository: Repository<Module>,\n @InjectRepository(Permission) private readonly permissionRepository: Repository<Permission>\n ) {\n }\n\n async createFunc(moduleToken: string, name: string): 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: Func|undefined = await this.funcRepository.findOne({ name, moduleToken });\n if (exist) {\n throw new HttpException(`指定模块token=${moduleToken}下,指定名称name=${name}功能已经存在`, 416);\n }\n const func: Func = this.funcRepository.create({ name, module });\n try {\n await this.funcRepository.save(func);\n } catch (err) {\n throw new HttpException(`数据库错误${err.toString()}`, 401);\n }\n }\n\n async updateFunc(id: number, name: string): Promise<void> {\n const func: Func|undefined = await this.funcRepository.findOne(id);\n if (!func) {\n throw new HttpException(`指定id=${id}功能不存在`, 417);\n }\n if (name !== func.name) {\n const exist: Func|undefined = await this.funcRepository.findOne({ name, moduleToken: func.moduleToken });\n if (exist) {\n throw new HttpException(`指定模块token=${func.moduleToken}下,指定名称name=${name}功能已经存在`, 416);\n }\n try {\n func.name = name;\n await this.funcRepository.save(func);\n } catch (err) {\n throw new HttpException(`数据库错误:${err.toString()}`, 401);\n }\n }\n }\n\n async deleteFunc(id: number): Promise<void> {\n const func: Func|undefined = await this.funcRepository.findOne(id);\n if (!func) {\n throw new HttpException(`指定id=${id}功能不存在`, 417);\n }\n try {\n await this.funcRepository.remove(func);\n } catch (err) {\n throw new HttpException(`数据库错误:${err.toString()}`, 401);\n }\n }\n\n async setPermissions(id: number, permissionIds: Array<number>): Promise<void> {\n const func: Func|undefined = await this.funcRepository.findOne(id, { relations: [ \"permissions\" ] });\n if (!func) {\n throw new HttpException(`指定id=${id}功能不存在`, 417);\n }\n const pers: Array<Permission> = await this.permissionRepository.findByIds(permissionIds, { relations: [ \"module\" ] });\n // 检查是否所有指定权限都存在\n permissionIds.forEach(permissionId => {\n const find: Permission|undefined = pers.find(per => {\n return per.id === permissionId;\n });\n if (!find) {\n throw new HttpException(`指定id=${permissionId}权限不存在`, 418);\n }\n if (find.moduleToken !== func.moduleToken) {\n throw new HttpException(\"指定功能、权限只能属于同一个模块\", 419);\n }\n });\n try {\n func.permissions = pers;\n await this.funcRepository.save(func);\n } catch (err) {\n throw new HttpException(`数据库错误:${err.toString()}`, 401);\n }\n }\n}\n"]}
\No newline at end of file