BE/src/pg/user-maintenance/user-maintenance.controller.ts
2025-09-24 14:30:26 +05:30

95 lines
3.0 KiB
TypeScript

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);
}
}