import { Body, Controller, Get, Param, Patch, Post, UseGuards } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { Roles } from 'src/decorators/roles.decorator'; import { JwtAuthGuard } from 'src/guards/jwt-auth.guard'; import { RolesGuard } from 'src/guards/roles.guard'; import { UserMaintenanceService } from './user-maintenance.service'; import { CreateClientLoginsDTO, CreateSPLoginsDTO, CreateUSCIBLoginsDTO, EMAIL_DTO, GetCarnetDetailsbyCarnetStatusDTO, SPID_CLIENTID_DTO, SPID_DTO, SPID_EMAIL_DTO, USERID_DTO } from 'src/dto/property.dto'; @ApiTags('User Maintenance - PG') @UseGuards(JwtAuthGuard, RolesGuard) @Roles('pca', 'psa', 'pua') @Controller('2') export class UserMaintenanceController { constructor(private readonly userMaintenanceService: UserMaintenanceService) { } // SP_USER_DETAILS // [spclientuser_pkg] @Get('GetUserDetails/:P_USERID') async GetSPUserDetails(@Param() params: USERID_DTO) { return await this.userMaintenanceService.GetSPUserDetails(params); } // [userlogin_pkg] @Patch('LockUserAccount') async LockUserAccount(@Body() body: SPID_EMAIL_DTO) { return await this.userMaintenanceService.LockUserAccount(body); } // USCIB_LOGINS @Get('GetUSCIBLogins') @Roles('pua') async GetUSCIBLogins() { return await this.userMaintenanceService.GetUSCIBLogins(); } @Post('CreateUSCIBLogins') @Roles('pua') async CreateUSCIBLogins(@Body() body: CreateUSCIBLoginsDTO) { return await this.userMaintenanceService.CreateUSCIBLogins(body); } // SP LOGINS @Get('GetSPLogins/:P_SPID') @Roles('psa') async GetSPLogins(@Param() params: SPID_DTO) { return await this.userMaintenanceService.GetSPLogins(params); } @Post('CreateSPLogins') @Roles('psa') async CreateSPLogins(@Body() body: CreateSPLoginsDTO) { return await this.userMaintenanceService.CreateSPLogins(body); } // CLIENT LOGINS @Get('GetClientloginsBySPID/:P_SPID') @Roles('psa') async GetClientloginsBySPID(@Param() params: SPID_DTO) { return await this.userMaintenanceService.GetClientloginsBySPID(params); } @Get('GetClientloginsByClientID/:P_SPID/:P_CLIENTID') @Roles('psa') async GetClientloginsByClientID(@Param() params: SPID_CLIENTID_DTO) { return await this.userMaintenanceService.GetClientloginsByClientID(params); } @Post('CreateClientLogins') @Roles('psa') async CreateClientLogins(@Body() body: CreateClientLoginsDTO) { return await this.userMaintenanceService.CreateClientLogins(body); } // validate email @Get('ValidateEmail/:P_EMAILADDR') async ValidateEmail(@Param() params: EMAIL_DTO) { return await this.userMaintenanceService.ValidateEmail(params); } // get carnet summary data @Get('GetCarnetSummaryData/:P_USERID') GetCarnetSummaryData(@Param() params: USERID_DTO) { return this.userMaintenanceService.GetCarnetSummaryData(params); } }