import {
  Entity,
  PrimaryGeneratedColumn,
  ManyToOne,
  JoinColumn,
  CreateDateColumn,
  UpdateDateColumn,
  Column,
} from 'typeorm';
import { Campaign } from './campaign.entity';
import { Users } from './users.entity';

@Entity('influencer_campaign_recommended')
export class InfluencerCampaignRecommended {
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @ManyToOne(() => Campaign, (campaign) => campaign.influencerCampaignRecommended, { onDelete: 'CASCADE' })
  @JoinColumn({ name: 'campaign_id' })
  campaign: Campaign;

  @ManyToOne(() => Users, (influencer) => influencer.influencerCampaignRecommended, { onDelete: 'CASCADE' })
  @JoinColumn({ name: 'influencer_id' })
  influencer: Users;

  @Column({ type: 'varchar', nullable: true })
  score: string;

  @Column({ type: 'boolean', default: false })
  is_admin_recommended: boolean

  @CreateDateColumn()
  createdAt: Date;

  @UpdateDateColumn()
  updatedAt: Date;
}
