permissionService->all(); return $this->successResponse(payload: new PermissionCollection($permissions)); } public function allNoTree(): JsonResponse { $permissions = $this->permissionService->allNoTree(); return $this->successResponse(payload: new PermissionCollection($permissions)); } public function show(int $id): JsonResponse { $permission = $this->permissionService->find($id); return $this->successResponse(payload: new PermissionResource($permission)); } public function store(PermissionRequest $request): JsonResponse { $permission = $this->permissionService->store(PermissionDto::fromRequest($request)); return $this->successResponse(payload: new PermissionResource($permission), message: __('messages.created'), code: 201); } public function update(PermissionRequest $request, int $id): JsonResponse { $permission = $this->permissionService->update(PermissionDto::fromRequest($request), $id); return $this->successResponse(payload: new PermissionResource($permission), message: __('messages.updated')); } public function destroy(int $id): JsonResponse { $this->permissionService->delete($id); return $this->successResponse(message: __('messages.deleted'), code: 204); } }