UNPKG

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

Version:

Tenant Management microservice for SaaS control plane

68 lines (67 loc) 1.85 kB
import { AnyObject } from '@loopback/repository'; import { IServiceConfig } from '@sourceloop/core'; export interface ISubscription { deleted?: boolean; deletedOn?: Date; deletedBy?: string; createdOn?: Date; modifiedOn?: Date; createdBy?: string; modifiedBy?: string; id: string; subscriberId: string; startDate: string; endDate: string; status: number; planId: string; plan?: IPlan; } export interface ITenantManagementServiceConfig extends IServiceConfig { } export type SubscriptionCreationType = Omit<ISubscription, 'id' | 'deleted' | 'deletedOn' | 'deletedBy' | 'createdOn' | 'modifiedOn' | 'createdBy' | 'modifiedBy' | 'plan'>; export type SubscriptionUpdationType = Partial<Omit<ISubscription, 'id' | 'deleted' | 'deletedOn' | 'deletedBy' | 'createdOn' | 'modifiedOn' | 'createdBy' | 'modifiedBy' | 'plan'>>; export interface IBillingCycle { deleted: boolean; deletedOn?: string; deletedBy?: string; createdOn: string; modifiedOn?: string; createdBy: string; modifiedBy?: string; id: string; cycleName: string; duration: number; durationUnit: string; description: string; } export interface ICurrency { id: string; currencyCode: string; currencyName: string; symbol: string; country: string; } export interface IPlan { deleted?: boolean; deletedOn?: Date; deletedBy?: string; createdOn?: Date; modifiedOn?: Date; createdBy?: string; modifiedBy?: string; id: string; name: string; description: string; price: number; currencyId: string; metaData: IMetaData; tier: string; size?: string; sizeConfig?: AnyObject; billingCycleId: string; billingCycle?: IBillingCycle; currency?: ICurrency; } export interface IMetaData { pipelineName: string; }