@dolittle/sdk.projections
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
36 lines • 2.74 kB
JavaScript
;
// 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.ProjectionStoreBuilder = void 0;
const rudiments_1 = require("@dolittle/rudiments");
const ProjectionStore_1 = require("../ProjectionStore");
const IProjectionStoreBuilder_1 = require("./IProjectionStoreBuilder");
/**
* Represents an implementation of {@link IProjectionsStoreBuilder}.
*/
class ProjectionStoreBuilder extends IProjectionStoreBuilder_1.IProjectionStoreBuilder {
/**
* Initializes a new instance of {@link ProjectionStoreBuilder}.
* @param {ProjectionsClient} _projectionsClient - The client for the projections.
* @param {ExecutionContext} _executionContext - The execution context.
* @param {IProjectionReadModelTypes} _readModelTypes - The projection associations.
* @param {Logger} _logger - The logger.
*/
constructor(_projectionsClient, _executionContext, _readModelTypes, _logger) {
super();
this._projectionsClient = _projectionsClient;
this._executionContext = _executionContext;
this._readModelTypes = _readModelTypes;
this._logger = _logger;
}
/** @inheritdoc */
forTenant(tenantId) {
const executionContext = this._executionContext
.forTenant(tenantId)
.forCorrelation(rudiments_1.Guid.create());
return new ProjectionStore_1.ProjectionStore(this._projectionsClient, executionContext, this._readModelTypes, this._logger);
}
}
exports.ProjectionStoreBuilder = ProjectionStoreBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamVjdGlvblN0b3JlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIuLi8iLCJzb3VyY2VzIjpbIlN0b3JlL0J1aWxkZXJzL1Byb2plY3Rpb25TdG9yZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxxR0FBcUc7OztBQUdyRyxtREFBMkM7QUFRM0Msd0RBQXFEO0FBQ3JELHVFQUFvRTtBQUVwRTs7R0FFRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsaURBQXVCO0lBRS9EOzs7Ozs7T0FNRztJQUNILFlBQ3FCLGtCQUFxQyxFQUNyQyxpQkFBbUMsRUFDbkMsZUFBMEMsRUFDMUMsT0FBZTtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQUpLLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUFDMUMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUVwQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFNBQVMsQ0FBQyxRQUFzQjtRQUM1QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUI7YUFDMUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUNuQixjQUFjLENBQUMsZ0JBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sSUFBSSxpQ0FBZSxDQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLGdCQUFnQixFQUNoQixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEIsQ0FBQztDQUNKO0FBN0JELHdEQTZCQyJ9