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

73 lines
2.6 KiB
TypeScript
Raw Normal View History

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';
import { Administrador } from './administrador.entity';
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';
import { ApiBearerAuth } from '@nestjs/swagger';
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { AdministradorApiDocumentation } from './administrador.documentation';
2025-04-01 15:07:11 -06:00
@Controller('administrador')
@ApiBearerAuth()
@AdministradorApiDocumentation.ApiController
2025-04-01 15:07:11 -06:00
export class AdministradorController {
constructor(private administradorService: AdministradorService) {}
@Get()
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiGetAll
2025-04-01 15:07:11 -06:00
getAdministradores(): Promise<Administrador[]> {
return this.administradorService.getAdministradores();
}
@Get(':id')
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiGetOne
2025-04-01 15:07:11 -06:00
getAdministrador(@Param('id', ParseIntPipe) id: number) {
return this.administradorService.getAdministrador(id);
2025-04-01 15:07:11 -06:00
}
@Post()
@AdministradorApiDocumentation.ApiCreate
2025-04-01 15:07:11 -06:00
createAdministrador(@Body() newAdministrador: CreateAdministradorDto) {
return this.administradorService.createAdministrador(newAdministrador);
}
@Post('login')
@AdministradorApiDocumentation.ApiLogin
login(@Body() loginData: LoginAdministradorDto) {
return this.administradorService.login(loginData.correo, loginData.password);
}
@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
}
@Delete(':id')
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiRemove
2025-04-01 15:07:11 -06:00
deleteAdministrador(@Param('id', ParseIntPipe) id: number) {
return this.administradorService.deleteAdministrador(id);
2025-04-01 15:07:11 -06:00
}
@Patch(':id')
@UseGuards(JwtAuthGuard)
@AdministradorApiDocumentation.ApiUpdate
2025-04-01 15:07:11 -06:00
updateAdministrador(@Param('id', ParseIntPipe) id: number, @Body() administrador: UpdateAdministradorDto) {
return this.administradorService.updateAdministrador(id, administrador);
2025-04-01 15:07:11 -06:00
}
}