import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, Unique } from 'typeorm'; import { Host } from './host.entity'; import { License } from './license.entity'; @Entity('host_licenses') @Unique(['host_id', 'license_id']) export class HostLicense { @PrimaryGeneratedColumn('uuid') id: string; @Column({ type: 'uuid' }) host_id: string; @Column({ type: 'uuid' }) license_id: string; @Column({ type: 'varchar', length: 255, nullable: true }) server_identifier: string | null; @Column({ type: 'varchar', length: 255, nullable: true }) customer_email: string | null; @Column({ type: 'timestamptz', default: () => 'NOW()' }) provisioned_at: Date; @Column({ type: 'timestamptz', nullable: true }) last_seen_at: Date | null; @ManyToOne(() => Host, { onDelete: 'CASCADE' }) @JoinColumn({ name: 'host_id' }) host: Host; @ManyToOne(() => License, { onDelete: 'CASCADE' }) @JoinColumn({ name: 'license_id' }) license: License; }