import Foundation import Apollo class GraphQLService { static let shared = GraphQLService() private let apollo: ApolloClient private init() { let url = URL(string: "https://api.sankofa.nexus/graphql")! let store = ApolloStore(cache: InMemoryNormalizedCache()) let networkTransport = RequestChainNetworkTransport( interceptorProvider: DefaultInterceptorProvider(store: store), endpointURL: url ) self.apollo = ApolloClient(networkTransport: networkTransport, store: store) } func fetchResources(completion: @escaping (Result<[Resource], Error>) -> Void) { // GraphQL query implementation // This would use Apollo iOS SDK to fetch resources } func fetchSystemHealth(completion: @escaping (Result) -> Void) { // GraphQL query for system health } func fetchCostOverview(completion: @escaping (Result) -> Void) { // GraphQL query for cost overview } } struct Resource: Codable { let id: String let name: String let type: String let status: String } struct SystemHealth: Codable { let regions: HealthMetrics let clusters: HealthMetrics let nodes: HealthMetrics } struct HealthMetrics: Codable { let total: Int let healthy: Int let warning: Int let critical: Int } struct CostOverview: Codable { let currentMonth: Double let lastMonth: Double let trend: String let percentageChange: Double }