medialibrary-helper/src/ServiceProvider.php

47 lines
1.4 KiB
PHP
Raw Normal View History

2023-03-06 14:00:22 +01:00
<?php
namespace Zoomyboy\MedialibraryHelper;
use Illuminate\Routing\Router;
use Illuminate\Support\ServiceProvider as BaseServiceProvider;
use Spatie\MediaLibrary\MediaCollections\MediaCollection;
class ServiceProvider extends BaseServiceProvider
{
public function register(): void
{
app()->bind('media-library-helpers', fn () => collect([]));
}
public function boot(): void
{
2023-03-07 15:31:24 +01:00
app(Router::class)->group($this->routeGroup(), function ($router) {
2023-03-06 14:00:22 +01:00
$router->post('mediaupload', [MediaController::class, 'store'])->name('media.store');
$router->delete('mediaupload/{media}', [MediaController::class, 'destroy'])->name('media.destroy');
$router->get('mediaupload/{parent_model}/{parent_id}/{collection}', [MediaController::class, 'index'])->name('media.index');
});
MediaCollection::macro('forceFileName', function ($callback) {
$this->forceFileRenamer = $callback;
return $this;
});
2023-03-07 15:31:24 +01:00
MediaCollection::macro('storing', function ($callback) {
$this->storingCallback = $callback;
return $this;
});
}
/**
* @return array{middleware: array<int, string>}
*/
protected function routeGroup(): array
{
return [
'middleware' => config('medialibrary-helper.middleware'),
];
2023-03-06 14:00:22 +01:00
}
}