Files
formularios_api/src/administrador/administrador.controller.ts
T

88 lines
2.6 KiB
TypeScript
Raw Normal View History

2025-06-13 22:41:20 -06:00
import {
Body,
Controller,
Delete,
Get,
Param,
ParseIntPipe,
Patch,
Post,
UseGuards,
} from '@nestjs/common';
2025-04-01 15:07:11 -06:00
import { AdministradorService } from './administrador.service';
2025-06-13 22:41:20 -06:00
import { Administrador } from './entities/administrador.entity';
2025-04-01 15:07:11 -06:00
import { CreateAdministradorDto } from './dto/create-administrador.dto';
import { UpdateAdministradorDto } from './dto/update.administrador.dto';
import { LoginAdministradorDto } from './dto/login-administrador.dto';
import { ChangePasswordDto } from './dto/change-password.dto';
2025-06-13 22:41:20 -06:00
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { AdministradorApiDocumentation } from './administrador.documentation';
2025-04-01 15:07:11 -06:00
@AdministradorApiDocumentation.ApiController
2025-06-13 22:41:20 -06:00
@ApiBearerAuth()
@Controller('administrador')
2025-04-01 15:07:11 -06:00
export class AdministradorController {
2025-06-13 22:41:20 -06:00
constructor(private administradorService: AdministradorService) {}
2025-04-01 15:07:11 -06:00
2025-06-13 22:41:20 -06:00
@Get()
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiGetAll
getAdministradores(): Promise<Administrador[]> {
return this.administradorService.getAdministradores();
}
2025-04-01 15:07:11 -06:00
2025-06-13 22:41:20 -06:00
@Get(':id')
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiGetOne
getAdministrador(@Param('id', ParseIntPipe) id: number) {
return this.administradorService.getAdministrador(id);
}
2025-04-01 15:07:11 -06:00
2025-06-13 22:41:20 -06:00
@Post()
@AdministradorApiDocumentation.ApiCreate
createAdministrador(@Body() newAdministrador: CreateAdministradorDto) {
return this.administradorService.createAdministrador(newAdministrador);
}
2025-06-13 22:41:20 -06:00
@Post('login')
@AdministradorApiDocumentation.ApiLogin
login(@Body() loginData: LoginAdministradorDto) {
return this.administradorService.login(
loginData.correo,
loginData.password,
);
}
2025-06-13 22:41:20 -06:00
@Patch(':id/change-password')
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiChangePassword
changePassword(
@Param('id', ParseIntPipe) id: number,
@Body() changePasswordDto: ChangePasswordDto,
) {
return this.administradorService.changePassword(
id,
changePasswordDto.currentPassword,
changePasswordDto.newPassword,
);
}
2025-04-01 15:07:11 -06:00
2025-06-13 22:41:20 -06:00
@Delete(':id')
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiRemove
deleteAdministrador(@Param('id', ParseIntPipe) id: number) {
return this.administradorService.deleteAdministrador(id);
}
2025-04-01 15:07:11 -06:00
2025-06-13 22:41:20 -06:00
@Patch(':id')
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiUpdate
updateAdministrador(
@Param('id', ParseIntPipe) id: number,
@Body() administrador: UpdateAdministradorDto,
) {
return this.administradorService.updateAdministrador(id, administrador);
}
2025-04-01 15:07:11 -06:00
}