fixed orderBy and added roles
This commit is contained in:
@@ -51,7 +51,7 @@ export class EquipoService {
|
|||||||
.innerJoin('equipo.plataforma', 'p')
|
.innerJoin('equipo.plataforma', 'p')
|
||||||
.innerJoin('equipo.areaUbicacion', 'a')
|
.innerJoin('equipo.areaUbicacion', 'a')
|
||||||
.where('equipo.activo = 1')
|
.where('equipo.activo = 1')
|
||||||
.orderBy('equipo.ubicacion', 'ASC')
|
.orderBy('equipo.ubicacion + 0', 'ASC')
|
||||||
.getRawMany();
|
.getRawMany();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +108,7 @@ export class EquipoService {
|
|||||||
return `equipo.id_equipo NOT IN ${subQuery}`;
|
return `equipo.id_equipo NOT IN ${subQuery}`;
|
||||||
})
|
})
|
||||||
|
|
||||||
.orderBy('equipo.ubicacion', 'ASC')
|
.orderBy('equipo.ubicacion + 0', 'ASC')
|
||||||
|
|
||||||
.getMany();
|
.getMany();
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import {
|
|||||||
UseGuards,
|
UseGuards,
|
||||||
Res,
|
Res,
|
||||||
Req,
|
Req,
|
||||||
|
Param,
|
||||||
|
Patch,
|
||||||
} from '@nestjs/common';
|
} from '@nestjs/common';
|
||||||
import type { Response } from 'express';
|
import type { Response } from 'express';
|
||||||
import { UserService } from './user.service';
|
import { UserService } from './user.service';
|
||||||
@@ -19,7 +21,15 @@ import { Role } from 'src/role.enum';
|
|||||||
export class UserController {
|
export class UserController {
|
||||||
constructor(private readonly userService: UserService) { }
|
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()
|
@Get()
|
||||||
async getAll() {
|
async getAll() {
|
||||||
return this.userService.getAll();
|
return this.userService.getAll();
|
||||||
@@ -32,6 +42,13 @@ export class UserController {
|
|||||||
return this.userService.getAllPerfil();
|
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()
|
@Post()
|
||||||
async Login(@Body() data: Login, @Res() res: Response) {
|
async Login(@Body() data: Login, @Res() res: Response) {
|
||||||
return this.userService.Login(data, res);
|
return this.userService.Login(data, res);
|
||||||
@@ -44,7 +61,9 @@ export class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@UseGuards(JwtAuthGuard, RolesGuard)
|
@UseGuards(JwtAuthGuard, RolesGuard)
|
||||||
|
|
||||||
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
|
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
|
||||||
|
|
||||||
@Post('/create')
|
@Post('/create')
|
||||||
async createUser(@Body() data: CreateUserDto) {
|
async createUser(@Body() data: CreateUserDto) {
|
||||||
return this.userService.create(data);
|
return this.userService.create(data);
|
||||||
|
|||||||
@@ -19,7 +19,36 @@ export class UserService {
|
|||||||
@InjectRepository(Perfil)
|
@InjectRepository(Perfil)
|
||||||
private perfilRepository: Repository<Perfil>,
|
private perfilRepository: Repository<Perfil>,
|
||||||
private jwtService: JwtService,
|
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> {
|
async findOneByNameandPassword(data: Login): Promise<User> {
|
||||||
const { usuario, password } = data;
|
const { usuario, password } = data;
|
||||||
@@ -28,7 +57,7 @@ export class UserService {
|
|||||||
where: { usuario, password },
|
where: { usuario, password },
|
||||||
});
|
});
|
||||||
|
|
||||||
if(user?.activo === 0){
|
if (user?.activo === 0) {
|
||||||
throw new NotFoundException(`El usuario se encuentra desactivado`);
|
throw new NotFoundException(`El usuario se encuentra desactivado`);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,7 +144,7 @@ export class UserService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getAll() {
|
async getAll() {
|
||||||
return this.userRepository.find();
|
return this.userRepository.find({select:['id_usuario','nombre','usuario','perfil','activo','password']});
|
||||||
}
|
}
|
||||||
|
|
||||||
async getAllPerfil() {
|
async getAllPerfil() {
|
||||||
|
|||||||
Reference in New Issue
Block a user