kozukata-toa/src/external/db/entity/allnet.ts

58 lines
1.2 KiB
TypeScript

import { ConstructableBaseEntity } from "../utils/constructable-base-entity";
import { Entity, PrimaryGeneratedColumn, Column, OneToMany, OneToOne } from "typeorm";
import { integer } from "types/misc";
@Entity("allnet_arcade")
export class Arcade extends ConstructableBaseEntity {
@PrimaryGeneratedColumn()
id!: integer;
@Column({ length: 60 })
name!: string;
@Column({ length: 40 })
nickname!: string;
@Column({ length: 3 })
country!: string;
@Column()
regionId!: integer;
@Column({ length: 48 })
regionName0!: string;
@Column({ length: 48 })
regionName1!: string;
@Column({ length: 48 })
regionName2!: string;
@Column({ length: 48 })
regionName3!: string;
@OneToMany(() => Machine, (machine) => machine.arcade)
machines!: Array<Machine>;
}
@Entity("allnet_machine")
export class Machine extends ConstructableBaseEntity {
@PrimaryGeneratedColumn()
id!: integer;
@OneToOne(() => Arcade)
arcade!: Arcade;
@Column({ length: 11, unique: true })
serial!: string;
@Column({ length: 5 })
game!: string;
@Column({ default: false })
canVenueHop!: boolean;
@Column({ type: "datetime", nullable: true })
lastAuthenticated!: Date | null;
}