id}", $ttl); return $lock->get() ? $lock : null; } private function vmLocked(): JsonResponse { return response()->json([ 'success' => false, 'message' => 'VM đang có thao tác đang xử lý, vui lòng chờ rồi thử lại.', ], 429); } /** * Normalise the array|string return value from Power ON/OFF actions. */ private function vmResponse(array|string $result, string $successMessage): JsonResponse { if ($result === 'Login_Again') { return response()->json([ 'success' => false, 'message' => 'Không thể đăng nhập vào vCenter.', ], 400); } if (is_string($result)) { return response()->json(['success' => false, 'message' => $result], 400); } if ($result['error'] ?? true) { return response()->json([ 'success' => false, 'message' => $result['data'] ?? 'Thao tác thất bại.', 'data' => $result, ], 400); } return response()->json([ 'success' => true, 'message' => $successMessage, 'data' => $result['data'] ?? 'success', ]); } }