AdImage.php 1.33 KB
<?php

namespace App\Models;

use App\Models\Pivots\GoalAdImage;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Facades\Http;

class AdImage extends Model
{
    use SoftDeletes;

    const TYPE_SMALL = 'SMALL';
    const TYPE_REGULAR = 'REGULAR';
    const TYPE_WIDE = 'WIDE';
    const TYPE_FIXED_IMAGE = 'FIXED_IMAGE';
    const TYPE_UNFIT = 'UNFIT';

    const SUBTYPE_IMG_240_400 = 'IMG_240_400';
    const SUBTYPE_IMG_300_250 = 'IMG_300_250';
    const SUBTYPE_IMG_300_500 = 'IMG_300_500';
    const SUBTYPE_IMG_300_600 = 'IMG_300_600';
    const SUBTYPE_IMG_336_280 = 'IMG_336_280';
    const SUBTYPE_IMG_640_100 = 'IMG_640_100';
    const SUBTYPE_IMG_640_200 = 'IMG_640_200';
    const SUBTYPE_IMG_640_960 = 'IMG_640_960';
    const SUBTYPE_IMG_728_90 = 'IMG_728_90';
    const SUBTYPE_IMG_960_640 = 'IMG_960_640';
    const SUBTYPE_IMG_970_250 = 'IMG_970_250';
    const SUBTYPE_NONE = 'NONE';


    protected $fillable = [
        'token_id',
        'hash',
        'name',
        'type',
        'subtype',
        'original_url',
        'preview_url',
    ];

    public function getImageDataAttribute()
    {
        return Http::get($this->original_url)->body();
    }

    public function goalAdImages()
    {
        return $this->hasMany(GoalAdImage::class, 'ad_image_id');
    }

}