import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, ManyToOne, JoinColumn } from 'typeorm';
import { Case } from '../cases/case.entity';

@Entity({ name: 'case_entries' })
export class CaseEntry {
  @PrimaryGeneratedColumn({ type: 'bigint' })
  id!: number;

  @Column({ type: 'bigint', name: 'case_id' })
  caseId!: number;

  @ManyToOne(() => Case, (caseEntity) => caseEntity.entries, { onDelete: 'CASCADE' })
  @JoinColumn({ name: 'case_id' })
  case?: Case;

  @Column({ type: 'json', nullable: true })
  payload?: Record<string, any>;

  @CreateDateColumn({ name: 'created_at' })
  createdAt!: Date;
}
