@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
65 lines • 2.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AgrWorkClient = void 0;
const base_client_1 = require("../../core/base-client");
const resources_1 = require("./resources");
/**
* AGR Work Service Client
* @description Client for interacting with AGR Work microservice API endpoints for system health monitoring and basic connectivity testing
* @fullPath api.agrWork
* @service agr-work
* @domain system-monitoring
* @discoverable true
* @searchTerms ["agr-work", "health monitoring", "connectivity testing", "system health", "ping pong", "service monitoring", "uptime"]
* @relatedEndpoints ["api.agrWork.healthCheck.get", "api.agrWork.ping.get", "api.agrInfo.healthCheck.get"]
* @commonPatterns ["System health monitoring", "Basic connectivity testing", "Service availability checks"]
* @workflow ["health-monitoring", "connectivity-testing", "system-diagnostics"]
* @functionalArea "system-monitoring"
* @businessRules ["Requires valid site authentication", "Minimal processing for fast responses", "Used for monitoring and alerting systems"]
* @performance "Ultra-fast responses designed for monitoring scripts and health checks"
* @example
* ```typescript
* import { HTTPClient } from '@augur/api-client/core';
* import { AgrWorkClient } from '@augur/api-client/services/agr-work';
*
* const http = new HTTPClient('agr-work', { siteId: 'your-site-id', bearerToken: 'your-token' });
* const agrWork = new AgrWorkClient(http);
*
* // Check service health
* const health = await agrWork.healthCheck.get();
* const healthData = await agrWork.healthCheck.getData();
*
* // Test basic connectivity
* const ping = await agrWork.ping.get();
* const pongData = await agrWork.ping.getData();
*
* // Use in monitoring loop
* setInterval(async () => {
* try {
* await agrWork.ping.get();
* console.log('AGR Work service is alive');
* } catch (error) {
* console.error('AGR Work service unreachable:', error);
* }
* }, 30000);
* ```
*/
class AgrWorkClient extends base_client_1.BaseServiceClient {
constructor(http, baseUrl) {
super('agr-work', http, baseUrl || 'https://agr-work.augur-api.com');
// Bind executeRequest for resource factories
const boundExecuteRequest = (config, params, pathParams) => {
return this.executeRequest(config, params, pathParams);
};
// Initialize resources
this.healthCheck = (0, resources_1.createHealthCheckResource)(boundExecuteRequest);
this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck);
this.ping = (0, resources_1.createPingResource)(boundExecuteRequest);
this.pingData = (0, resources_1.createPingDataResource)(this.ping);
}
getServiceDescription() {
return 'AGR Work service for system health monitoring and connectivity testing';
}
}
exports.AgrWorkClient = AgrWorkClient;
//# sourceMappingURL=client.js.map