// src/error-reports/error-report.entity.ts
import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, ManyToOne } from 'typeorm';
import { Users } from './users.entity';

export enum SocialPlatform {
    FACEBOOK = 'facebook',
    INSTAGRAM = 'instagram',
    YOUTUBE = 'youtube',
    TIKTOK = 'tiktok'
}

@Entity('error_reports')
export class ErrorReport {
    @PrimaryGeneratedColumn('uuid')
    id: string;

    @Column({ type: 'enum', enum: SocialPlatform })
    platform: SocialPlatform;

    @Column({ type: 'varchar', length: 80 })
    handle: string;

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

    @ManyToOne(() => Users, (user) => user.id, { onDelete: 'CASCADE' })
    users: Users;

    @Column({ type: 'jsonb', default: null })
    attachments: Record<string, any>;

    @Column({ type: 'jsonb', default: null })
    metadata: Record<string, any>;

    @CreateDateColumn()
    created_at: Date;
}
