diff --git a/src/Utility/Controller.php b/src/Utility/Controller.php index 4ea1268..d3a2a71 100644 --- a/src/Utility/Controller.php +++ b/src/Utility/Controller.php @@ -12,6 +12,7 @@ use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Http\JsonResponse; use Illuminate\Http\RedirectResponse; +use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Routing\Controller as LaravelController; use Illuminate\Support\Collection; use Illuminate\Support\Facades\App; @@ -124,7 +125,7 @@ public function callAction($method, $parameters) /** * Display a listing of the model. */ - public function index(): View|JsonResponse + public function index(): View|JsonResponse|\Illuminate\Http\Resources\Json\ResourceCollection { $this->breadcrumbs->put('index', [ 'link' => $this->resolveRoute($this->routeIndex), @@ -143,7 +144,7 @@ public function index(): View|JsonResponse /** * Display the specified resource. */ - public function show(int|string $entityId): View|JsonResponse + public function show(int|string $entityId): View|JsonResponse|JsonResource { $this->breadcrumbs->put('view', [ 'link' => '', @@ -158,7 +159,7 @@ public function show(int|string $entityId): View|JsonResponse /** * Show the form to create a new resource, only for web responses. */ - public function create(): View|JsonResponse + public function create(): View|JsonResponse|JsonResource { $this->breadcrumbs->put('create', [ 'link' => $this->resolveRoute($this->createRoute), @@ -171,7 +172,7 @@ public function create(): View|JsonResponse /** * Store a newly created resource in storage. */ - public function store(): JsonResponse|RedirectResponse + public function store(): JsonResponse|RedirectResponse|JsonResource { $entity = $this->repository->create($this->request->except(['_token', '_method'])); @@ -181,7 +182,7 @@ public function store(): JsonResponse|RedirectResponse /** * Show the form for editing the specified resource. */ - public function edit(int|string $entityId): View|JsonResponse + public function edit(int|string $entityId): View|JsonResponse|JsonResource { $this->breadcrumbs->put('edit', [ 'link' => '', @@ -196,7 +197,7 @@ public function edit(int|string $entityId): View|JsonResponse /** * Update the specified resource in storage. */ - public function update(int|string $entityId): JsonResponse|RedirectResponse + public function update(int|string $entityId): JsonResponse|RedirectResponse|JsonResource { $updatedCount = $this->repository->update($entityId, $this->request->except(['_token', '_method'])); @@ -208,7 +209,7 @@ public function update(int|string $entityId): JsonResponse|RedirectResponse * * @throws Exception */ - public function destroy(int|string $entityId): JsonResponse|RedirectResponse + public function destroy(int|string $entityId): JsonResponse|RedirectResponse|JsonResource { $deletedCount = $this->repository->delete($entityId);