bound('tenant_id') || ! app('tenant_id')) { $tenantId = (int) ($request->header('X-TENANT-ID') ?: 287); app()->instance('tenant_id', $tenantId); } if (! app()->bound('api_user') || ! app('api_user')) { app()->instance('api_user', 1); } } public function index(Request $request): JsonResponse { $this->ensureContext($request); return ApiResponse::handle(function () use ($request) { $params = $request->only(['item_category', 'item_sep', 'model_UA', 'check_type', 'model_name', 'search', 'page', 'size']); $paginator = $this->service->list($params); $paginator->getCollection()->transform(fn ($item) => (new GuiderailModelResource($item))->resolve()); return $paginator; }, __('message.fetched')); } public function filters(Request $request): JsonResponse { $this->ensureContext($request); return ApiResponse::handle( fn () => $this->service->filters(), __('message.fetched') ); } public function show(Request $request, int $id): JsonResponse { $this->ensureContext($request); return ApiResponse::handle( fn () => new GuiderailModelResource($this->service->find($id)), __('message.fetched') ); } public function store(Request $request): JsonResponse { $this->ensureContext($request); return ApiResponse::handle( fn () => new GuiderailModelResource($this->service->create($request->all())), __('message.created') ); } public function update(Request $request, int $id): JsonResponse { $this->ensureContext($request); return ApiResponse::handle( fn () => new GuiderailModelResource($this->service->update($id, $request->all())), __('message.updated') ); } public function destroy(Request $request, int $id): JsonResponse { $this->ensureContext($request); return ApiResponse::handle( fn () => $this->service->delete($id), __('message.deleted') ); } }