import { Body, Controller, Get, Param, Patch, Post, Put, Query, UseGuards } from '@nestjs/common'; import { ApiQuery, ApiTags } from '@nestjs/swagger'; import { ParamTableService } from './param-table.service'; import { ActivateOrInactivateParamRecordDTO, CreateParamRecordDTO, CreateTableRecordDTO, getParamValuesDTO, SPID_DTO, UpdateParamRecordDTO } from 'src/dto/property.dto'; import { Roles } from 'src/decorators/roles.decorator'; import { JwtAuthGuard } from 'src/guards/jwt-auth.guard'; import { RolesGuard } from 'src/guards/roles.guard'; @ApiTags('Param Table - PG') @UseGuards(JwtAuthGuard, RolesGuard) @Roles('psa', 'pua') @Controller('2') export class ParamTableController { constructor(private readonly paramTableService: ParamTableService) { } @Get('/GetParamValues') @Roles('pca', 'psa', 'pua') @ApiQuery({ name: 'P_SPID', required: false, type: Number, description: 'The ID of the parameter', }) @ApiQuery({ name: 'P_PARAMTYPE', required: false, type: String, description: 'The type of the parameter', }) getParamValues(@Query() body: getParamValuesDTO) { return this.paramTableService.GETPARAMVALUES(body); } @Get('/GetAllParamValues') @ApiQuery({ name: 'P_SPID', required: false, type: Number, description: 'The ID of the parameter', }) @ApiQuery({ name: 'P_PARAMTYPE', required: false, type: String, description: 'The type of the parameter', }) getAllParamValues(@Query() body: getParamValuesDTO) { return this.paramTableService.GETALLPARAMVALUES(body); } @Get('GetCountriesAndMessages/:P_SPID') @Roles('pca', 'psa', 'pua') GET_COUNTRIES_AND_MESSAGES(@Param() body: SPID_DTO) { return this.paramTableService.GET_COUNTRIES_AND_MESSAGES(body); } @Post('/CreateTableRecord') createTableRecord(@Body() body: CreateTableRecordDTO) { return this.paramTableService.CREATETABLERECORD(body); } @Post('/CreateParamRecord') createParamRecord(@Body() body: CreateParamRecordDTO) { return this.paramTableService.CREATEPARAMRECORD(body); } @Patch('/UpdateParamRecord') UpdateParamRecord(@Body() body: UpdateParamRecordDTO) { return this.paramTableService.UPDATEPARAMRECORD(body); } @Patch('/InActivateParamRecord') inActivateParamRecord(@Body() body: ActivateOrInactivateParamRecordDTO) { return this.paramTableService.INACTIVATEPARAMRECORD(body); } @Patch('/ReActivateParamRecord') reActivateParamRecord(@Body() body: ActivateOrInactivateParamRecordDTO) { return this.paramTableService.REACTIVATEPARAMRECORD(body); } }