@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
88 lines • 3.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPingResource = createPingResource;
exports.createPingDataResource = createPingDataResource;
const schemas_1 = require("../schemas");
/**
* Creates the ping resource methods
* OpenAPI Path: /ping → ping.*
* @description Ping connectivity endpoint for AGR Work service
*/
function createPingResource(executeRequest) {
return {
/**
* Send ping request to verify basic connectivity
*
* @fullPath api.agrWork.ping.get
* @service agr-work
* @domain system-connectivity
* @dataMethod ping.getData - returns only the ping response data without metadata
* @discoverable true
* @searchTerms ["ping", "pong", "connectivity", "test", "alive", "echo", "network"]
* @relatedEndpoints ["api.agrWork.healthCheck.get", "api.agrInfo.healthCheck.get"]
* @commonPatterns ["Ping service", "Test connectivity", "Network check", "Basic alive test"]
* @workflow ["connectivity-testing", "network-diagnostics", "basic-monitoring", "service-verification"]
* @prerequisites ["Service is reachable", "Valid authentication token", "x-site-id header", "Network connectivity"]
* @nextSteps ["Use health check for detailed status", "Implement monitoring dashboards", "Set up alerting"]
* @businessRules ["Returns 'pong' response", "Minimal processing for speed", "Used for basic connectivity verification"]
* @functionalArea "system-monitoring"
* @caching "No caching - real-time connectivity test"
* @performance "Ultra-fast response, minimal payload, ideal for monitoring scripts"
*
* @returns Promise<PingResponse> Ping response (typically 'pong')
*
* @example
* ```typescript
* // Basic connectivity test
* const response = await client.ping.get();
* console.log(response.data); // Should be 'pong' or similar
* console.log(response.message); // Success message
*
* // Get just the ping response
* const pong = await client.ping.getData();
* console.log(pong); // Direct response string
*
* // Use in monitoring loop
* setInterval(async () => {
* try {
* await client.ping.get();
* console.log('Service is alive');
* } catch (error) {
* console.error('Service unreachable:', error);
* }
* }, 30000); // Check every 30 seconds
* ```
*/
get: async () => {
return executeRequest({
method: 'GET',
path: '/ping',
responseSchema: schemas_1.PingResponseSchema,
}, undefined);
},
/**
* Get ping response data only
* @returns Promise<string> Ping response string (typically 'pong')
*/
getData: async () => {
const response = await executeRequest({
method: 'GET',
path: '/ping',
responseSchema: schemas_1.PingResponseSchema,
}, undefined);
return response.data;
},
};
}
/**
* Creates the pingData resource methods (data-only versions)
*/
function createPingDataResource(ping) {
return {
get: async () => {
const response = await ping.get();
return response.data;
},
};
}
//# sourceMappingURL=ping.js.map