@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
74 lines • 3.15 kB
JavaScript
import { HealthCheckResponseSchema } from '../schemas';
/**
* Creates the healthCheck resource methods
* OpenAPI Path: /health-check → healthCheck.*
* @description Health check endpoint for AGR Work service
*/
export function createHealthCheckResource(executeRequest) {
return {
/**
* Check service health and availability
*
* @fullPath api.agrWork.healthCheck.get
* @service agr-work
* @domain system-health
* @dataMethod healthCheck.getData - returns only the health status data without metadata
* @discoverable true
* @searchTerms ["health", "status", "availability", "ping", "check", "monitoring"]
* @relatedEndpoints ["api.agrWork.ping.get", "api.agrInfo.healthCheck.get", "api.customers.healthCheck.get", "api.commerce.healthCheck.get", "api.items.healthCheck.get"]
* @commonPatterns ["Health check", "Service status", "API availability", "System monitoring"]
* @workflow ["system-monitoring", "health-checks", "service-discovery", "uptime-monitoring"]
* @prerequisites ["Service is running", "Valid authentication token", "x-site-id header"]
* @nextSteps ["Use other endpoints if healthy", "Check ping for basic connectivity", "Monitor service metrics"]
* @businessRules ["Returns service status and basic info", "Requires authentication", "Standard health check format"]
* @functionalArea "system-monitoring"
* @caching "No caching - real-time status required"
* @performance "Fast response, minimal processing, use for health monitoring"
*
* @returns Promise<HealthCheckResponse> Service health status
*
* @example
* ```typescript
* // Check if service is healthy
* const response = await client.healthCheck.get();
* console.log(response.data); // Health status string
* console.log(response.status); // HTTP status code
*
* // Get just the health status
* const status = await client.healthCheck.getData();
* console.log(status); // Direct string access
* ```
*/
get: async () => {
return executeRequest({
method: 'GET',
path: '/health-check',
responseSchema: HealthCheckResponseSchema,
}, undefined);
},
/**
* Get health check status data only
* @returns Promise<string> Health status string
*/
getData: async () => {
const response = await executeRequest({
method: 'GET',
path: '/health-check',
responseSchema: HealthCheckResponseSchema,
}, undefined);
return response.data;
},
};
}
/**
* Creates the healthCheckData resource methods (data-only versions)
*/
export function createHealthCheckDataResource(healthCheck) {
return {
get: async () => {
const response = await healthCheck.get();
return response.data;
},
};
}
//# sourceMappingURL=health-check.js.map