import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, ManyToOne, JoinColumn, Index } from 'typeorm' import { QrCode } from './qr-code.entity' @Entity() @Index(['qrCodeId']) @Index(['scanTime']) @Index(['qrCodeId', 'scanTime']) export class ScanRecord { @PrimaryGeneratedColumn('increment', { type: 'bigint' }) id: number @Column() qrCodeId: number @Column({ type: 'datetime' }) scanTime: Date @Column({ type: 'decimal', precision: 10, scale: 7, nullable: true }) latitude: number @Column({ type: 'decimal', precision: 10, scale: 7, nullable: true }) longitude: number @Column({ type: 'text', nullable: true }) address: string @Column({ length: 50, nullable: true }) ipAddress: string @Column({ type: 'text', nullable: true }) userAgent: string @CreateDateColumn() createdAt: Date @ManyToOne(() => QrCode, qrCode => qrCode.scanRecords) @JoinColumn({ name: 'qrCodeId' }) qrCode: QrCode }