// src/contact/contact-message.entity.ts
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, ManyToOne, Index } from 'typeorm';
import { User } from '../users/user.entity';

export type ContactStatus = 'new' | 'read' | 'archived';

@Entity()
export class ContactMessage {
  @PrimaryGeneratedColumn()
  id: number;

  // optional: if the sender is logged in
  @ManyToOne(() => User, { nullable: true, eager: false })
  user?: User | null;

  @Index()
  @Column({ type: 'varchar', length: 150 })
  title: string;

  @Column({ type: 'text' })
  subject: string;

  @Column({ type: 'varchar', length: 20, default: 'new' })
  status: ContactStatus;

  @CreateDateColumn()
  createdAt: Date;
}
