|null $metadata * @property string $version * @property int $skip_optimize * @property Carbon|null $processed_at * @property Carbon|null $thumbnail_generated * @property Carbon|null $created_at * @property Carbon|null $updated_at * * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia newQuery() * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia query() * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereBlurhash($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereCdnUrl($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereCwSummary($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereGroupId($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereHeight($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereIsCached($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereIsComment($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereLicense($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereLocalUser($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereMediaPath($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereMetadata($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereMime($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereOrder($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereProcessedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereProfileId($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereSize($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereSkipOptimize($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereStatusId($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereThumbnailGenerated($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereThumbnailUrl($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereUrl($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereVersion($value) * @method static \Illuminate\Database\Eloquent\Builder|GroupMedia whereWidth($value) * * @mixin \Eloquent */ class GroupMedia extends Model { use HasFactory; /** * Get the attributes that should be cast. * * @return array */ protected function casts(): array { return [ 'metadata' => 'json', 'processed_at' => 'datetime', 'thumbnail_generated' => 'datetime', ]; } public function url() { if ($this->cdn_url) { return $this->cdn_url; } return Storage::url($this->media_path); } public function thumbnailUrl() { return $this->thumbnail_url; } }