import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn, } from "typeorm"; import { Square } from ".."; import { Company } from "./Company"; import { Local } from "./Local"; import { Master } from "./Master"; import { Partner } from "./Partner"; import { Region } from "./Region"; import { User } from "./User"; import { UserAddress } from "./UserAddress"; @Entity({ comment: "Ciudades donde está visible la plataforma." }) export class City { @PrimaryGeneratedColumn({ type: "int", comment: "Número de identificación (ID) único de cada registro.", }) id: number; @ManyToOne(() => Region, (region) => region.cities, { onDelete: "RESTRICT", onUpdate: "RESTRICT", }) @JoinColumn({ name: "region" }) region: Region; @Column({ length: 50, type: "varchar", comment: "Nombre de la ciudad." }) name: string; @Column({ default: 1, type: "int", width: 1, comment: "Estado de la ciudad, es decir:\r\n1. Activo: Es visible en la plataforma.\r\n0. Inactivo: No será visible en la plataforma.", }) status: number; @OneToMany(() => User, (user) => user.city) users: User[]; @OneToMany(() => Company, (Company) => Company.city) companies: Company[]; @OneToMany(() => Local, (local) => local.city) locals: Local[]; @OneToMany(() => Partner, (partner) => partner.city) partners: Partner[]; @OneToMany(() => Master, (master) => master.city) masters: Master[]; @OneToMany(() => UserAddress, (userAddress) => userAddress.city) user_addresses: UserAddress[]; @OneToMany(() => Square, (square) => square.city) squares: Square[]; }