diff --git a/src/Profesor/entities/profesor.entity.ts b/src/Profesor/entities/profesor.entity.ts index 7d8600f..f05e763 100644 --- a/src/Profesor/entities/profesor.entity.ts +++ b/src/Profesor/entities/profesor.entity.ts @@ -5,6 +5,7 @@ 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'; @Entity() export class Profesor { @@ -88,4 +89,7 @@ export class Profesor { @OneToMany(() => ProyectosAcademicos, proyectosAcademicos => ProyectosAcademicos.profesor) proyectosAcademicos: ProyectosAcademicos[]; + + @OneToMany(() => AsignaturaCarreraProfesor, acp => AsignaturaCarreraProfesor.profesor) + asignaturaCarreraProfesores: AsignaturaCarreraProfesor[]; } diff --git a/src/asignatura/entities/asignatura.entity.ts b/src/asignatura/entities/asignatura.entity.ts new file mode 100644 index 0000000..4f9ce3e --- /dev/null +++ b/src/asignatura/entities/asignatura.entity.ts @@ -0,0 +1,15 @@ +import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'; +import { AsignaturaCarreraProfesor } from './asignatura_carrera_profesor.entity'; + +@Entity() +export class Asignatura { + + @PrimaryGeneratedColumn() + id_asignatura: number; + + @Column({ type: 'varchar', length: 50, nullable: false }) + materia: string; + + @OneToMany(() => AsignaturaCarreraProfesor, acp => AsignaturaCarreraProfesor.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 new file mode 100644 index 0000000..9e29ad5 --- /dev/null +++ b/src/asignatura_carrera_profesor/entities/asignatura_carrera_profesor.entity.ts @@ -0,0 +1,34 @@ +import { Entity, PrimaryColumn, Column, ManyToOne, JoinColumn } from 'typeorm'; +import { Profesor } from './profesor.entity'; +import { Asignatura } from './asignatura.entity'; +import { Carrera } from './carrera.entity'; + +@Entity() +export class AsignaturaCarreraProfesor { + @PrimaryColumn({ type: 'int', length: 11, nullable: false }) + id_profesor: number; + + @PrimaryColumn({ type: 'int', length: 11, nullable: false }) + id_carrera: number; + + @PrimaryColumn({ type: 'int', length: 11, 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 new file mode 100644 index 0000000..4d9aac1 --- /dev/null +++ b/src/carrera/entities/carrera.entity.ts @@ -0,0 +1,15 @@ +import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'; +import { AsignaturaCarreraProfesor } from './asignatura_carrera_profesor.entity'; + +@Entity() +export class Carrera { + + @PrimaryGeneratedColumn() + id_carrera: number; + + @Column({ type: 'varchar', length: 150, nullable: false }) + nombre: string; + + @OneToMany(() => AsignaturaCarreraProfesor, asi => AsignaturaCarreraProfesor.carrera) + asignaturaCarreraProfesores: AsignaturaCarreraProfesor[]; +}