import { Body, Controller, Get, Header, HttpCode, Logger, Post, Put, Query, UseGuards, } from '@nestjs/common'; import { AuthGuard } from '../auth/auth.guard'; import { DireccionService } from './direccion.service'; import { isUndefined } from '@nestjs/common/utils/shared.utils'; import { DireccionDTO } from '../dtos/direccionDTO'; import { Delete } from '@nestjs/common/decorators/http/request-mapping.decorator'; @Controller('direccion') export class DireccionController { constructor(private readonly direccionService: DireccionService) {} @UseGuards(AuthGuard) @Header('content-type', 'application/json') @Get('direccion') @HttpCode(200) getDireccion() { Logger.log('Direccion', 'getDireccion'); return this.direccionService.findDirecciones(); } @UseGuards(AuthGuard) @Header('content-type', 'application/json') @Get('direccionById') @HttpCode(200) getDireccionById(@Query('direccionId') direccionId: number) { Logger.log('Direccion', 'getDireccionById'); if (!isUndefined(direccionId)) { return this.direccionService.findDireccionById(direccionId); } } @UseGuards(AuthGuard) @Header('content-type', 'application/json') @Post('addDireccion') @HttpCode(200) setDireccion(@Body() direccion: DireccionDTO) { Logger.log('Direccion', 'setDireccion'); return this.direccionService.addDireccion(direccion); } @UseGuards(AuthGuard) @Header('content-type', 'application/json') @Put('updateDireccion') @HttpCode(200) updateDireccion(@Body() direccion: DireccionDTO) { Logger.log('Direccion', 'updateDireccion'); return this.direccionService.updateDireccion(direccion); } @UseGuards(AuthGuard) @Header('content-type', 'application/json') @Delete('deleteDireccion') @HttpCode(200) deleteDireccion(@Body() direccion: DireccionDTO) { Logger.log('Direccion', 'deleteDireccion'); return this.direccionService.deleteDireccion(direccion); } }