import { ScanResultStatusEnum } from 'common/enum/scan-result.enum';
import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';

@Entity('website_scan_results')
export class ScanResult {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ name: 'website_url' })
  url: string;

  @Column({ type: 'enum', enum: ScanResultStatusEnum, default: ScanResultStatusEnum.InProgress, name: 'scan_status' })
  status: ScanResultStatusEnum;

  @Column({ type: 'json', nullable: true, name: 'scan_results' })
  results: any;

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

  @Column({ name: 'scan_date' })
  scanDate: Date;

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

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