From 6c63490acf0e3855c9efa1e01a5b08dfd8955a7e Mon Sep 17 00:00:00 2001 From: IO <320154041@pcpuma.acatlan.unam.mx> Date: Tue, 18 Jun 2024 15:21:34 -0600 Subject: [PATCH] fixed foreign key and delete carrera --- src/Profesor/dto/profesorDto.dto.ts | 33 ++++++++---------- src/Profesor/entities/profesor.entity.ts | 9 ++--- src/Profesor/profesor.controller.ts | 2 +- src/app.module.ts | 6 ---- src/asignatura/entities/asignatura.entity.ts | 15 -------- .../asignatura_carrera_profesor.entity.ts | 34 ------------------- src/carrera/entities/carrera.entity.ts | 15 -------- src/categoria/entities/categoria.entity.ts | 5 ++- .../entities/datos_academicos.entity.ts | 2 +- src/edificio/entities/edificio.entity.ts | 5 ++- 10 files changed, 22 insertions(+), 104 deletions(-) delete mode 100644 src/asignatura/entities/asignatura.entity.ts delete mode 100644 src/asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity.ts delete mode 100644 src/carrera/entities/carrera.entity.ts diff --git a/src/Profesor/dto/profesorDto.dto.ts b/src/Profesor/dto/profesorDto.dto.ts index 87607ab..4950af7 100644 --- a/src/Profesor/dto/profesorDto.dto.ts +++ b/src/Profesor/dto/profesorDto.dto.ts @@ -1,19 +1,17 @@ -import { IsBoolean, IsEmpty, IsNotEmpty, IsNumber, IsString, Length,} from "class-validator"; +import { IsBoolean, IsOptional, IsNotEmpty, IsNumber, IsString, Length,} from "class-validator"; export class profesorDto{ @IsNumber() @IsNotEmpty() - @Length(11) id_profesor: number; @IsNumber() @IsNotEmpty() - @Length(11) id_usuario: number; @IsString() - @IsEmpty() + @IsOptional() @Length(10) num_trabajador: string; @@ -23,62 +21,59 @@ export class profesorDto{ nombre: string; @IsString() - @IsEmpty() + @IsOptional() @Length(10) rfc: string; @IsString() - @IsEmpty() + @IsOptional() @Length(3) homoclave: string; @IsString() - @IsEmpty() + @IsOptional() @Length(13) tel_oficina: string; @IsString() - @IsEmpty() + @IsOptional() @Length(10) extension: string; @IsString() - @IsEmpty() + @IsOptional() @Length(13) tel_personal: string; @IsString() - @IsEmpty() + @IsOptional() @Length(65) correo_pcp: string; @IsString() - @IsEmpty() + @IsOptional() @Length(65) correo_per: string; @IsNumber() - @IsEmpty() - @Length(11) + @IsOptional() id_adscripcion: number; @IsNumber() - @IsEmpty() - @Length(11) + @IsOptional() id_categoria: number; @IsNumber() - @IsEmpty() - @Length(11) + @IsOptional() id_edificio: number; @IsString() - @IsEmpty() + @IsOptional() @Length(256) ubicacion: string; @IsString() - @IsEmpty() + @IsOptional() @Length(150) fotografia: string; diff --git a/src/Profesor/entities/profesor.entity.ts b/src/Profesor/entities/profesor.entity.ts index da56a3b..480bf7a 100644 --- a/src/Profesor/entities/profesor.entity.ts +++ b/src/Profesor/entities/profesor.entity.ts @@ -12,7 +12,6 @@ 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 { @@ -71,8 +70,9 @@ export class Profesor { mostrar: boolean; @Column({ - type: 'datetime', + type: 'timestamp', nullable: false, + default: () => 'CURRENT_TIMESTAMP', }) fecha_alta: Date; @@ -114,9 +114,4 @@ export class Profesor { ) proyectosAcademicos: ProyectosAcademicos[]; - @OneToMany( - () => AsignaturaCarreraProfesor, - (acp) => acp.profesor, - ) - asignaturaCarreraProfesores: AsignaturaCarreraProfesor[]; } diff --git a/src/Profesor/profesor.controller.ts b/src/Profesor/profesor.controller.ts index 9ad13c1..3cf47d1 100644 --- a/src/Profesor/profesor.controller.ts +++ b/src/Profesor/profesor.controller.ts @@ -8,7 +8,7 @@ export class ProfesorController { constructor(private profesorService: ProfesorService) {} @Post() - async postRegister(@Body() data: profesorDto) { + async register(@Body() data: profesorDto) { return this.profesorService.register(data); } diff --git a/src/app.module.ts b/src/app.module.ts index 80c18a0..3d3827f 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -7,9 +7,6 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { UsersModule } from './users/users.module'; import { User } from './users/entities/user.entity'; import { Adscripcion } from './adscripcion/entities/adscripcion.entity'; -import { Asignatura } from './asignatura/entities/asignatura.entity'; -import { AsignaturaCarreraProfesor } from './asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity'; -import { Carrera } from './carrera/entities/carrera.entity'; import { Categoria } from './categoria/entities/categoria.entity'; import { DatosAcademicos } from './datos_academicos/entities/datos_academicos.entity'; import { Edificio } from './edificio/entities/edificio.entity'; @@ -41,9 +38,6 @@ import { Profesor } from './Profesor/entities/profesor.entity'; User, Profesor, Adscripcion, - Asignatura, - AsignaturaCarreraProfesor, - Carrera, Categoria, DatosAcademicos, Edificio, diff --git a/src/asignatura/entities/asignatura.entity.ts b/src/asignatura/entities/asignatura.entity.ts deleted file mode 100644 index e28fee1..0000000 --- a/src/asignatura/entities/asignatura.entity.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'; -import { AsignaturaCarreraProfesor } from "../../asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity"; - -@Entity() -export class Asignatura { - - @PrimaryGeneratedColumn() - id_asignatura: number; - - @Column({ type: 'varchar', length: 50, nullable: false }) - materia: string; - - @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 deleted file mode 100644 index ebf4f15..0000000 --- a/src/asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Entity, PrimaryColumn, Column, ManyToOne, JoinColumn } from 'typeorm'; -import { Profesor } from "../../Profesor/entities/profesor.entity"; -import { Asignatura } from "../../asignatura/entities/asignatura.entity"; -import { Carrera } from 'src/carrera/entities/carrera.entity'; - -@Entity() -export class AsignaturaCarreraProfesor { - @PrimaryColumn({ type: 'int', nullable: false }) - id_profesor: number; - - @PrimaryColumn({ type: 'int', nullable: false }) - id_carrera: number; - - @PrimaryColumn({ type: 'int', nullable: false }) - id_asignatura: number; - - @Column({ type: 'varchar', length: 150, nullable: false }) - semestre: string; - - @Column({ type: 'varchar', length: 150, nullable: false }) - periodo: string; - - @ManyToOne(() => Profesor, profesor => profesor.asignaturaCarreraProfesores) - @JoinColumn({ name: 'id_profesor' }) - profesor: Profesor; - - @ManyToOne(() => Carrera, carrera => carrera.asignaturaCarreraProfesores) - @JoinColumn({ name: 'id_carrera' }) - carrera: Carrera; - - @ManyToOne(() => Asignatura, asignatura => asignatura.asignaturaCarreraProfesores) - @JoinColumn({ name: 'id_asignatura' }) - asignatura: Asignatura; -} diff --git a/src/carrera/entities/carrera.entity.ts b/src/carrera/entities/carrera.entity.ts deleted file mode 100644 index 0b70e72..0000000 --- a/src/carrera/entities/carrera.entity.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'; -import { AsignaturaCarreraProfesor } from "../../asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity"; - -@Entity() -export class Carrera { - - @PrimaryGeneratedColumn() - id_carrera: number; - - @Column({ type: 'varchar', length: 150, nullable: false }) - nombre: string; - - @OneToMany(() => AsignaturaCarreraProfesor, asi => asi.carrera) - asignaturaCarreraProfesores: AsignaturaCarreraProfesor[]; -} diff --git a/src/categoria/entities/categoria.entity.ts b/src/categoria/entities/categoria.entity.ts index b2e34f5..c272396 100644 --- a/src/categoria/entities/categoria.entity.ts +++ b/src/categoria/entities/categoria.entity.ts @@ -1,5 +1,4 @@ import { Entity, PrimaryColumn, Column, OneToMany } from 'typeorm'; -import { Profesor } from '../../Profesor/entities/profesor.entity'; @Entity() export class Categoria { @@ -9,6 +8,6 @@ export class Categoria { @Column({ type: 'varchar', length: 256, nullable: false }) categoria: string; - @OneToMany(() => Profesor, (profesor) => profesor.categoria) - profesores: Profesor[]; + @OneToMany(() => Categoria, (categoria) => categoria.profesores) + profesores: Categoria[]; } diff --git a/src/datos_academicos/entities/datos_academicos.entity.ts b/src/datos_academicos/entities/datos_academicos.entity.ts index 5226e04..364d139 100644 --- a/src/datos_academicos/entities/datos_academicos.entity.ts +++ b/src/datos_academicos/entities/datos_academicos.entity.ts @@ -17,5 +17,5 @@ export class DatosAcademicos { @ManyToOne(() => Profesor, (profesor) => profesor.datosAcademicos) @JoinColumn({ name: 'id_profesor' }) - profesor: Profesor; + profesor: Profesor[]; } diff --git a/src/edificio/entities/edificio.entity.ts b/src/edificio/entities/edificio.entity.ts index ebbc4ec..0619d94 100644 --- a/src/edificio/entities/edificio.entity.ts +++ b/src/edificio/entities/edificio.entity.ts @@ -1,5 +1,4 @@ import { Entity, PrimaryColumn, Column, OneToMany } from 'typeorm'; -import { Profesor } from "../../Profesor/entities/profesor.entity"; @Entity() export class Edificio { @@ -9,6 +8,6 @@ export class Edificio { @Column({ type: 'varchar', length: 256, nullable: false }) edificio: string; - @OneToMany(() => Profesor, profesor => profesor.edificio) - profesores: Profesor[]; + @OneToMany(() => Edificio, edificio => edificio.profesores) + profesores: Edificio[]; }