UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

84 lines 3.37 kB
import { PingResponseSchema } from '../schemas'; /** * Creates the ping resource methods * OpenAPI Path: /ping → ping.* * @description Ping connectivity endpoint for AGR Work service */ export 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: 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: PingResponseSchema, }, undefined); return response.data; }, }; } /** * Creates the pingData resource methods (data-only versions) */ export function createPingDataResource(ping) { return { get: async () => { const response = await ping.get(); return response.data; }, }; } //# sourceMappingURL=ping.js.map