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
|
|
|
}
|
|
|
|
}
|