import { Entity, PrimaryGeneratedColumn, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn, Column, OneToMany, DeleteDateColumn, Collection } from "typeorm"
import { Campaign } from "./campaign.entity"
import { Users } from "./users.entity"
import { DraftVersions } from "./draft_versions.entity"
import { DraftComments } from "./draft_comments.entity"
import { CampaignInfluencer } from "./campaign_influencer.entity"


@Entity("reject_completion_request")
export class RejectCompletionRequest {
    @PrimaryGeneratedColumn("uuid")
    id: string
 
    @ManyToOne(() => CampaignInfluencer, (camapignInfluencer) => camapignInfluencer.rejectCompletionRequest, { onDelete: "CASCADE" })
    @JoinColumn({ name: "campaign_influencer_id" })
    campaign_influencer: CampaignInfluencer

    @Column({ type: "text", nullable:true})
    reason: string
   
    @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;
   
}
