fixed orderBy and added roles

This commit is contained in:
2026-03-17 12:07:26 -05:00
3 changed files with 53 additions and 5 deletions
+2 -2
View File
@@ -51,7 +51,7 @@ export class EquipoService {
.innerJoin('equipo.plataforma', 'p')
.innerJoin('equipo.areaUbicacion', 'a')
.where('equipo.activo = 1')
.orderBy('equipo.ubicacion', 'ASC')
.orderBy('equipo.ubicacion + 0', 'ASC')
.getRawMany();
}
@@ -108,7 +108,7 @@ export class EquipoService {
return `equipo.id_equipo NOT IN ${subQuery}`;
})
.orderBy('equipo.ubicacion', 'ASC')
.orderBy('equipo.ubicacion + 0', 'ASC')
.getMany();
+19
View File
@@ -6,6 +6,8 @@ import {
UseGuards,
Res,
Req,
Param,
Patch,
} from '@nestjs/common';
import type { Response } from 'express';
import { UserService } from './user.service';
@@ -19,7 +21,15 @@ import { Role } from 'src/role.enum';
export class UserController {
constructor(private readonly userService: UserService) { }
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
@Get('/switch/:id')
async getactive(@Param('id') id: number) {
return this.userService.getactive(id);
}
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
@Get()
async getAll() {
return this.userService.getAll();
@@ -32,6 +42,13 @@ export class UserController {
return this.userService.getAllPerfil();
}
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
@Patch(':id/activo')
toggleActivo(@Param('id') id: number) {
return this.userService.toggleActivo(id);
}
@Post()
async Login(@Body() data: Login, @Res() res: Response) {
return this.userService.Login(data, res);
@@ -44,7 +61,9 @@ export class UserController {
}
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
@Post('/create')
async createUser(@Body() data: CreateUserDto) {
return this.userService.create(data);
+32 -3
View File
@@ -19,7 +19,36 @@ export class UserService {
@InjectRepository(Perfil)
private perfilRepository: Repository<Perfil>,
private jwtService: JwtService,
) {}
) { }
async toggleActivo(id: number) {
const usuario = await this.userRepository.findOne({
where: { id_usuario: id }
});
if (!usuario) {
throw new NotFoundException("no se encontro usuario")
}
usuario.activo = usuario.activo === 1 ? 0 : 1;
return this.userRepository.save(usuario);
}
async getactive(id: number) {
const user = await this.userRepository.findOne({
where: { id_usuario: id },
});
if (!user) {
throw new NotFoundException('Usuario no encontrado');
}
user.activo = user.activo === 1 ? 0 : 1;
return this.userRepository.save(user);
}
async findOneByNameandPassword(data: Login): Promise<User> {
const { usuario, password } = data;
@@ -28,7 +57,7 @@ export class UserService {
where: { usuario, password },
});
if(user?.activo === 0){
if (user?.activo === 0) {
throw new NotFoundException(`El usuario se encuentra desactivado`);
}
@@ -115,7 +144,7 @@ export class UserService {
}
async getAll() {
return this.userRepository.find();
return this.userRepository.find({select:['id_usuario','nombre','usuario','perfil','activo','password']});
}
async getAllPerfil() {