diff --git a/src/controllers/StrategyController.ts b/src/controllers/StrategyController.ts index f0d781f..b4a03db 100644 --- a/src/controllers/StrategyController.ts +++ b/src/controllers/StrategyController.ts @@ -20,6 +20,55 @@ export class StrategyController extends Controller { private strategy3Repo = AppDataSource.getRepository(StrategyChild3); private strategy4Repo = AppDataSource.getRepository(StrategyChild4); private strategy5Repo = AppDataSource.getRepository(StrategyChild5); + + @Get("indicator") + public async listStrategyChild(@Request() request: RequestWithUser) { + let _data = await new permission().PermissionList(request, "SYS_EVA_INDICATOR"); + const listStrategyChild1 = await this.strategy1Repo.find({ + relations: [ + "strategyChild2s", + "strategyChild2s.strategyChild3s", + "strategyChild2s.strategyChild3s.strategyChild4s", + "strategyChild2s.strategyChild3s.strategyChild4s.strategyChild5s", + ], + order: { createdAt: "ASC" }, + }); + + const formattedData = listStrategyChild1.map((item) => ({ + id: item.id, + level: 1, + name: item.strategyChild1Name, + children: item.strategyChild2s.map((child2) => ({ + id: child2.id, + level: 2, + name: child2.strategyChild2Name, + children: child2.strategyChild3s + ? child2.strategyChild3s.map((child3) => ({ + id: child3.id, + level: 3, + name: child3.strategyChild3Name, + children: child3.strategyChild4s + ? child3.strategyChild4s.map((child4) => ({ + id: child4.id, + level: 4, + name: child4.strategyChild4Name, + children: child4.strategyChild5s + ? child4.strategyChild5s.map((child5) => ({ + id: child5.id, + level: 5, + name: child5.strategyChild5Name, + })) + : [], + })) + : [], + })) + : [], + })), + })); + + return new HttpSuccess(formattedData); + } + @Get("edit") public async listStrategyChild1Edit(@Request() request: RequestWithUser) { let _data = await new permission().PermissionList(request, "SYS_EVA_STRATIGIC"); @@ -71,6 +120,7 @@ export class StrategyController extends Controller { return new HttpSuccess(formattedData); } + @Get() public async listStrategyChild1(@Request() request: RequestWithUser) { const listStrategyChild1 = await this.strategy1Repo.find({