From 6aba8b98f2361c29c49ad7cd197e77c024186445 Mon Sep 17 00:00:00 2001 From: TheManus88 Date: Mon, 17 Jun 2024 20:19:58 -0600 Subject: [PATCH] merge into lino and sam --- src/Profesor/entities/profesor.entity.ts | 62 +++++++++++++----- .../entities/adscripcion.entity.ts | 4 +- src/asignatura/entities/asignatura.entity.ts | 4 +- .../asignatura_carrera_profesor.entity.ts | 6 +- src/auth/auth.service.ts | 65 +++++++++---------- src/carrera/entities/carrera.entity.ts | 4 +- src/categoria/entities/categoria.entity.ts | 4 +- .../entities/datos_academicos.entity.ts | 5 +- src/edificio/entities/edificio.entity.ts | 4 +- .../entities/lineas_investigacion.entity.ts | 2 +- .../entities/proyectos_academicos.entity.ts | 2 +- .../entities/tipo_usuario.entity.ts | 5 +- src/users/entities/user.entity.ts | 2 +- src/users/users.service.ts | 29 +++++---- 14 files changed, 110 insertions(+), 88 deletions(-) diff --git a/src/Profesor/entities/profesor.entity.ts b/src/Profesor/entities/profesor.entity.ts index f05e763..260251c 100644 --- a/src/Profesor/entities/profesor.entity.ts +++ b/src/Profesor/entities/profesor.entity.ts @@ -1,11 +1,18 @@ -import { Entity, PrimaryColumn, Column, ManyToOne, OneToMany, JoinColumn } from 'typeorm'; -import { Edificio } from './edificio.entity'; -import { Adscripcion } from './adscripcion.entity'; -import { Categoria } from './categoria.entity'; -import { DatosAcademicos } from './datos_academicos.entity'; -import { LineasInvestigacion } from './lineas_investigacion.entity'; -import { ProyectosAcademicos } from './proyectos_academicos.entity'; -import { AsignaturaCarreraProfesor } from './asignatura_carrera_profesor.entity'; +import { + Entity, + PrimaryColumn, + Column, + ManyToOne, + OneToMany, + JoinColumn, +} from 'typeorm'; +import { Edificio } from '../../edificio/entities/edificio.entity'; +import { Adscripcion } from '../../adscripcion/entities/adscripcion.entity'; +import { Categoria } from '../../categoria/entities/categoria.entity'; +import { DatosAcademicos } from '../../datos_academicos/entities/datos_academicos.entity'; +import { LineasInvestigacion } from '../../lineas_investigacion/entities/lineas_investigacion.entity'; +import { ProyectosAcademicos } from '../../proyectos_academicos/entities/proyectos_academicos.entity'; +import { AsignaturaCarreraProfesor } from '../../asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity'; @Entity() export class Profesor { @@ -63,33 +70,54 @@ export class Profesor { @Column({ type: 'boolean', nullable: false, default: true }) mostrar: boolean; - @Column({ type: 'timestamp', nullable: false, default: () => 'CURRENT_DATETIME' }) + @Column({ + type: 'timestamp', + nullable: false, + default: () => 'CURRENT_DATETIME', + }) fecha_alta: Date; - @Column({ type: 'timestamp', nullable: false, default: () => 'CURRENT_TIMESTAMP', onUpdate: 'CURRENT_TIMESTAMP' }) + @Column({ + type: 'timestamp', + nullable: false, + default: () => 'CURRENT_TIMESTAMP', + onUpdate: 'CURRENT_TIMESTAMP', + }) fecha_actualizacion: Date; - @ManyToOne(() => Edificio, edificio => edificio.profesores) + @ManyToOne(() => Edificio, (edificio) => edificio.profesores) @JoinColumn({ name: 'id_edificio' }) edificio: Edificio; - @ManyToOne(() => Adscripcion, adscripcion => adscripcion.profesores) + @ManyToOne(() => Adscripcion, (adscripcion) => adscripcion.profesores) @JoinColumn({ name: 'id_adscripcion' }) adscripcion: Adscripcion; - @ManyToOne(() => Categoria, categoria => categoria.profesores) + @ManyToOne(() => Categoria, (categoria) => categoria.profesores) @JoinColumn({ name: 'id_categoria' }) categoria: Categoria; - @OneToMany(() => DatosAcademicos, datosAcademicos => DatosAcademicos.profesor) + @OneToMany( + () => DatosAcademicos, + (datosAcademicos) => datosAcademicos.profesor, + ) datosAcademicos: DatosAcademicos[]; - @OneToMany(() => LineasInvestigacion, lineasInvestigacion => LineasInvestigacion.profesor) + @OneToMany( + () => LineasInvestigacion, + (lineasInvestigacion) => lineasInvestigacion.profesor, + ) lineasInvestigacion: LineasInvestigacion[]; - @OneToMany(() => ProyectosAcademicos, proyectosAcademicos => ProyectosAcademicos.profesor) + @OneToMany( + () => ProyectosAcademicos, + (proyectosAcademicos) => proyectosAcademicos.profesor, + ) proyectosAcademicos: ProyectosAcademicos[]; - @OneToMany(() => AsignaturaCarreraProfesor, acp => AsignaturaCarreraProfesor.profesor) + @OneToMany( + () => AsignaturaCarreraProfesor, + (acp) => acp.profesor, + ) asignaturaCarreraProfesores: AsignaturaCarreraProfesor[]; } diff --git a/src/adscripcion/entities/adscripcion.entity.ts b/src/adscripcion/entities/adscripcion.entity.ts index 83b9758..542b9cd 100644 --- a/src/adscripcion/entities/adscripcion.entity.ts +++ b/src/adscripcion/entities/adscripcion.entity.ts @@ -1,5 +1,5 @@ import { Entity, PrimaryColumn, Column, OneToMany } from 'typeorm'; -import { Profesor } from './profesor.entity'; +import {Profesor} from "../../Profesor/entities/profesor.entity"; @Entity() export class Adscripcion { @@ -9,6 +9,6 @@ export class Adscripcion { @Column({ type: 'varchar', length: 150, nullable: false }) adscripcion: string; - @OneToMany(() => Profesor, profesor => Profesor.adscripcion) + @OneToMany(() => Profesor, profesor => profesor.adscripcion) profesores: Profesor[]; } diff --git a/src/asignatura/entities/asignatura.entity.ts b/src/asignatura/entities/asignatura.entity.ts index 4f9ce3e..e28fee1 100644 --- a/src/asignatura/entities/asignatura.entity.ts +++ b/src/asignatura/entities/asignatura.entity.ts @@ -1,5 +1,5 @@ import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'; -import { AsignaturaCarreraProfesor } from './asignatura_carrera_profesor.entity'; +import { AsignaturaCarreraProfesor } from "../../asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity"; @Entity() export class Asignatura { @@ -10,6 +10,6 @@ export class Asignatura { @Column({ type: 'varchar', length: 50, nullable: false }) materia: string; - @OneToMany(() => AsignaturaCarreraProfesor, acp => AsignaturaCarreraProfesor.asignatura) + @OneToMany(() => AsignaturaCarreraProfesor, (acp) => acp.asignatura) asignaturaCarreraProfesores: AsignaturaCarreraProfesor[]; } diff --git a/src/asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity.ts b/src/asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity.ts index 9e29ad5..6aa690e 100644 --- a/src/asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity.ts +++ b/src/asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity.ts @@ -1,7 +1,7 @@ import { Entity, PrimaryColumn, Column, ManyToOne, JoinColumn } from 'typeorm'; -import { Profesor } from './profesor.entity'; -import { Asignatura } from './asignatura.entity'; -import { Carrera } from './carrera.entity'; +import { Profesor } from "../../Profesor/entities/profesor.entity"; +import { Asignatura } from "../../asignatura/entities/asignatura.entity"; +import { Carrera } from "../../Carrera/entities/carrera.entity"; @Entity() export class AsignaturaCarreraProfesor { diff --git a/src/auth/auth.service.ts b/src/auth/auth.service.ts index 5afe340..16ecd2d 100644 --- a/src/auth/auth.service.ts +++ b/src/auth/auth.service.ts @@ -1,12 +1,16 @@ - -import { HttpException, Inject, Injectable, UnauthorizedException } from '@nestjs/common'; +import { + HttpException, + Inject, + Injectable, + UnauthorizedException, +} from '@nestjs/common'; import { UsersService } from '../users/users.service'; import { JwtService } from '@nestjs/jwt'; import { registerDto } from './dto/registerDto.dto'; import { User } from 'src/users/entities/user.entity'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import { hash } from 'bcrypt'; +import { hash } from 'bcrypt'; import { compare } from 'bcryptjs'; import { ConfigService } from '@nestjs/config'; @@ -15,65 +19,57 @@ export class AuthService { constructor( private usersService: UsersService, private jwtService: JwtService, - private configService:ConfigService, - @InjectRepository(User) private userRepository: Repository + private configService: ConfigService, + @InjectRepository(User) private userRepository: Repository, ) {} //register users - async register(data: registerDto){ - const{usuario,contraseña,} = data; + async register(data: registerDto) { + const { usuario, contraseña } = data; - if(await this.usersService.findOne(usuario)){ - throw new HttpException("User already exist",403); + if (await this.usersService.findOne(usuario)) { + throw new HttpException('User already exist', 403); } const hashedpassword = await hash(contraseña, 10); - data = {...data, contraseña:hashedpassword} - return this.userRepository.save( - this.userRepository.create(data) - ) + data = { ...data, contraseña: hashedpassword }; + return this.userRepository.save(this.userRepository.create(data)); } //singin async signIn(data: registerDto) { - const{usuario,contraseña} = data; + const { usuario, contraseña } = data; const user = await this.usersService.findOne(usuario); if (!user) { throw new UnauthorizedException('Invalid name'); } - const checkPassword = await compare(contraseña, (await user).contraseña) + const checkPassword = await compare(contraseña, user.contraseña); if (!checkPassword) { throw new UnauthorizedException('Invalid password'); } - const payload = { - idUser: user.userId, - username: user.usuario + const payload = { + idUser: user.id_usuario, + username: user.usuario, }; const token = this.jwtService.sign(payload); - await this.usersService.updateTokenAndDates(user.userId,token, new Date(), new Date(Date.now() + 3600 * 1000)); + await this.usersService.updateTokenAndDates( + user.id_usuario, + token, + new Date(), + new Date(Date.now() + 3600 * 1000), + ); - return {token: token}; + return { token: token }; } - async create(data){ + async create(data) {} - } + async update(id, updateUserDto) {} - async update( - id, - updateUserDto - ){ - - } - - async remove( - id - ){ - - } + async remove(id) {} //validate tojen of users async validateToken(token: string): Promise { @@ -99,5 +95,4 @@ export class AuthService { throw new UnauthorizedException('validation token failed'); } } - } diff --git a/src/carrera/entities/carrera.entity.ts b/src/carrera/entities/carrera.entity.ts index 4d9aac1..0b70e72 100644 --- a/src/carrera/entities/carrera.entity.ts +++ b/src/carrera/entities/carrera.entity.ts @@ -1,5 +1,5 @@ import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'; -import { AsignaturaCarreraProfesor } from './asignatura_carrera_profesor.entity'; +import { AsignaturaCarreraProfesor } from "../../asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity"; @Entity() export class Carrera { @@ -10,6 +10,6 @@ export class Carrera { @Column({ type: 'varchar', length: 150, nullable: false }) nombre: string; - @OneToMany(() => AsignaturaCarreraProfesor, asi => AsignaturaCarreraProfesor.carrera) + @OneToMany(() => AsignaturaCarreraProfesor, asi => asi.carrera) asignaturaCarreraProfesores: AsignaturaCarreraProfesor[]; } diff --git a/src/categoria/entities/categoria.entity.ts b/src/categoria/entities/categoria.entity.ts index 5bc1fb6..cd4ba98 100644 --- a/src/categoria/entities/categoria.entity.ts +++ b/src/categoria/entities/categoria.entity.ts @@ -1,5 +1,5 @@ import { Entity, PrimaryColumn, Column, OneToMany } from 'typeorm'; -import { Profesor } from './profesor.entity'; +import { Profesor } from '../../Profesor/entities/profesor.entity'; @Entity() export class Categoria { @@ -9,6 +9,6 @@ export class Categoria { @Column({ type: 'varchar', length: 256, nullable: false }) categoria: string; - @OneToMany(() => Profesor, profesor => Profesor.categoria) + @OneToMany(() => Profesor, (profesor) => profesor.categoria) profesores: Profesor[]; } diff --git a/src/datos_academicos/entities/datos_academicos.entity.ts b/src/datos_academicos/entities/datos_academicos.entity.ts index 62e56bd..d3268b5 100644 --- a/src/datos_academicos/entities/datos_academicos.entity.ts +++ b/src/datos_academicos/entities/datos_academicos.entity.ts @@ -1,9 +1,8 @@ import { Entity, PrimaryColumn, Column, ManyToOne, JoinColumn } from 'typeorm'; -import { Profesor } from './profesor.entity'; +import { Profesor } from '../../Profesor/entities/profesor.entity'; @Entity({ name: 'datos_academicos' }) export class DatosAcademicos { - @PrimaryColumn({ type: 'int', length: 11, nullable: false }) id_datos: number; @@ -16,7 +15,7 @@ export class DatosAcademicos { @Column({ type: 'varchar', length: 260, nullable: true }) grados_obtenidos: string; - @ManyToOne(() => Profesor, profesor => profesor.datosAcademicos) + @ManyToOne(() => Profesor, (profesor) => profesor.datosAcademicos) @JoinColumn({ name: 'id_profesor' }) profesor: Profesor; } diff --git a/src/edificio/entities/edificio.entity.ts b/src/edificio/entities/edificio.entity.ts index c5e2159..e7ab9eb 100644 --- a/src/edificio/entities/edificio.entity.ts +++ b/src/edificio/entities/edificio.entity.ts @@ -1,5 +1,5 @@ import { Entity, PrimaryColumn, Column, OneToMany } from 'typeorm'; -import { Profesor } from './profesor.entity'; +import { Profesor } from "../../Profesor/entities/profesor.entity"; @Entity() export class Edificio { @@ -9,6 +9,6 @@ export class Edificio { @Column({ type: 'varchar', length: 256, nullable: false }) edificio: string; - @OneToMany(() => Profesor, profesor => Profesor.edificio) + @OneToMany(() => Profesor, profesor => profesor.edificio) profesores: Profesor[]; } diff --git a/src/lineas_investigacion/entities/lineas_investigacion.entity.ts b/src/lineas_investigacion/entities/lineas_investigacion.entity.ts index b4de336..4c89ab2 100644 --- a/src/lineas_investigacion/entities/lineas_investigacion.entity.ts +++ b/src/lineas_investigacion/entities/lineas_investigacion.entity.ts @@ -1,5 +1,5 @@ import { Entity, PrimaryColumn, Column, ManyToOne, JoinColumn } from 'typeorm'; -import { Profesor } from './profesor.entity'; +import { Profesor } from "../../Profesor/entities/profesor.entity"; @Entity({ name: 'lineas_investigacion' }) export class LineasInvestigacion { diff --git a/src/proyectos_academicos/entities/proyectos_academicos.entity.ts b/src/proyectos_academicos/entities/proyectos_academicos.entity.ts index 6c7671d..12d9ca5 100644 --- a/src/proyectos_academicos/entities/proyectos_academicos.entity.ts +++ b/src/proyectos_academicos/entities/proyectos_academicos.entity.ts @@ -1,5 +1,5 @@ import { Entity, PrimaryColumn, Column, ManyToOne, JoinColumn } from 'typeorm'; -import { Profesor } from './profesor.entity'; +import { Profesor } from "../../Profesor/entities/profesor.entity"; @Entity({ name: 'proyectos_academicos' }) export class ProyectosAcademicos { diff --git a/src/tipo_usuario/entities/tipo_usuario.entity.ts b/src/tipo_usuario/entities/tipo_usuario.entity.ts index 3aced54..e6d38f8 100644 --- a/src/tipo_usuario/entities/tipo_usuario.entity.ts +++ b/src/tipo_usuario/entities/tipo_usuario.entity.ts @@ -1,15 +1,14 @@ import { Entity, PrimaryColumn, Column, OneToMany } from 'typeorm'; -import { User } from './user.entity'; +import { User } from '../../users/entities/user.entity'; @Entity({ name: 'tipo_usuario' }) export class TipoUsuario { - @PrimaryColumn({ type: 'int', length: 11, nullable: false }) id_tipo_usuario: number; @Column({ type: 'varchar', length: 30, nullable: false }) tipo_usuario: string; - @OneToMany(() => User, user => User.tipoUsuario) + @OneToMany(() => User, (user) => user.tipoUsuario) users: User[]; } diff --git a/src/users/entities/user.entity.ts b/src/users/entities/user.entity.ts index 3436f21..bf53505 100644 --- a/src/users/entities/user.entity.ts +++ b/src/users/entities/user.entity.ts @@ -1,5 +1,5 @@ import { Entity, PrimaryColumn, Column, ManyToOne, JoinColumn } from 'typeorm'; -import { TipoUsuario } from './tipo_usuario.entity'; +import { TipoUsuario } from "../../tipo_usuario/entities/tipo_usuario.entity"; @Entity({ name: 'usuario' }) export class User { diff --git a/src/users/users.service.ts b/src/users/users.service.ts index 248dbe7..107753a 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -15,28 +15,29 @@ export class UsersService { return this.users.findOne({ where: { usuario } }); } - async create(user:User): Promise { + async create(user: User): Promise { const newUser = this.users.create(user); return this.users.save(newUser); } - - async update(userId: number, updateUserDto: UserDto): Promise { - await this.users.update(userId, updateUserDto); - return this.users.findOne({where:{userId}}); - } + //TODO Validar Esta funcion + // async update(userId: number, updateUserDto: UserDto): Promise { + // return await this.users.update(userId, updateUserDto); + // } async remove(userId: number): Promise { await this.users.delete(userId); } - async updateTokenAndDates(id: number, token: string, lastLogin: Date, jwtExpiry: Date): Promise { + async updateTokenAndDates( + id: number, + token: string, + lastLogin: Date, + jwtExpiry: Date, + ): Promise { await this.users.update(id, { - jwt:token, - lastlog:lastLogin, - expirationjwt:jwtExpiry, - }); + jwt: token, + lastlog: lastLogin, + expirationjwt: jwtExpiry, + }); } - } - -