Files
cedetec_api_nest/src/miembro/entity/miembro.entity.ts
T

83 lines
2.1 KiB
TypeScript

import { IsEmail } from 'class-validator';
import { Carrera } from 'src/catalogos/carrera.entity';
import { TipoMiembro } from 'src/catalogos/tipo-miembro.entity';
import { EquipoMiembro } from 'src/equipo-miembro/entity/equipo_miembro.entity';
import { InscripcionUsuario } from 'src/inscripcion-usuario/entity/inscripcion_usuario.entity';
import { MiembroContacto } from 'src/miembro-contacto/entity/miembro_contacto.entity';
import { MiembroProyecto } from 'src/miembro-proyecto/entity/miembro_proyecto.entity';
import {
Column,
Entity,
JoinColumn,
ManyToOne,
OneToMany,
PrimaryGeneratedColumn,
} from 'typeorm';
@Entity()
export class Miembro {
@PrimaryGeneratedColumn()
id_miembro: number;
@Column({ nullable: false, length: 50 })
nombre: string;
@Column({ nullable: false, length: 50 })
apellido_paterno: string;
@Column({ nullable: false, length: 50 })
apellido_materno: string;
@Column({ nullable: false })
id_tipo_miembro: number;
@Column({ nullable: false })
@IsEmail()
correo: string;
@Column({ nullable: false, length: 40 })
password: string;
@Column({ length: 260, nullable: false })
descripcion: string;
@Column({ nullable: false })
id_carrera: number;
@Column({ length: 40 })
semestre: string;
@Column({ nullable: false })
cuenta: number;
@OneToMany(
() => InscripcionUsuario,
(inscripcionUsuario) => inscripcionUsuario.miembro,
)
inscripcionUsuario: InscripcionUsuario[];
@ManyToOne(() => TipoMiembro, (tipoMiembro) => tipoMiembro.miembro)
@JoinColumn({ name: 'id_tipo_miembro' })
tipoMiembro: TipoMiembro;
@ManyToOne(() => Carrera, (carrera) => carrera.miembro)
@JoinColumn({ name: 'id_carrera' })
carrera: Carrera;
@ManyToOne(
() => MiembroContacto, (miembroContacto) => miembroContacto.miembro
)
@JoinColumn({name: "id_miembro"})
miembroContacto: MiembroContacto
@OneToMany(
() => MiembroProyecto, (miembroProyecto) => miembroProyecto.miembro
)
miembroProyecto: MiembroProyecto
@OneToMany(
() => EquipoMiembro, (equipoMiembro) => equipoMiembro.miembro
)
equipoMiembro: EquipoMiembro
}