Cambios modul

This commit is contained in:
Drakthor475
2025-10-23 14:00:26 -06:00
parent 0da213decd
commit dd4f585dad
9 changed files with 62 additions and 51 deletions
-1
View File
@@ -30,7 +30,6 @@ import { AuthModule } from './auth/auth.module';
UsuariosModule,
MovimientoModule,
EquipoModule,
UsuariosModule,
AuthModule
],
controllers: [],
+3 -2
View File
@@ -2,7 +2,8 @@ import { Module } from '@nestjs/common';
import { AuthController } from './auth.controller';
import { AuthService } from './auth.service';
import { UsuariosModule } from 'src/usuarios/usuarios.module';
import { JwtModule } from '@nestjs/jwt';
import { JwtModule, JwtService } from '@nestjs/jwt';
import { UsuariosService } from 'src/usuarios/usuarios.service';
@@ -17,6 +18,6 @@ import { JwtModule } from '@nestjs/jwt';
}),
],
controllers: [AuthController],
providers: [AuthService]
providers: [AuthService,UsuariosService, JwtService]
})
export class AuthModule {}
+8 -2
View File
@@ -11,20 +11,24 @@ export class AuthService {
private readonly usuarioService:UsuariosService,
private readonly jwtService:JwtService
){}
//Pendiente
async registro({nombre, contraseña,tipoUsuario}: CreateUsuarioDto){
const usuario= await this.usuarioService.findOneByName(nombre)
if(usuario){
throw new BadRequestException("Nombre de usuario ya existente");
}
const hashedContraseña= await argon2.hash(contraseña) ;
await this.usuarioService.create({
nombre,
contraseña:hashedContraseña,
tipoUsuario
tipoUsuario,
});
return{
message:"Usuario registrado exitosamente " };
}
async login({nombre, contraseña}:LoginDto){
const usuario= await this.usuarioService.findOneByName(nombre)
if(!usuario){
@@ -39,7 +43,9 @@ export class AuthService {
const dataUser={
id:usuario.id_usuario,
nombre:usuario.nombre,
tipoUsuario:usuario.tipoUsuario.id_tipo_usuario}
tipoUsuario:usuario.tipoUsuario.id_tipo_usuario
}
const token=await this.jwtService.sign(dataUser)
return{
token:token,
+26 -23
View File
@@ -20,28 +20,10 @@ export class Equipo {
@Column({ length: 100, nullable: true })
serie: string;
@ManyToOne(() => Estado, (estado) => estado.equipo)
estado: Estado;
@ManyToOne(() => Adscripcion, (adscripcion) => adscripcion.equipo)
adscripcion: Adscripcion;
@Column({ length: 100, nullable: true })
lugar: string;
@ManyToOne(() => TipoEquipo, (tipoEquipo) => tipoEquipo.equipo)
tipoEquipo: TipoEquipo;
@ManyToOne(() => SistemaOperativo,(sistemaOperativo) => sistemaOperativo.equipo)
sistemaOperativo: SistemaOperativo;
@ManyToOne(() => Procesador, (procesador) => procesador.equipo)
procesador: Procesador;
@ManyToOne(() => Uso, (tipoUso) => tipoUso.equipo)
tipoUso: Uso;
@Column({ name: 'fecha_factura' })
fechaFactura: Date;
@@ -50,15 +32,36 @@ export class Equipo {
@Column({ length: 100, nullable: true })
modelo: string;
//Relaciones
@OneToMany(()=>Movimiento, mov => mov.equipo)
mov:Movimiento[]
@ManyToOne(() => Marca, (marca) => marca.equipo)
@ManyToOne(() => Estado, estado => estado.equipo)
estado: Estado;
@ManyToOne(() => Adscripcion, (adscripcion) => adscripcion.equipo)
adscripcion: Adscripcion;
@ManyToOne(() => TipoEquipo, tipoEquipo => tipoEquipo.equipo)
tipoEquipo: TipoEquipo;
@ManyToOne(() => SistemaOperativo, sistemaOperativo => sistemaOperativo.equipo)
sistemaOperativo: SistemaOperativo;
@ManyToOne(() => Procesador, procesador => procesador.equipo)
procesador: Procesador;
@ManyToOne(() => Uso, tipoUso => tipoUso.equipo)
tipoUso: Uso;
@ManyToOne(() => Marca, marca => marca.equipo)
marca: Marca;
@OneToMany(() => Equipo, (equipo) => equipo.marca)
@OneToMany(() => Equipo, equipo => equipo.marca)
equipo: Equipo[];
@OneToMany(() => Movimiento, (mov) => mov.equipo)
movimientos: Movimiento[];
-3
View File
@@ -96,8 +96,6 @@ export class EquipoService {
marca: equipoNuevo.id_marca ? { id_marca: equipoNuevo.id_marca } : undefined,
};
const equipoUpdate=await this.equipoRepository.preload(updateData);
if(!equipoUpdate){
@@ -106,7 +104,6 @@ export class EquipoService {
}
return await this.equipoRepository.save(equipoUpdate);
}
}
+5 -4
View File
@@ -1,3 +1,4 @@
import { Equipo } from 'src/equipo/entities/equipo.entity';
import { Usuario } from 'src/usuarios/entities/usuario.entity';
import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from 'typeorm';
@@ -6,11 +7,11 @@ export class Movimiento {
@PrimaryGeneratedColumn()
id_movimiento: number;
@ManyToOne(() => Movimiento, (id_usuario) => id_usuario.id_usuario)
id_usuario: Movimiento;
@ManyToOne(() => Usuario, user => user.movimiento)
user: Usuario;
@ManyToOne(() => Movimiento, (id_equipo) => id_equipo.id_equipo)
id_equipo: Movimiento;
@ManyToOne(() => Equipo, equipo=> equipo.mov)
equipo: Equipo;
@Column({ name: 'fecha_movimiento' })
fechaMovimiento: Date;
+3 -1
View File
@@ -31,7 +31,7 @@ export class MovimientoService {
if (!usuario || !equipo) {
throw new Error('Usuario o equipo no encontrado');
}
/*
const movimiento = this.movimientoRepo.create({
usuario,
equipo,
@@ -40,4 +40,6 @@ export class MovimientoService {
return await this.movimientoRepo.save(movimiento);
}
*/
}
}
+13 -12
View File
@@ -1,7 +1,19 @@
import { Movimiento } from 'src/movimiento/entities/movimiento.entity';
import {Column, Entity, ManyToOne, OneToMany, PrimaryGeneratedColumn} from 'typeorm';
import { Movimiento } from 'src/movimiento/entities/movimiento.entity';
@Entity()
export class Tipo_Usuario {
@PrimaryGeneratedColumn()
id_tipo_usuario: number;
@Column({length:50, nullable:true})
tipo_usuario:string
@OneToMany(() => Usuario, (usuarios) => usuarios.tipoUsuario)
usuarios: Usuario[];
}
@Entity()
export class Usuario {
@@ -23,14 +35,3 @@ export class Usuario {
}
@Entity()
export class Tipo_Usuario {
@PrimaryGeneratedColumn()
id_tipo_usuario: number;
@Column({length:50, nullable:true})
tipo_usuario:string
@OneToMany(() => Usuario, (usuarios) => usuarios.tipoUsuario)
usuarios: Usuario[];
}
+4 -3
View File
@@ -22,13 +22,14 @@ export class UsuariosService {
return await this.usuarioRepository.save(user);
}
async findOneByName(nombre: string) {
return await this.usuarioRepository.findOne({where:{nombre}});
}
async remove(id:number) {
return await this.usuarioRepository.delete(id);
}
async findOneByName(nombre: string) {
return await this.usuarioRepository.findOne({where:{nombre}});
}
findAll() {