2025-04-21 12:32:45 -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';
|
|
|
|
|
import { Administrador } from './administrador.entity';
|
|
|
|
|
import { CreateAdministradorDto } from './dto/create-administrador.dto';
|
|
|
|
|
import { UpdateAdministradorDto } from './dto/update.administrador.dto';
|
2025-04-21 12:32:45 -06:00
|
|
|
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')
|
2025-04-21 12:32:45 -06:00
|
|
|
@ApiBearerAuth()
|
|
|
|
|
@AdministradorApiDocumentation.ApiController
|
2025-04-01 15:07:11 -06:00
|
|
|
export class AdministradorController {
|
|
|
|
|
|
|
|
|
|
constructor(private administradorService: AdministradorService) {}
|
|
|
|
|
|
|
|
|
|
@Get()
|
2025-04-21 12:32:45 -06:00
|
|
|
@UseGuards(JwtAuthGuard)
|
|
|
|
|
@AdministradorApiDocumentation.ApiGetAll
|
2025-04-01 15:07:11 -06:00
|
|
|
getAdministradores(): Promise<Administrador[]> {
|
|
|
|
|
return this.administradorService.getAdministradores();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Get(':id')
|
2025-04-21 12:32:45 -06:00
|
|
|
@UseGuards(JwtAuthGuard)
|
|
|
|
|
@AdministradorApiDocumentation.ApiGetOne
|
2025-04-01 15:07:11 -06:00
|
|
|
getAdministrador(@Param('id', ParseIntPipe) id: number) {
|
2025-04-21 12:32:45 -06:00
|
|
|
return this.administradorService.getAdministrador(id);
|
2025-04-01 15:07:11 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Post()
|
2025-04-21 12:32:45 -06:00
|
|
|
@AdministradorApiDocumentation.ApiCreate
|
2025-04-01 15:07:11 -06:00
|
|
|
createAdministrador(@Body() newAdministrador: CreateAdministradorDto) {
|
2025-04-21 12:32:45 -06:00
|
|
|
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')
|
2025-04-21 12:32:45 -06:00
|
|
|
@UseGuards(JwtAuthGuard)
|
|
|
|
|
@AdministradorApiDocumentation.ApiRemove
|
2025-04-01 15:07:11 -06:00
|
|
|
deleteAdministrador(@Param('id', ParseIntPipe) id: number) {
|
2025-04-21 12:32:45 -06:00
|
|
|
return this.administradorService.deleteAdministrador(id);
|
2025-04-01 15:07:11 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Patch(':id')
|
2025-04-21 12:32:45 -06:00
|
|
|
@UseGuards(JwtAuthGuard)
|
|
|
|
|
@AdministradorApiDocumentation.ApiUpdate
|
2025-04-01 15:07:11 -06:00
|
|
|
updateAdministrador(@Param('id', ParseIntPipe) id: number, @Body() administrador: UpdateAdministradorDto) {
|
2025-04-21 12:32:45 -06:00
|
|
|
return this.administradorService.updateAdministrador(id, administrador);
|
2025-04-01 15:07:11 -06:00
|
|
|
}
|
|
|
|
|
}
|