service->resolveChain(); } catch (Throwable $e) { return response()->json([ 'error' => true, 'message' => $e->getMessage(), ], 422); } return response()->json([ 'error' => false, 'data' => [ 'vcenter' => $chain['vcenter']->only(['id', 'host', 'user', 'status']), 'datacenter' => $chain['datacenter']->only(['id', 'name', 'datacenter_id', 'status']), 'host' => $chain['host']->only(['id', 'name', 'host_id', 'status']), 'datastore' => $chain['datastore']->only(['id', 'name', 'datastore', 'status']), 'network' => $chain['network']->only(['id', 'name', 'network', 'status']), ], ]); } /** POST /administrator/provider/{type}/{id}/activate */ public function activate(string $type, int $id): JsonResponse { try { $row = $this->service->activate($type, $id); } catch (Throwable $e) { return response()->json(['error' => true, 'message' => $e->getMessage()], 422); } return response()->json([ 'error' => false, 'data' => $row, ]); } /** POST /administrator/provider/{type}/{id}/deactivate */ public function deactivate(string $type, int $id): JsonResponse { try { $row = $this->service->deactivate($type, $id); } catch (Throwable $e) { return response()->json(['error' => true, 'message' => $e->getMessage()], 422); } return response()->json([ 'error' => false, 'data' => $row, ]); } }