HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/ai.naniguide.com/app/Model/AdCampaignPlatform.php
<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class AdCampaignPlatform extends Model
{
    const STATUS_PENDING = 'pending';
    const STATUS_SUBMITTED = 'submitted';
    const STATUS_ACTIVE = 'active';
    const STATUS_PAUSED = 'paused';
    const STATUS_REJECTED = 'rejected';
    const STATUS_ERROR = 'error';

    const STATUSES = [
        self::STATUS_PENDING,
        self::STATUS_SUBMITTED,
        self::STATUS_ACTIVE,
        self::STATUS_PAUSED,
        self::STATUS_REJECTED,
        self::STATUS_ERROR,
    ];

    protected $table = 'ad_campaign_platforms';

    protected $fillable = [
        'ad_campaign_id',
        'ad_platform_id',
        'ad_account_id',
        'remote_campaign_id',
        'remote_adset_id',
        'remote_ad_id',
        'status',
        'rejection_reason',
        'last_synced_at',
        'metadata',
    ];

    protected $casts = [
        'metadata' => 'json',
        'last_synced_at' => 'datetime',
    ];

    public function campaign()
    {
        return $this->belongsTo(AdCampaign::class, 'ad_campaign_id');
    }

    public function platform()
    {
        return $this->belongsTo(AdPlatform::class, 'ad_platform_id');
    }

    public function account()
    {
        return $this->belongsTo(AdAccount::class, 'ad_account_id');
    }
}