import { Controller, Get, Inject, Req, UseGuards } from '@nestjs/common'; import { Request } from 'express'; import { JwtAuthGuard } from 'src/module/auth/guards/jwt.guard'; import { UserService } from 'src/module/user/service/user.service'; import { OrganizationService } from '../service/organization.service'; @Controller('organization') export class OrganizationController { constructor( private readonly orgService: OrganizationService, @Inject('UserService') private readonly userService: UserService, ) {} @UseGuards(JwtAuthGuard) @Get('dropdown') async getOrganizationDropdown(@Req() req: Request & { user: any }) { const userData = req.user.userData; // const userData = await this.userService.getEntityData(ENTITYTYPE_USER, userId); // const enterpriseId = req.user['enterpriseId']; // or adapt based on your user structure return this.orgService.findById(userData?.organization_id); } @UseGuards(JwtAuthGuard) @Get('hierarchy') async getOrganizationHierarchy(@Req() req: Request & { user: any }) { const userId = req.user.userData?.id; const appcode = req.user.userData?.appcode; const org_id = req.user.userData?.organization_id; return await this.orgService.getOrganizationHierarchy( userId, appcode, org_id, ); } }