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

@Entity('influencer_save_campaigns')
export class InfluenceSaveCampaigns {
    @PrimaryGeneratedColumn('uuid')
    id: string;

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

    @ManyToOne(() => Users, (user) => user.favoritedBy, { onDelete: 'CASCADE' })
    @JoinColumn({ name: "influencer_id" })
    influencer: Users; // The influencer being favorited

    @CreateDateColumn()
    createdAt: Date;
}