/// Health check endpoint for API connectivity testing library; import '../client.dart'; import '../types.dart'; // ============================================================================= // Health Endpoint // ============================================================================= /// Extension on CqrsApiClient for health check operations extension HealthEndpoint on CqrsApiClient { /// Check if the API is healthy and responding /// /// Returns a `Result` where: /// - Success: true if API is healthy /// - Error: ApiError with details about the failure /// /// Example: /// ```dart /// final client = CqrsApiClient(config: ApiClientConfig.development); /// final result = await client.checkHealth(); /// /// result.when( /// success: (isHealthy) => print('API is healthy: $isHealthy'), /// error: (error) => print('Health check failed: ${error.message}'), /// ); /// ``` Future> checkHealth() async { return executeQuery( endpoint: 'health', query: const HealthQuery(), fromJson: (json) => json as bool, ); } } /// Standalone health check function for convenience /// /// Creates a temporary client instance to perform the health check. /// Use this when you don't have a client instance readily available. /// /// Example: /// ```dart /// final result = await performHealthCheck(); /// if (result.isSuccess && result.value) { /// print('API is ready!'); /// } /// ``` Future> performHealthCheck({ ApiClientConfig config = ApiClientConfig.development, }) async { final client = CqrsApiClient(config: config); try { return await client.checkHealth(); } finally { client.dispose(); } }