Commit 2ba4adb5 authored by Diego Iván's avatar Diego Iván
Browse files

actualizando docs para crear un town

parent f3c2220c
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
import { ApiProperty } from '@nestjs/swagger';

export class CreateTownDto {
  @ApiProperty()
  name: string;

  @ApiProperty({
    type: String,
    description: 'Language content for Spanish (es)',
  })
  descriptionES: string;

  @ApiProperty({
    type: String,
    description: 'Language content for English (en)',
  })
  descriptionEN: string;
  imageName: string = 'default.jpg';
  @ApiProperty()
  state: number;
}
+11 −3
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ import { fileInterceptor } from 'src/shared/interceptors/file-save.interceptor';
import { CreateTownDto } from './dto/create-town.dto';
import { Roles } from 'src/auth/role.decorator';
import { SUPERADMIN_ROLES } from 'src/shared/enum/admin-role.enum';
import { CreateTownReqDto } from './dto/createTownReq.dto';
@Controller()
@ApiTags('Pueblos')
export class TownController {
@@ -13,19 +14,26 @@ export class TownController {

  @Roles(SUPERADMIN_ROLES)
  @ApiBearerAuth('jwt')
  @ApiBody({ type: CreateTownDto })
  @ApiBody({ type: CreateTownReqDto })
  @ApiConsumes('multipart/form-data')
  @Post('town')
  @UseInterceptors(fileInterceptor('image', 'static/towns/', ['.jpg', '.jpeg', '.png']))
  async create(@UploadedFile(new FileValidationPipe()) file, @Body() createTownDto: CreateTownDto) {
  async create(@UploadedFile(new FileValidationPipe()) file, @Body() createTownReqDto: CreateTownReqDto) {
    try {
      createTownDto.imageName = file.filename;
      const createTownDto: CreateTownDto = {
        name: createTownReqDto.name,
        imageName: file.filename,
        descriptionEN: createTownReqDto.descriptionEN,
        descriptionES: createTownReqDto.descriptionES,
        state: createTownReqDto.state,
      };
      await this.townService.create(createTownDto);
      return { message: 'Town created successfully' };
    } catch (error) {
      throw error;
    }
  }

  @ApiParam({ name: 'stateId', type: Number })
  @ApiQuery({ name: 'lang', type: String })
  @Get('state/:stateId/town')