UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

217 lines 10.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMicroservicesResource = createMicroservicesResource; exports.createMicroservicesDataResource = createMicroservicesDataResource; const schemas_1 = require("../schemas"); /** * Creates the microservices resource methods * OpenAPI Path: /microservices → microservices.* * @description Microservices management endpoints */ function createMicroservicesResource(executeRequest) { return { /** * List available microservices with filtering and pagination * * @fullPath api.agrInfo.microservices.list * @service agr-info * @domain microservice-management * @dataMethod microservicesData.list * @discoverable true * @searchTerms ["microservices", "services", "list", "status", "infrastructure"] * @relatedEndpoints ["api.agrInfo.microservices.get", "api.agrInfo.microservices.create"] * @commonPatterns ["List all microservices", "Filter by status", "Service discovery"] * @workflow ["service-discovery", "infrastructure-monitoring", "microservice-management"] * @prerequisites ["Valid authentication", "Public access permissions"] * @nextSteps ["Get specific microservice details", "Manage individual services"] * @businessRules ["Supports pagination", "Can filter by status code", "Returns service metadata"] * @functionalArea "microservice-management" * @caching "Cache for 2 minutes, invalidate on service changes" * @performance "Use pagination for large service lists" * * @param params Optional filtering and pagination parameters * @returns Promise<MicroservicesListResponse> List of microservices */ list: async (params) => { return executeRequest({ method: 'GET', path: '/microservices', paramsSchema: schemas_1.MicroservicesListParamsSchema, responseSchema: schemas_1.MicroservicesListResponseSchema, }, params); }, /** * Get specific microservice details by UID * * @fullPath api.agrInfo.microservices.get * @service agr-info * @domain microservice-management * @dataMethod microservicesData.get * @discoverable true * @searchTerms ["microservice", "details", "get", "service", "info"] * @relatedEndpoints ["api.agrInfo.microservices.list", "api.agrInfo.microservices.update", "api.agrInfo.microservices.delete"] * @commonPatterns ["Get service details", "Service information", "Microservice lookup"] * @workflow ["service-inspection", "microservice-management", "configuration-review"] * @prerequisites ["Valid authentication", "Valid microservice UID"] * @nextSteps ["Update service configuration", "Monitor service status"] * @businessRules ["Requires valid microservices_uid", "Returns complete service metadata"] * @functionalArea "microservice-management" * @caching "Cache for 5 minutes, real-time for critical services" * @performance "Fast lookup by UID" * * @param microservicesUid Unique identifier for the microservice * @returns Promise<MicroserviceResponse> Microservice details */ get: async (microservicesUid) => { return executeRequest({ method: 'GET', path: '/microservices/{microservicesUid}', responseSchema: schemas_1.MicroserviceResponseSchema, }, undefined, { microservicesUid: String(microservicesUid) }); }, /** * Create a new microservice * * @fullPath api.agrInfo.microservices.create * @service agr-info * @domain microservice-management * @dataMethod microservicesData.create * @discoverable true * @searchTerms ["microservice", "create", "add", "new", "service", "register"] * @relatedEndpoints ["api.agrInfo.microservices.list", "api.agrInfo.microservices.get", "api.agrInfo.microservices.update"] * @commonPatterns ["Register new service", "Add microservice", "Service registration"] * @workflow ["service-deployment", "microservice-registration", "infrastructure-setup"] * @prerequisites ["Valid authentication", "Service deployment ready"] * @nextSteps ["Configure service settings", "Monitor new service health"] * @businessRules ["Validates service configuration", "Assigns unique UID", "Sets initial status"] * @functionalArea "microservice-management" * @caching "No caching - immediate registration" * @performance "Fast registration with validation" * * @param data Microservice creation data * @returns Promise<MicroserviceResponse> Created microservice details */ create: async (data) => { return executeRequest({ method: 'POST', path: '/microservices', paramsSchema: schemas_1.MicroserviceCreateParamsSchema, responseSchema: schemas_1.MicroserviceResponseSchema, }, data); }, /** * Update existing microservice configuration * * @fullPath api.agrInfo.microservices.update * @service agr-info * @domain microservice-management * @dataMethod microservicesData.update * @discoverable true * @searchTerms ["microservice", "update", "modify", "edit", "configure"] * @relatedEndpoints ["api.agrInfo.microservices.get", "api.agrInfo.microservices.list", "api.agrInfo.microservices.delete"] * @commonPatterns ["Update service config", "Modify microservice", "Change service status"] * @workflow ["service-configuration", "microservice-management", "status-updates"] * @prerequisites ["Valid authentication", "Existing microservice", "Valid microservices_uid"] * @nextSteps ["Verify configuration changes", "Monitor service after update"] * @businessRules ["Validates updated configuration", "Maintains service integrity", "Updates timestamps"] * @functionalArea "microservice-management" * @caching "Invalidate cache on update" * @performance "Fast updates with validation" * * @param microservicesUid Unique identifier for the microservice * @param data Updated microservice data * @returns Promise<MicroserviceResponse> Updated microservice details */ update: async (microservicesUid, data) => { return executeRequest({ method: 'PUT', path: '/microservices/{microservicesUid}', paramsSchema: schemas_1.MicroserviceUpdateParamsSchema, responseSchema: schemas_1.MicroserviceResponseSchema, }, data, { microservicesUid: String(microservicesUid) }); }, /** * Delete a microservice * * @fullPath api.agrInfo.microservices.delete * @service agr-info * @domain microservice-management * @dataMethod microservicesData.delete * @discoverable true * @searchTerms ["microservice", "delete", "remove", "unregister", "decommission"] * @relatedEndpoints ["api.agrInfo.microservices.list", "api.agrInfo.microservices.get"] * @commonPatterns ["Remove service", "Decommission microservice", "Unregister service"] * @workflow ["service-decommission", "microservice-cleanup", "infrastructure-management"] * @prerequisites ["Valid authentication", "Existing microservice", "Service shutdown confirmation"] * @nextSteps ["Verify service removal", "Update infrastructure documentation"] * @businessRules ["Confirms service is not critical", "Cleans up dependencies", "Logs deletion"] * @functionalArea "microservice-management" * @caching "Invalidate all related cache on delete" * @performance "Fast deletion with dependency checks" * * @param microservicesUid Unique identifier for the microservice * @returns Promise<boolean> Success indicator */ delete: async (microservicesUid) => { await executeRequest({ method: 'DELETE', path: '/microservices/{microservicesUid}', responseSchema: schemas_1.MicroserviceResponseSchema, }, undefined, { microservicesUid: String(microservicesUid) }); return true; }, }; } /** * Creates the microservicesData resource methods (data-only versions) */ function createMicroservicesDataResource(microservices) { return { /** * Get microservices list data only * @param params Optional filtering and pagination parameters * @returns Promise<Microservice[]> Array of microservices */ list: async (params) => { const response = await microservices.list(params); return response.data; }, /** * Get microservice details data only * @param microservicesUid Unique identifier for the microservice * @returns Promise<Microservice> Microservice details */ get: async (microservicesUid) => { const response = await microservices.get(microservicesUid); return response.data; }, /** * Get created microservice data only * @param data Microservice creation data * @returns Promise<Microservice> Created microservice */ create: async (data) => { const response = await microservices.create(data); return response.data; }, /** * Get updated microservice data only * @param microservicesUid Unique identifier for the microservice * @param data Updated microservice data * @returns Promise<Microservice> Updated microservice */ update: async (microservicesUid, data) => { const response = await microservices.update(microservicesUid, data); return response.data; }, /** * Delete microservice and return success status * @param microservicesUid Unique identifier for the microservice * @returns Promise<boolean> Success indicator */ delete: async (microservicesUid) => { return await microservices.delete(microservicesUid); }, }; } //# sourceMappingURL=microservices.js.map