fractal->collection(AdminRole::all()) ->transformWith($this->getTransformer(AdminRoleTransformer::class)) ->toArray(); } /** * Returns a single role. * * @throws \Illuminate\Contracts\Container\BindingResolutionException */ public function view(GetRoleRequest $request, AdminRole $role): array { return $this->fractal->item($role) ->transformWith($this->getTransformer(AdminRoleTransformer::class)) ->toArray(); } /** * Creates a new role. * * @throws \Illuminate\Contracts\Container\BindingResolutionException */ public function store(StoreRoleRequest $request): JsonResponse { $data = array_merge($request->validated(), [ 'sort_id' => 99, ]); $role = AdminRole::query()->create($data); return $this->fractal->item($role) ->transformWith($this->getTransformer(AdminRoleTransformer::class)) ->respond(JsonResponse::HTTP_CREATED); } /** * Updates a role. * * @throws \Illuminate\Contracts\Container\BindingResolutionException */ public function update(UpdateRoleRequest $request, AdminRole $role): array { $role->update($request->validated()); return $this->fractal->item($role) ->transformWith($this->getTransformer(AdminRoleTransformer::class)) ->toArray(); } /** * Deletes a role. * * @throws \Exception */ public function delete(DeleteRoleRequest $request, AdminRole $role): Response { $role->delete(); return $this->returnNoContent(); } }