diff --git a/Modules/Tag/Http/Controllers/Api/TagByNamespaceController.php b/Modules/Tag/Http/Controllers/Api/TagByNamespaceController.php new file mode 100644 index 000000000..823bccdb3 --- /dev/null +++ b/Modules/Tag/Http/Controllers/Api/TagByNamespaceController.php @@ -0,0 +1,28 @@ +tag = $tag; + } + + public function __invoke(Request $request) + { + $availableTags = $this->tag->allForNamespace($request->get('namespace')); + + return response()->json(TagTransformer::collection($availableTags)); + } +} diff --git a/Modules/Tag/Http/apiRoutes.php b/Modules/Tag/Http/apiRoutes.php new file mode 100644 index 000000000..7dd5f48bd --- /dev/null +++ b/Modules/Tag/Http/apiRoutes.php @@ -0,0 +1,10 @@ +get('tags/namespace', [ + 'as' => 'api.tag.tag.by-namespace', + 'uses' => 'TagByNamespaceController', + 'middleware' => 'token-can:tag.tags.index', +]); diff --git a/Modules/Tag/Providers/RouteServiceProvider.php b/Modules/Tag/Providers/RouteServiceProvider.php index e19f6e58d..108bccfc0 100644 --- a/Modules/Tag/Providers/RouteServiceProvider.php +++ b/Modules/Tag/Providers/RouteServiceProvider.php @@ -33,6 +33,6 @@ protected function getBackendRoute() */ protected function getApiRoute() { - return false; + return __DIR__ . '/../Http/apiRoutes.php'; } }