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: 40 }) nombre: string; @Column({ nullable: false, length: 30 }) apellido_paterno: string; @Column({ nullable: false, length: 30 }) apellido_materno: string; @Column({ nullable: false }) id_tipo_miembro: number; @Column({length: 40, nullable: false }) @IsEmail() email: string; @Column({length: 180, nullable: false }) password: string; @Column({ length: 200, nullable:true}) descripcion: string; @Column({nullable: true}) id_carrera: number; @Column({ length: 40, nullable:true}) 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 }