AdExtension.php 1.16 KB
<?php

namespace App\Models;

use App\Models\Pivots\GoalAdExtension;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Collection;

class AdExtension extends Model
{
    use SoftDeletes;

    const TYPE_CALLOUT = 'CALLOUT';
    const TYPE_UNKNOWN = 'UNKNOWN';

    const STATE_ON = 'ON';
    const STATE_DELETED = 'DELETED';
    const STATE_UNKNOWN = 'UNKNOWN';

    const STATUS_ACCEPTED = 'ACCEPTED';
    const STATUS_DRAFT = 'DRAFT';
    const STATUS_MODERATION = 'MODERATION';
    const STATUS_REJECTED = 'REJECTED';
    const STATUS_UNKNOWN = 'UNKNOWN';


    protected $fillable = [
        'token_id',
        'external_id',
        'callout_text',
        'associated',
        'type',
        'state',
        'status',
        'status_clarification',
    ];

    protected $casts = [
        'associated' => 'boolean',
    ];

    /**
     * @return Collection
     */
    static public function getPropertiesWatch()
    {
        return collect([
            'callout_text',
        ]);
    }

    public function goalAdExtensions()
    {
        return $this->hasMany(GoalAdExtension::class, 'ad_extension_id');
    }

}