getMediaConversionNames())->flip()->map( fn ($integer, $conversion) => $media->hasGeneratedConversion($conversion) ? ['original_url' => $media->getFullUrl($conversion)] : null, ); return self::withoutMagicalCreationFrom([ ...$media->toArray(), 'conversions' => $conversions->toArray(), ]); } public function with(): array { $mime = Str::slug($this->mimeType); return [ 'icon' => Storage::disk('public')->url("filetypes/{$mime}.svg"), ]; } public static function defaultFromCollection(HasMedia $parent, MediaCollection $collection): ?self { $default = $collection->runCallback('withFallback', $parent); if (is_null($default)) { return null; } return static::from([ 'id' => null, 'originalUrl' => Storage::disk($default[1])->url($default[0]), 'size' => -1, 'collection_name' => $collection->name, 'name' => pathinfo($default[0], PATHINFO_FILENAME), 'file_name' => pathinfo($default[0], PATHINFO_BASENAME), 'properties' => [], 'fallback' => true, 'mime_type' => Storage::disk($default[1])->mimeType($default[0]), ]); } }