Se agregaron los perifericos
This commit is contained in:
@@ -5,7 +5,7 @@ import {
|
||||
InternalServerErrorException,
|
||||
} from '@nestjs/common';
|
||||
import { UsuariosService } from 'src/usuarios/usuarios.service';
|
||||
import * as argon2 from 'argon2';
|
||||
import * as bcrypt from 'bcryptjs';
|
||||
import { LoginDto } from './dto/login.dto';
|
||||
import { CreateUsuarioDto } from 'src/usuarios/dto/create-usuario.dto';
|
||||
import { JwtService } from '@nestjs/jwt';
|
||||
@@ -24,7 +24,8 @@ export class AuthService {
|
||||
}
|
||||
|
||||
try {
|
||||
const hashedContraseña = await argon2.hash(contraseña);
|
||||
const salt = await bcrypt.genSalt(10);
|
||||
const hashedContraseña = await bcrypt.hash(contraseña, salt);
|
||||
|
||||
await this.usuarioService.create({
|
||||
nombre,
|
||||
@@ -46,23 +47,25 @@ export class AuthService {
|
||||
throw new UnauthorizedException('Usuario no encontrado');
|
||||
}
|
||||
|
||||
const contraseñaValida = await argon2.verify(
|
||||
usuario.contraseña,
|
||||
const contraseñaValida = await bcrypt.compare(
|
||||
contraseña,
|
||||
usuario.contraseña,
|
||||
);
|
||||
|
||||
if (!contraseñaValida) {
|
||||
throw new UnauthorizedException('Contraseña invalida');
|
||||
throw new UnauthorizedException('Contraseña inválida');
|
||||
}
|
||||
|
||||
const dataUser = {
|
||||
id: usuario.id_usuario,
|
||||
nombre: usuario.nombre,
|
||||
tipoUsuario: usuario.tipoUsuario.id_tipo_usuario,
|
||||
};
|
||||
|
||||
const token = await this.jwtService.sign(dataUser);
|
||||
const token = this.jwtService.sign(dataUser);
|
||||
|
||||
return {
|
||||
token: token,
|
||||
token,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
import { IsString, IsOptional, IsDateString, IsInt } from 'class-validator';
|
||||
import {
|
||||
IsString,
|
||||
IsOptional,
|
||||
IsDateString,
|
||||
IsInt,
|
||||
IsNotEmpty,
|
||||
} from 'class-validator';
|
||||
|
||||
export class CreateEquipoDto {
|
||||
@IsString()
|
||||
@@ -39,4 +45,10 @@ export class CreateEquipoDto {
|
||||
|
||||
@IsInt()
|
||||
id_marca: number;
|
||||
|
||||
@IsInt()
|
||||
id_periferico: number;
|
||||
|
||||
@IsNotEmpty()
|
||||
isImpresora: Boolean;
|
||||
}
|
||||
|
||||
@@ -83,3 +83,15 @@ export class Procesador {
|
||||
@OneToMany(() => Equipo, (equipo) => equipo.procesador)
|
||||
equipo: Equipo[];
|
||||
}
|
||||
|
||||
@Entity()
|
||||
export class Periferico {
|
||||
@PrimaryGeneratedColumn()
|
||||
id_periferico: number;
|
||||
|
||||
@Column()
|
||||
periferico: string;
|
||||
|
||||
@OneToMany(() => Equipo, (equipo) => equipo.periferico)
|
||||
equipo: Equipo[];
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
Adscripcion,
|
||||
Estado,
|
||||
Marca,
|
||||
Periferico,
|
||||
Procesador,
|
||||
SistemaOperativo,
|
||||
TipoEquipo,
|
||||
@@ -75,4 +76,8 @@ export class Equipo {
|
||||
@JoinColumn({ name: 'id_marca' })
|
||||
@ManyToOne(() => Marca, (marca) => marca.equipo)
|
||||
marca: Marca;
|
||||
|
||||
@JoinColumn({ name: 'id_periferico' })
|
||||
@ManyToOne(() => Periferico, (Periferico) => Periferico.equipo)
|
||||
periferico: Periferico;
|
||||
}
|
||||
|
||||
@@ -60,11 +60,13 @@ export class EquipoController {
|
||||
findMarcas() {
|
||||
return this.equipoService.findAllMarcas();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@Get('estados')
|
||||
findEstados() {
|
||||
return this.equipoService.findAllEstados();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@Get('adscripciones')
|
||||
findAdscripciones() {
|
||||
@@ -85,4 +87,10 @@ export class EquipoController {
|
||||
findProcesadores() {
|
||||
return this.equipoService.findAllProcesadores();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@Get('perifericos')
|
||||
findPerifericos() {
|
||||
return this.equipoService.findAllPPerifericos();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,9 @@ export class EquipoService {
|
||||
|
||||
@InjectRepository(Procesador)
|
||||
private readonly procesadorRepo: Repository<Procesador>,
|
||||
|
||||
@InjectRepository(Equipo)
|
||||
private readonly perifericoRepo: Repository<Equipo>,
|
||||
) {}
|
||||
|
||||
async buscarEquipos(filtros: any, page: number = 1, limit: number = 10) {
|
||||
@@ -159,6 +162,7 @@ export class EquipoService {
|
||||
'sistemaOperativo',
|
||||
'procesador',
|
||||
'tipoUso',
|
||||
'periferico',
|
||||
],
|
||||
});
|
||||
|
||||
@@ -173,34 +177,6 @@ export class EquipoService {
|
||||
return { ...equipo, ...responsable };
|
||||
}
|
||||
|
||||
findAllUsos() {
|
||||
return this.usoRepo.find();
|
||||
}
|
||||
|
||||
findAllMarcas() {
|
||||
return this.marcaRepo.find();
|
||||
}
|
||||
|
||||
findAllEstados() {
|
||||
return this.estadoRepo.find();
|
||||
}
|
||||
|
||||
findAllAdscripciones() {
|
||||
return this.adscripcionRepo.find();
|
||||
}
|
||||
|
||||
findAllTiposEquipo() {
|
||||
return this.tipoEquipoRepo.find();
|
||||
}
|
||||
|
||||
findAllSistemasOperativos() {
|
||||
return this.sistemaOperativoRepo.find();
|
||||
}
|
||||
|
||||
findAllProcesadores() {
|
||||
return this.procesadorRepo.find();
|
||||
}
|
||||
|
||||
async searchResponsable(nombreAdscripcion: string) {
|
||||
const adscripcion = await this.adscripcionRepo.findOneBy({
|
||||
adscripcion: nombreAdscripcion,
|
||||
@@ -224,22 +200,73 @@ export class EquipoService {
|
||||
}
|
||||
|
||||
create(equipo: CreateEquipoDto) {
|
||||
const nuevoEquipo = this.equipoRepository.create({
|
||||
inventario: equipo.inventario,
|
||||
serie: equipo.serie,
|
||||
lugar: equipo.lugar,
|
||||
fechaFactura: equipo.fechaFactura,
|
||||
antiguedad: equipo.antiguedad,
|
||||
modelo: equipo.modelo,
|
||||
estado: { id_estado: equipo.id_estado },
|
||||
adscripcion: { id_adscripcion: equipo.id_adscripcion },
|
||||
tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo },
|
||||
sistemaOperativo: { id_sistema_operativo: equipo.id_sistema_operativo },
|
||||
procesador: { id_procesador: equipo.id_procesador },
|
||||
tipoUso: { id_tipo_uso: equipo.id_uso },
|
||||
marca: { id_marca: equipo.id_marca },
|
||||
});
|
||||
let nuevoEquipo;
|
||||
|
||||
if (equipo.isImpresora) {
|
||||
nuevoEquipo = this.equipoRepository.create({
|
||||
inventario: equipo.inventario,
|
||||
serie: equipo.serie,
|
||||
lugar: equipo.lugar,
|
||||
fechaFactura: equipo.fechaFactura,
|
||||
antiguedad: equipo.antiguedad,
|
||||
modelo: equipo.modelo,
|
||||
estado: { id_estado: equipo.id_estado },
|
||||
adscripcion: { id_adscripcion: equipo.id_adscripcion },
|
||||
tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo },
|
||||
tipoUso: { id_tipo_uso: equipo.id_uso },
|
||||
marca: { id_marca: equipo.id_marca },
|
||||
periferico: { id_periferico: equipo.id_periferico },
|
||||
});
|
||||
} else {
|
||||
nuevoEquipo = this.equipoRepository.create({
|
||||
inventario: equipo.inventario,
|
||||
serie: equipo.serie,
|
||||
lugar: equipo.lugar,
|
||||
fechaFactura: equipo.fechaFactura,
|
||||
antiguedad: equipo.antiguedad,
|
||||
modelo: equipo.modelo,
|
||||
estado: { id_estado: equipo.id_estado },
|
||||
adscripcion: { id_adscripcion: equipo.id_adscripcion },
|
||||
tipoEquipo: { id_tipo_de_equipo: equipo.id_tipo_equipo },
|
||||
sistemaOperativo: { id_sistema_operativo: equipo.id_sistema_operativo },
|
||||
tipoUso: { id_tipo_uso: equipo.id_uso },
|
||||
marca: { id_marca: equipo.id_marca },
|
||||
procesador: { id_procesador: equipo.id_procesador },
|
||||
});
|
||||
}
|
||||
|
||||
return this.equipoRepository.save(nuevoEquipo);
|
||||
}
|
||||
|
||||
async findAllUsos() {
|
||||
return await this.usoRepo.find();
|
||||
}
|
||||
|
||||
async findAllMarcas() {
|
||||
return await this.marcaRepo.find();
|
||||
}
|
||||
|
||||
async findAllEstados() {
|
||||
return await this.estadoRepo.find();
|
||||
}
|
||||
|
||||
async findAllAdscripciones() {
|
||||
return await this.adscripcionRepo.find();
|
||||
}
|
||||
|
||||
async findAllTiposEquipo() {
|
||||
return await this.tipoEquipoRepo.find();
|
||||
}
|
||||
|
||||
async findAllSistemasOperativos() {
|
||||
return await this.sistemaOperativoRepo.find();
|
||||
}
|
||||
|
||||
async findAllProcesadores() {
|
||||
return await this.procesadorRepo.find();
|
||||
}
|
||||
|
||||
async findAllPPerifericos() {
|
||||
return await this.perifericoRepo.find();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user