import { Entity, PrimaryGeneratedColumn, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn, Column, DeleteDateColumn } from "typeorm"
import { Campaign } from "./campaign.entity"
import { Users } from "./users.entity"
import { Draft } from "./draft.entity"


@Entity("draft_comments")
export class DraftComments {
    @PrimaryGeneratedColumn("uuid")
    id: string

    @ManyToOne(() => Draft, (draft) => draft.draftComments, { onDelete: "CASCADE" })
    @JoinColumn({ name: "draft_id" })
    draft: Draft

    @Column({ nullable: true })
    comment: string;

    @ManyToOne(() => Users, (user) => user.id)
    @JoinColumn({ name: "from_user_id" })
    fromUser: Users

    @CreateDateColumn({
    type: 'timestamp',
    precision: 0,
    default: () => 'CURRENT_TIMESTAMP',
    })
    created_at: Date;

    @UpdateDateColumn({
    type: 'timestamp',
    precision: 0,
    default: () => 'CURRENT_TIMESTAMP',
    onUpdate: 'CURRENT_TIMESTAMP',
    })
    updated_at: Date;

    @DeleteDateColumn({ type: 'timestamp', nullable: true, precision: 0 })
    deleted_at: Date;
}
