@sourceloop/ctrl-plane-tenant-management-service
Version:
Tenant Management microservice for SaaS control plane
40 lines • 2.64 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TenantRepository = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@loopback/core");
const repository_1 = require("@loopback/repository");
const core_2 = require("@sourceloop/core");
const loopback4_authentication_1 = require("loopback4-authentication");
const types_1 = require("../types");
let TenantRepository = class TenantRepository extends core_2.DefaultTransactionalUserModifyRepository {
constructor(dataSource, getCurrentUser, contactRepositoryGetter, leadRepositoryGetter, resourceRepositoryGetter, addressRepositoryGetter, tenant) {
super(tenant, dataSource, getCurrentUser);
this.getCurrentUser = getCurrentUser;
this.contactRepositoryGetter = contactRepositoryGetter;
this.leadRepositoryGetter = leadRepositoryGetter;
this.resourceRepositoryGetter = resourceRepositoryGetter;
this.addressRepositoryGetter = addressRepositoryGetter;
this.tenant = tenant;
this.lead = this.createBelongsToAccessorFor('lead', leadRepositoryGetter);
this.registerInclusionResolver('lead', this.lead.inclusionResolver);
this.contacts = this.createHasManyRepositoryFactoryFor('contacts', contactRepositoryGetter);
this.registerInclusionResolver('contacts', this.contacts.inclusionResolver);
this.resources = this.createHasManyRepositoryFactoryFor('resources', resourceRepositoryGetter);
this.registerInclusionResolver('resources', this.resources.inclusionResolver);
this.address = this.createBelongsToAccessorFor('address', addressRepositoryGetter);
this.registerInclusionResolver('address', this.address.inclusionResolver);
}
};
exports.TenantRepository = TenantRepository;
exports.TenantRepository = TenantRepository = tslib_1.__decorate([
tslib_1.__param(0, (0, core_1.inject)(`datasources.${types_1.TenantManagementDbSourceName}`)),
tslib_1.__param(1, core_1.inject.getter(loopback4_authentication_1.AuthenticationBindings.CURRENT_USER)),
tslib_1.__param(2, repository_1.repository.getter('ContactRepository')),
tslib_1.__param(3, repository_1.repository.getter('LeadRepository')),
tslib_1.__param(4, repository_1.repository.getter('ResourceRepository')),
tslib_1.__param(5, repository_1.repository.getter('AddressRepository')),
tslib_1.__param(6, (0, core_1.inject)('models.Tenant')),
tslib_1.__metadata("design:paramtypes", [repository_1.juggler.DataSource, Function, Function, Function, Function, Function, Object])
], TenantRepository);
//# sourceMappingURL=tenant.repository.js.map