import { AppointmentStatus } from '../../../common/enum/appointment.enum';
import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';

@Entity('appointments')
export class Appointment {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ name: 'full_name' })
  fullName: string;

  @Column({ name: 'title' })
  title: string;

  @Column({ name: 'notes', nullable: true })
  notes: string;

  @Column({ name: 'appointment_date', type: 'date' })
  appointmentDate: Date;

  @Column({ name: 'appointment_time', type: 'time' })
  appointmentTime: string;

  @Column({ name: 'duration' })
  duration: number;

  @Column({
    name: 'status',
    type: 'enum',
    default: AppointmentStatus.PENDING,
    enum: AppointmentStatus,
  })
  status: AppointmentStatus;

  @Column({ name: 'user_id' })
  userId: number;

  @Column({ name: 'phone', nullable: true })
  phone?: number;

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

  @UpdateDateColumn({ name: 'updated_at' })
  updatedAt: Date;
}
