UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

87 lines 3.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OpenSearchClient = void 0; const base_client_1 = require("../../core/base-client"); const resources_1 = require("./resources"); /** * OpenSearch service client for advanced product search capabilities * * Provides comprehensive search functionality including: * - Advanced item search with filtering and facets * - Search result attributes and faceted navigation * - Item index management and refresh operations * - Health monitoring and service status * * @fullPath api.openSearch * @service open-search * @domain product-search * @discoverable true * @searchTerms ["opensearch", "elasticsearch", "search", "items", "products"] * @relatedEndpoints ["api.openSearch.itemSearch.list", "api.openSearch.items.list"] * @commonPatterns ["Product search", "Item management", "Search indexing"] * * @example * ```typescript * import { HTTPClient } from '@augur/api-client/core'; * import { OpenSearchClient } from '@augur/api-client/services/open-search'; * * const http = new HTTPClient('open-search', { siteId: 'your-site-id', bearerToken: 'your-token' }); * const openSearch = new OpenSearchClient(http); * * // Check service health * const health = await openSearch.healthCheck.get(); * const ping = await openSearch.ping.get(); * * // Search for items * const results = await openSearch.itemSearch.list({ * q: 'electrical wire', * searchType: 'query', * size: 20 * }); * * // Get search facets * const facets = await openSearch.itemSearch.attributes.list({ * q: 'electrical components', * searchType: 'query' * }); * * // Manage items * const items = await openSearch.items.list({ online: 'Y', statusCd: 704 }); * const item = await openSearch.items.get(123456); * await openSearch.items.update(123456, { statusCd: 704, processCd: 704 }); * * // Refresh operations * await openSearch.items.refresh.get(123456); * await openSearch.items.refresh.update(); * ``` */ class OpenSearchClient extends base_client_1.BaseServiceClient { /** * Create a new OpenSearchClient instance * @param http Configured HTTPClient instance * @param baseUrl Base URL for the OpenSearch API (default: https://open-search.augur-api.com) */ constructor(http, baseUrl = 'https://open-search.augur-api.com') { super('open-search', http, baseUrl); // Bind executeRequest for resource factories const boundExecuteRequest = (config, params, pathParams) => { return this.executeRequest(config, params, pathParams); }; // Initialize resources this.ping = (0, resources_1.createPingResource)(boundExecuteRequest); this.healthCheck = (0, resources_1.createHealthCheckResource)(boundExecuteRequest); this.pingData = (0, resources_1.createPingDataResource)(this.ping); this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck); this.itemSearch = (0, resources_1.createItemSearchResource)(boundExecuteRequest); this.itemSearchData = (0, resources_1.createItemSearchDataResource)(this.itemSearch); this.items = (0, resources_1.createItemsResource)(boundExecuteRequest); this.itemsData = (0, resources_1.createItemsDataResource)(this.items); this.suggestions = (0, resources_1.createSuggestionsResource)(boundExecuteRequest); this.suggestionsData = (0, resources_1.createSuggestionsDataResource)(this.suggestions); } getServiceDescription() { return 'OpenSearch service for advanced product search and item index management'; } } exports.OpenSearchClient = OpenSearchClient; //# sourceMappingURL=client.js.map