diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index c255a5e..29fc9dd 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -59,20 +59,30 @@ class RouteServiceProvider extends ServiceProvider ->group(base_path('routes/web.php')); }); - Route::macro('apiAttachmentResource', function ($uri, $controller) { + Route::macro('apiAddendumResource', function ($addendum, $uri, $controller) { $singularUri = Str::singular($uri); + $pluralAddendumLC = strtolower(Str::plural($addendum)); + $pluralAddendumTC = ucfirst($pluralAddendumLC); + $singularAddendumTC = Str::singular($pluralAddendumTC); - Route::get("$uri/{{$singularUri}}/attachments", [$controller, 'getAttachments']) - ->name("{{$singularUri}}.attachments.index"); + Route::get("$uri/{{$singularUri}}/{{$pluralAddendumLC}}", [$controller, "get{{$pluralAddendumTC}}"]) + ->name("{{$singularUri}}.{{$pluralAddendumLC}}.index"); - Route::post("$uri/{{$singularUri}}/attachments", [$controller, 'storeAttachment']) - ->name("{{$singularUri}}.attachments.store"); + Route::post("$uri/{{$singularUri}}/{{$pluralAddendumLC}}", [$controller, "store{{$singularAddendumTC}}"]) + ->name("{{$singularUri}}.{{$pluralAddendumLC}}.store"); - Route::match(['put', 'patch'], "$uri/{{$singularUri}}/attachments", [$controller, 'updateAttachments']) - ->name("{{$singularUri}}.attachments.update"); + Route::match( + ['put', 'patch'], + "$uri/{{$singularUri}}/{{$pluralAddendumLC}}", + [$controller, "update{{$pluralAddendumTC}}"] + ) + ->name("{{$singularUri}}.{{$pluralAddendumLC}}.update"); - Route::delete("$uri/{{$singularUri}}/attachments/{medium}", [$controller, 'deleteAttachment']) - ->name("{{$singularUri}}.attachments.destroy"); + Route::delete( + "$uri/{{$singularUri}}/{{$pluralAddendumLC}}/{medium}", + [$controller,"delete{{$singularAddendumTC}}"] + ) + ->name("{{$singularUri}}.{{$pluralAddendumLC}}.destroy"); }); } } diff --git a/routes/api.php b/routes/api.php index 57f0e72..fff3675 100644 --- a/routes/api.php +++ b/routes/api.php @@ -44,10 +44,10 @@ Route::apiResource('media', MediaController::class); Route::get('media/{medium}/download', [MediaController::class, 'download']); Route::apiResource('articles', ArticleController::class); -Route::apiAttachmentResource('articles', ArticleController::class); +Route::apiAddendumResource('attachment', 'articles', ArticleController::class); Route::apiResource('events', EventController::class); -Route::apiAttachmentResource('events', EventController::class); +Route::apiAddendumResource('attachment', 'events', EventController::class); Route::get('/events/{event}/users', [EventController::class, 'userList']); Route::post('/events/{event}/users', [EventController::class, 'userAdd']);