83 lines
2.1 KiB
TypeScript
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
|
|
}
|