Files
wticreatorstudio/Modules/StudioPlus/Entities/StudioPlusThumbnail.php
T
2024-04-19 03:06:08 -04:00

55 lines
1.3 KiB
PHP

<?php
namespace Modules\StudioPlus\Entities;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Config;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Support\Facades\Log;
class StudioPlusThumbnail extends Model
{
use HasFactory;
protected $fillable = [
'studio_plus_video_id',
'filename',
'thumbnail_url',
'is_active',
'is_short',
'is_uploaded'
];
protected $hidden = [
'video'
];
protected $casts = [
'is_short' => 'boolean',
];
public function video()
{
return $this->belongsTo(StudioPlusVideo::class, 'studio_plus_video_id', 'id');
}
public function getThumbnailUrlAttribute($value)
{
//if ($this->video->upload_status !== StudioPlusVideo::UPLOAD_STATUS_COMPLETE && str_contains($value, 'temp')) {
if (strpos($value, 'temp') !== false) {
return asset("storage/$value");
}
else if (strpos($value, 'pendinguploadthumbnail')) {
return $value;
}
else {
$bucketName = Config::get('studioplus.bucket_name');
$value = Str::remove('wticreatorhub/', $value);
return Config::get('studioplus.google_api_endpoint') . "/$bucketName/$value";
}
}
}