UNPKG

@dolittle/sdk.tenancy

Version:

Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.

54 lines 4.63 kB
"use strict"; // Copyright (c) Dolittle. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.Tenants = void 0; const sdk_execution_1 = require("@dolittle/sdk.execution"); const sdk_protobuf_1 = require("@dolittle/sdk.protobuf"); const sdk_resilience_1 = require("@dolittle/sdk.resilience"); const sdk_services_1 = require("@dolittle/sdk.services"); const Tenants_pb_1 = require("@dolittle/contracts/Runtime/Tenancy/Tenants_pb"); const FailedToGetAllTenants_1 = require("../FailedToGetAllTenants"); const ITenants_1 = require("../ITenants"); const Tenant_1 = require("../Tenant"); /** * Represents a client for Tenants and an implementation of {@link ITenants} that knows how to register Event Types with the Runtime. */ class Tenants extends ITenants_1.ITenants { /** * Initializes an instance of the {@link Tenants} class. * @param {TenantsClient} _client - The event types client. * @param {ExecutionContext} _executionContext - The execution context. * @param {Logger} _logger - The logger. */ constructor(_client, _executionContext, _logger) { super(); this._client = _client; this._executionContext = _executionContext; this._logger = _logger; } /** @inheritdoc */ async getAll(cancellation = sdk_resilience_1.Cancellation.default) { this._logger.debug('Getting all tenants'); try { const request = new Tenants_pb_1.GetAllRequest(); request.setCallcontext(sdk_protobuf_1.ExecutionContexts.toCallContext(this._executionContext)); const response = await (0, sdk_services_1.reactiveUnary)(this._client, this._client.getAll, request, cancellation).toPromise(); if (!response.hasFailure()) { return response.getTenantsList().map(Tenants.createTenant); } const failure = sdk_protobuf_1.Failures.toSDK(response.getFailure()); this._logger.warn(`An error occurred while getting all tenants because ${failure.reason}. Failure Id '${failure.id}'`); throw new FailedToGetAllTenants_1.FailedToGetAllTenants(failure.reason.value); } catch (error) { this._logger.warn(`An error occurred while getting all tenants because ${error}.`); throw error; } } static createTenant(tenant) { return new Tenant_1.Tenant(sdk_execution_1.TenantId.from(sdk_protobuf_1.Guids.toSDK(tenant.getId()))); } } exports.Tenants = Tenants; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVuYW50cy5qcyIsInNvdXJjZVJvb3QiOiIuLi8iLCJzb3VyY2VzIjpbIkludGVybmFsL1RlbmFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxxR0FBcUc7OztBQUlyRywyREFBcUU7QUFDckUseURBQTRFO0FBQzVFLDZEQUF3RDtBQUN4RCx5REFBdUQ7QUFHdkQsK0VBQW1HO0FBRW5HLG9FQUFpRTtBQUNqRSwwQ0FBdUM7QUFDdkMsc0NBQW1DO0FBRW5DOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsbUJBQVE7SUFDakM7Ozs7O09BS0c7SUFDSCxZQUNxQixPQUFzQixFQUM5QixpQkFBbUMsRUFDM0IsT0FBZTtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUpTLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBR3BDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUE2Qiw2QkFBWSxDQUFDLE9BQU87UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxQyxJQUFJO1lBQ0EsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQkFBYSxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQ0FBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztZQUVoRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsNEJBQWEsRUFBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUUzRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUN4QixPQUFPLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzlEO1lBRUQsTUFBTSxPQUFPLEdBQUcsdUJBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsdURBQXVELE9BQU8sQ0FBQyxNQUFNLGlCQUFpQixPQUFPLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2SCxNQUFNLElBQUksNkNBQXFCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6RDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsdURBQXVELEtBQUssR0FBRyxDQUFDLENBQUM7WUFDbkYsTUFBTSxLQUFLLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWdCO1FBQ3hDLE9BQU8sSUFBSSxlQUFNLENBQUMsd0JBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDSjtBQXhDRCwwQkF3Q0MifQ==