@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
91 lines • 4.44 kB
JavaScript
"use strict";
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 endpoint for SmartyStreets connectivity verification
*/
function createPingResource(executeRequest) {
return {
/**
* Ping SmartyStreets service for connectivity verification
*
* @fullPath api.smartyStreets.ping.get
* @service smarty-streets
* @domain system-health
* @dataMethod pingData.get
* @discoverable true
* @searchTerms ["ping", "connectivity", "response time", "pong", "test", "smartystreets ping", "service alive", "latency check"]
* @relatedEndpoints ["api.smartyStreets.healthCheck.get", "api.smartyStreets.us.lookup.get", "api.customers.addresses.ping", "api.logistics.ping.get"]
* @commonPatterns ["Ping test", "Connectivity check", "Response time test", "Service alive check", "Latency monitoring"]
* @workflow ["system-monitoring", "connectivity-tests", "performance-monitoring", "service-diagnostics", "latency-measurement"]
* @prerequisites ["Service is running", "Valid authentication token", "x-site-id header", "Network connectivity"]
* @nextSteps ["Use for latency monitoring", "Verify consistent response times", "Include in system health dashboards"]
* @businessRules ["Returns pong response", "Measures response time", "Requires standard authentication", "Simple connectivity test"]
* @functionalArea "system-monitoring"
* @caching "No caching - real-time ping test required"
* @performance "Ultra-fast response, use for latency monitoring and connectivity verification"
*
* @param params Ping parameters with site ID
* @returns Promise<PingResponse> Ping response with timing information
*
* @example
* ```typescript
* // Test service connectivity
* const response = await client.ping.get({ 'x-site-id': 'SITE123' });
* console.log(response.data.message); // 'pong'
* console.log(response.data.response_time_ms); // Response time
* console.log(response.status); // HTTP status code
*
* // Get just the ping data
* const pingData = await client.pingData.get({ 'x-site-id': 'SITE123' });
* console.log(pingData); // Ping data object
* ```
*/
get: async (params) => {
return executeRequest({
method: 'GET',
path: '/ping',
paramsSchema: schemas_1.PingParamsSchema,
responseSchema: schemas_1.PingResponseSchema,
}, params);
},
};
}
/**
* Creates the pingData resource methods (data-only versions)
*/
function createPingDataResource(ping) {
return {
/**
* Get SmartyStreets ping data without full response metadata
*
* @fullPath api.smartyStreets.ping.getData
* @service smarty-streets
* @domain system-health
* @dataMethod ping.getData
* @discoverable true
* @searchTerms ["ping data", "connectivity test", "response time", "service latency"]
* @relatedEndpoints ["api.smartyStreets.ping.get", "api.smartyStreets.healthCheck.get"]
* @commonPatterns ["Get ping response", "Check connectivity", "Measure latency"]
* @workflow ["system-monitoring", "connectivity-tests", "performance-monitoring"]
* @prerequisites ["Valid authentication token", "x-site-id header"]
* @nextSteps ["Use for latency monitoring", "Include in performance dashboards"]
* @businessRules ["Returns only ping data object", "No response metadata included"]
* @functionalArea "system-monitoring"
* @caching "No caching - real-time ping test required"
* @performance "Direct data access, optimal for latency monitoring"
*
* @param params Ping parameters with site ID
* @returns Promise<PingData> Direct ping response data object
*/
get: async (params) => {
const response = await ping.get(params);
return response.data;
},
};
}
//# sourceMappingURL=ping.js.map