misaf/vendra-multimedia

Maintainers

Package info

github.com/misaf/vendra-multimedia

Type:vendra-module

pkg:composer/misaf/vendra-multimedia

Transparency log

Statistics

Installs: 261

Dependents: 10

Suggesters: 0

Stars: 1

Open Issues: 0

v1.0.1 2026-07-06 21:45 UTC

This package is auto-updated.

Last update: 2026-07-07 20:43:58 UTC


README

Tenant-aware media management for Vendra applications.

Features

  • Tenant-scoped Spatie Media Library model
  • UUID-based media storage paths
  • Default WebP media conversions helper
  • Filament resource and optional widget on the admin panel
  • Translation and migration publishing support

Requirements

  • PHP 8.3+
  • Laravel 12 or 13
  • Filament 5
  • Livewire 4
  • Pest 4
  • misaf/vendra-tenant
  • misaf/vendra-user
  • spatie/laravel-medialibrary

Installation

composer require misaf/vendra-multimedia
php artisan vendor:publish --tag=medialibrary-migrations
php artisan vendor:publish --tag=vendra-multimedia-migrations
php artisan migrate

Set the media model and path generator in config/media-library.php:

'media_model' => \Misaf\VendraMultimedia\Models\Multimedia::class,
'path_generator' => \Misaf\VendraMultimedia\Support\DefaultPathGenerator::class,

Optional translations publish:

php artisan vendor:publish --tag=vendra-multimedia-translations

Usage

Use Spatie Media Library as usual:

$model
    ->addMedia($pathToFile)
    ->toMediaCollection('default');

Models can reuse the default conversions:

use Misaf\VendraMultimedia\Concerns\HasDefaultMediaConversions;

class Product extends Model implements HasMedia
{
    use HasDefaultMediaConversions;
    use InteractsWithMedia;
}

In Filament, media records are available on the admin panel.

Testing

composer test

License

MIT. See LICENSE.