diff --git a/packages/cli/README.md b/packages/cli/README.md index 0d1546be96..d1600d6771 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -163,7 +163,8 @@ OPTIONS -s, --baseService=(authentication-service|audit-service|chat-service|notification-service|bpmn-service|feature-toggle- service|in-mail-service|payment-service|scheduler-service|search-service|survey-service|task-service|video-conferencin - g-service|user-tenant-service|reporting-service) + g-service|user-tenant-service|ctrl-plane-tenant-management-service|ctrl-plane-subscription-service|ctrl-plane-orchestr + ator-service|reporting-service) Base ARC microservice --[no-]baseOnService diff --git a/packages/cli/package.json b/packages/cli/package.json index a199c4531f..44ce6c723a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -222,6 +222,9 @@ "@sourceloop/task-service": "^4.0.2", "@sourceloop/user-tenant-service": "^3.0.2", "@sourceloop/video-conferencing-service": "^14.0.2", + "@sourceloop/ctrl-plane-orchestrator-service": "^0.1.1", + "@sourceloop/ctrl-plane-tenant-management-service": "^0.4.1", + "@sourceloop/ctrl-plane-subscription-service": "^0.4.0", "@sourceloop/audit-log": "^8.0.5", "@sourceloop/vault": "^7.0.3", "loopback4-authentication": "^12.1.1", diff --git a/packages/cli/src/enum.ts b/packages/cli/src/enum.ts index c5b79fafc5..dcdefe579f 100644 --- a/packages/cli/src/enum.ts +++ b/packages/cli/src/enum.ts @@ -18,6 +18,9 @@ export enum SERVICES { VIDEO_CONF = 'video-conferencing-service', USER_TENANT = 'user-tenant-service', REPORTING = 'reporting-service', + TEANANT_MANAGEMENT = 'ctrl-plane-tenant-management-service', + SUBSCRIPTION = 'ctrl-plane-subscription-service', + ORCHESTRATOR = 'ctrl-plane-orchestrator-service', } export enum DATASOURCES { @@ -100,6 +103,28 @@ export const BASESERVICEDSLIST: { ], 'chat-service': [], 'user-tenant-service': [], + 'ctrl-plane-tenant-management-service': [ + { + type: 'store', + name: 'TenantManagementDbSourceName', + fileName: 'tenantManagement', + }, + {type: 'cache', name: 'TenantManagementCacheSourceName', fileName: 'redis'}, + ], + + 'ctrl-plane-subscription-service': [ + { + type: 'store', + name: 'SubscriptionDbSourceName', + fileName: 'subscription', + }, + { + type: 'store', + name: 'FeatureToggleDbName', + fileName: 'feature', + }, + ], + 'ctrl-plane-orchestrator-service': [], }; export const BASESERVICECOMPONENTLIST: { @@ -119,7 +144,10 @@ export const BASESERVICECOMPONENTLIST: { 'video-conferencing-service': 'VideoConfServiceComponent', 'chat-service': 'ChatServiceComponent', 'user-tenant-service': 'UserTenantServiceComponent', - 'reporting-service': 'ReportingServiceComponent' + 'reporting-service': 'ReportingServiceComponent', + 'ctrl-plane-tenant-management-service': 'TenantManagementServiceComponent', + 'ctrl-plane-subscription-service': 'SubscriptionServiceComponent', + 'ctrl-plane-orchestrator-service': 'OrchestratorServiceComponent', }; export const BASESERVICEBINDINGLIST: { @@ -139,7 +167,10 @@ export const BASESERVICEBINDINGLIST: { 'video-conferencing-service': 'VideoChatBindings', 'chat-service': 'ChatServiceBindings', 'user-tenant-service': 'UserTenantServiceComponentBindings', - 'reporting-service': 'ReportingServiceComponentBindings' + 'reporting-service': 'ReportingServiceComponentBindings', + 'ctrl-plane-tenant-management-service': 'TenantManagementServiceComponent', + 'ctrl-plane-subscription-service': 'SubscriptionServiceBindings', + 'ctrl-plane-orchestrator-service': 'TenantManagementServiceBindings', }; export enum SEQUELIZESERVICES { diff --git a/packages/cli/src/generators/microservice/index.ts b/packages/cli/src/generators/microservice/index.ts index 8750586c9f..b784e7df3a 100644 --- a/packages/cli/src/generators/microservice/index.ts +++ b/packages/cli/src/generators/microservice/index.ts @@ -372,13 +372,18 @@ export default class MicroserviceGenerator extends AppGenerator { + const localProjectInfo = {...this.projectInfo}; + if (ds.type === 'store') { - if (!ds.isNotBase) this.projectInfo.baseServiceStoreName = ds.name; - this.projectInfo.datasourceName = ds.fileName; - this.projectInfo.datasourceClassName = this._capitalizeFirstLetter( + if (!ds.isNotBase) localProjectInfo.baseServiceStoreName = ds.name; + + localProjectInfo.datasourceName = ds.fileName; + localProjectInfo.datasourceClassName = this._capitalizeFirstLetter( ds.fileName, ); + /* eslint-disable-next-line @typescript-eslint/ban-ts-comment */ //@ts-ignore await this.fs.copyTplAsync( @@ -387,13 +392,12 @@ export default class MicroserviceGenerator extends AppGenerator