@mcma/client
Version:
Node module with classes and functions used to access services in an MCMA environment
27 lines (26 loc) • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceClient = void 0;
const resource_endpoint_client_1 = require("./resource-endpoint-client");
class ServiceClient {
endpointsMap = {};
constructor(service, authProvider, httpClientConfig) {
for (const resourceEndpoint of service.resources) {
this.endpointsMap[resourceEndpoint.resourceType] =
new resource_endpoint_client_1.ResourceEndpointClient(resourceEndpoint, authProvider, httpClientConfig, service.authType);
}
}
getResourceTypeName(resourceType) {
return typeof resourceType === "function" && resourceType.name ? resourceType.name : resourceType;
}
hasResourceEndpoint(resourceType) {
return this.endpointsMap[this.getResourceTypeName(resourceType)] !== undefined;
}
getResourceEndpointClient(resourceType) {
return this.endpointsMap[this.getResourceTypeName(resourceType)];
}
getAllResourceEndpointClients() {
return Object.keys(this.endpointsMap).map(k => this.endpointsMap[k]);
}
}
exports.ServiceClient = ServiceClient;