UNPKG

@sourceloop/ctrl-plane-tenant-management-service

Version:

Tenant Management microservice for SaaS control plane

26 lines (25 loc) 1.84 kB
import { Getter } from '@loopback/core'; import { BelongsToAccessor, Entity, HasManyRepositoryFactory } from '@loopback/repository'; import { IAuthUserWithPermissions } from '@sourceloop/core'; import { SequelizeDataSource } from '@loopback/sequelize'; import { SequelizeUserModifyCrudRepository } from '@sourceloop/core/sequelize'; import { Address, Contact, Lead, Resource, Tenant, TenantRelations } from '../../models'; import { ContactRepository } from './contact.repository'; import { LeadRepository } from './lead.repository'; import { ResourceRepository } from './resource.repository'; import { AddressRepository } from './address.repository'; export declare class TenantRepository<T extends Tenant = Tenant> extends SequelizeUserModifyCrudRepository<T, typeof Tenant.prototype.id, TenantRelations> { readonly getCurrentUser: Getter<IAuthUserWithPermissions>; protected contactRepositoryGetter: Getter<ContactRepository>; protected leadRepositoryGetter: Getter<LeadRepository>; protected resourceRepositoryGetter: Getter<ResourceRepository>; protected addressRepositoryGetter: Getter<AddressRepository>; private readonly tenant; readonly contacts: HasManyRepositoryFactory<Contact, typeof Tenant.prototype.id>; readonly resources: HasManyRepositoryFactory<Resource, typeof Tenant.prototype.id>; readonly lead: BelongsToAccessor<Lead, typeof Tenant.prototype.id>; readonly address: BelongsToAccessor<Address, typeof Tenant.prototype.id>; constructor(dataSource: SequelizeDataSource, getCurrentUser: Getter<IAuthUserWithPermissions>, contactRepositoryGetter: Getter<ContactRepository>, leadRepositoryGetter: Getter<LeadRepository>, resourceRepositoryGetter: Getter<ResourceRepository>, addressRepositoryGetter: Getter<AddressRepository>, tenant: typeof Entity & { prototype: T; }); }