// src/inquiry-notifications/entities/inquiry-notification.entity.ts
import {
  Entity, PrimaryGeneratedColumn, Column,
  CreateDateColumn, ManyToOne, JoinColumn,
} from 'typeorm';
import { Inquiry } from '../../inquiries/entities/inquiry.entity';

@Entity('inquiry_notifications')
export class InquiryNotificationEntity {
  @PrimaryGeneratedColumn()
  id!: number;

  @Column() inquiry_id!:     number;
  @Column() inquiry_ref!:    string;
  @Column() company_name!:   string;
  @Column() type!:            string;
  @Column('text') message!:   string;
  @Column() target_user_id!:  number;

  @Column({ nullable: true }) old_status!:   string;
  @Column({ nullable: true }) new_status!:   string;
  @Column({ nullable: true }) pdf_url!:      string;
  @Column({ nullable: true }) docx_url!:     string;

  @Column({ default: false }) is_read!:      boolean;
  @Column({ default: false }) is_resolved!:  boolean;

  @CreateDateColumn()         created_at!:   Date;
  @Column({ nullable: true }) resolved_at!:  Date;

  @ManyToOne(() => Inquiry, { onDelete: 'CASCADE' })
  @JoinColumn({ name: 'inquiry_id' })
  inquiry!: Inquiry;
}