Files
cargaMasiva_api/src/entities/entities.ts
T

178 lines
4.6 KiB
TypeScript

import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, OneToMany, JoinColumn, PrimaryColumn } from 'typeorm';
@Entity({ name: 'origen' })
export class Origen {
@PrimaryGeneratedColumn({ name: 'id_origen', type: 'int' })
id_origen: number;
@Column({ type: 'varchar', length: 30 })
fuente: string;
@OneToMany(() => Movimiento, movimiento => movimiento.origen)
movimientos: Movimiento[];
@OneToMany(() => UsuariosDelSistema, uds => uds.origen)
usuariosDelSistema: UsuariosDelSistema[];
}
@Entity({ name: 'genero' })
export class Genero {
@PrimaryGeneratedColumn({ name: 'id_genero', type: 'int', })
id_genero: number;
@Column({ type: 'varchar', length: 20, nullable: true })
genero: string;
@OneToMany(() => Usuario, usuario => usuario.genero)
usuarios: Usuario[];
}
@Entity({ name: 'carrera' })
export class Carrera {
@PrimaryGeneratedColumn({ name: 'id_carrera', type: 'int' })
id_carrera: number;
@Column({ type: 'varchar', length: 100 })
carrera: string;
@Column({ type: 'varchar', length: 6 })
clave: string;
@OneToMany(() => CarreraUsuario, cu => cu.carrera)
carreraUsuarios: CarreraUsuario[];
}
@Entity({ name: 'usuario' })
export class Usuario {
@PrimaryGeneratedColumn({ name: 'id_usuario', type: 'int' })
id_usuario: number;
@Column({ type: 'varchar', length: 9 })
num_cuenta: string;
@Column({ type: 'varchar', length: 60 })
nombre: string;
@Column({ name: 'a_paterno', type: 'varchar', length: 60 })
a_paterno: string;
@Column({ name: 'a_materno', type: 'varchar', length: 60 })
a_materno: string;
@Column({ type: 'varchar', length: 15 })
rfc: string;
@Column({ name: 'fecha_nacimiento', type: 'varchar', length: 8 })
fecha_nacimiento: string;
@Column({ type: 'int' })
generacion: number;
@ManyToOne(() => Genero, genero => genero.usuarios)
@JoinColumn({ name: 'id_genero' })
genero: Genero;
@OneToMany(() => Movimiento, mov => mov.usuario)
movimientos: Movimiento[];
@OneToMany(() => CarreraUsuario, cu => cu.usuario)
carreraUsuarios: CarreraUsuario[];
@OneToMany(() => UsuarioTipoUsuario, utu => utu.usuario)
usuarioTipos: UsuarioTipoUsuario[];
}
@Entity({ name: 'usuariosDelSistema' })
export class UsuariosDelSistema {
@PrimaryColumn({ type: 'varchar', length: 60 })
usuario: string;
@Column({ type: 'varchar', length: 60 })
contraseña: string;
@ManyToOne(() => Origen, origen => origen.usuariosDelSistema)
@JoinColumn({ name: 'id_origen' })
origen: Origen;
}
@Entity({ name: 'carrera_usuario' })
export class CarreraUsuario {
@PrimaryGeneratedColumn({ name: 'id_carrera_usuario', type: 'int' })
id_carrera_usuario: number;
@ManyToOne(() => Carrera, carrera => carrera.carreraUsuarios)
@JoinColumn({ name: 'id_carrera' })
carrera: Carrera;
@ManyToOne(() => Usuario, usuario => usuario.carreraUsuarios)
@JoinColumn({ name: 'id_usuario' })
usuario: Usuario;
}
@Entity({ name: 'equipo' })
export class Equipo {
@PrimaryGeneratedColumn({ name: 'id_equipo', type: 'int' })
id_equipo: number;
@Column({ type: 'varchar', length: 10 })
equipo: string;
@Column({ name: 'numero_serie', type: 'varchar', length: 30 })
numero_serie: string;
}
@Entity({ name: 'tipo_usuario' })
export class TipoUsuario {
@PrimaryGeneratedColumn({ name: 'id_tipo_usuario', type: 'int' })
id_tipo_usuario: number;
@Column({ name: 'tipo_usuario', type: 'varchar', length: 20 })
tipo_usuario: string;
@OneToMany(() => UsuarioTipoUsuario, utu => utu.tipoUsuario)
usuariosTipos: UsuarioTipoUsuario[];
}
@Entity({ name: 'usuario_tipo_usuario' })
export class UsuarioTipoUsuario {
@PrimaryGeneratedColumn({ name: 'id_user_tipo_usuario', type: 'int' })
id_user_tipo_usuario: number;
@ManyToOne(() => TipoUsuario, tipo => tipo.usuariosTipos)
@JoinColumn({ name: 'id_tipo_usuario' })
tipoUsuario: TipoUsuario;
@ManyToOne(() => Usuario, usuario => usuario.usuarioTipos)
@JoinColumn({ name: 'id_usuario' })
usuario: Usuario;
}
@Entity({ name: 'movimiento' })
export class Movimiento {
@PrimaryGeneratedColumn({ name: 'id_mov', type: 'int' })
id_mov: number;
@Column({ name: 'fecha_mov', type: 'datetime' })
fecha_mov: Date;
@Column({ type: 'varchar', length: 100 })
status: string;
@Column({ type: 'varchar', length: 200 })
observaciones: string;
@Column({ type: 'bit' })
flag: boolean;
@Column({ type: 'varchar', length: 200 })
reporte: string;
@ManyToOne(() => Usuario, usuario => usuario.movimientos)
@JoinColumn({ name: 'id_usuario' })
usuario: Usuario;
@ManyToOne(() => Origen, origen => origen.movimientos)
@JoinColumn({ name: 'id_origen' })
origen: Origen;
}