diff --git a/catalogos.sql b/catalogos.sql index 1cb6a92..97139de 100644 --- a/catalogos.sql +++ b/catalogos.sql @@ -1,8 +1,8 @@ INSERT INTO institucion (institucion, logo) VALUES ("FES Acatlán", "url"); INSERT INTO institucion (institucion, logo) VALUES ("Facultad de Arquitectura", "url"); -INSERT INTO carrera (carrera, id_institucion) VALUES ("Matemáticas Aplicadas y Computación", 2); -INSERT INTO carrera (carrera, id_institucion) VALUES ("Arquitectura", 1); +INSERT INTO carrera (carrera, id_institucion) VALUES ("Matemáticas Aplicadas y Computación", 1); +INSERT INTO carrera (carrera, id_institucion) VALUES ("Arquitectura", 2); INSERT INTO status (status) VALUES ("Activo"); INSERT INTO status (status) VALUES ("Apartado"); diff --git a/src/auth/auth.service.ts b/src/auth/auth.service.ts index c6ae626..11ce4fa 100644 --- a/src/auth/auth.service.ts +++ b/src/auth/auth.service.ts @@ -26,10 +26,15 @@ export class AuthService { return this.usuarioService.findByUsuario(usuario).then((usuario) => { if (!this.bcryptService.comparar(password, usuario.password)) throw new UnauthorizedException( - 'Usuario y/o contraseña incorrectos, trata de nuevo.', + 'Usuario y/o password incorrectos, trata de nuevo.', ); - /* Crear JWT y regresarlo */ - return usuario; + + const payload: JwtPayload = { + id_usuario: usuario.id_usuario, + id_tipo_usuario: usuario.tipoUsuario.id_tipo_usuario, + }; + + return { usuario, token: this.jwtService.sign(payload) }; }); } @@ -46,7 +51,7 @@ export class AuthService { .then((operador) => { if (!this.bcryptService.comparar(password, operador.password)) throw new UnauthorizedException( - 'Usuario y/o contraseña incorrectos, trata de nuevo.', + 'Usuario y/o password incorrectos, trata de nuevo.', ); if (!operador.activo) throw new UnauthorizedException( diff --git a/src/usuario/dto/usuario.dto.ts b/src/usuario/dto/usuario.dto.ts index 97940e5..193e7f3 100644 --- a/src/usuario/dto/usuario.dto.ts +++ b/src/usuario/dto/usuario.dto.ts @@ -2,5 +2,5 @@ import { IsNumberString } from 'class-validator'; export class UsuarioDto { @IsNumberString() - usuario: string; + id_usuario: string; } diff --git a/src/usuario/entity/usuario.entity.ts b/src/usuario/entity/usuario.entity.ts index f158a1c..228588f 100644 --- a/src/usuario/entity/usuario.entity.ts +++ b/src/usuario/entity/usuario.entity.ts @@ -22,10 +22,10 @@ export class Usuario { @Column({ type: Boolean, nullable: false, default: false }) multa: boolean; - @Column({ type: String, nullable: false, length: 60 }) + @Column({ type: String, nullable: true, length: 60 }) password: string; - @Column({ type: String, nullable: false, length: 10 }) + @Column({ type: String, nullable: true, length: 10 }) telefono: string; @Column({ type: String, nullable: false, length: 10 }) @@ -39,7 +39,9 @@ export class Usuario { @JoinColumn({ name: 'id_institucion' }) institucion: Institucion; - @ManyToOne(() => TipoUsuario, (tipoUsuario) => tipoUsuario.usuarios) + @ManyToOne(() => TipoUsuario, (tipoUsuario) => tipoUsuario.usuarios, { + eager: true, + }) @JoinColumn({ name: 'id_tipo_usuario' }) tipoUsuario: TipoUsuario; diff --git a/src/usuario/usuario.controller.ts b/src/usuario/usuario.controller.ts index a1448dc..4c04288 100644 --- a/src/usuario/usuario.controller.ts +++ b/src/usuario/usuario.controller.ts @@ -26,7 +26,7 @@ export class UsuarioController { @Get('usuario') usuario(@Query() query: UsuarioDto) { - return this.usuarioService.findByUsuario(query.usuario); + return this.usuarioService.findById(Number(query.id_usuario)); } @Get('usuarios') diff --git a/src/usuario/usuario.service.ts b/src/usuario/usuario.service.ts index d2158e7..4077312 100644 --- a/src/usuario/usuario.service.ts +++ b/src/usuario/usuario.service.ts @@ -54,6 +54,7 @@ export class UsuarioService { if (tipoUsuario) busqueda.tipoUsuario = tipoUsuario; // if (carrera) busqueda.carrera = carrera; /* falta página */ + console.log(busqueda); return this.repository.find(busqueda); }