diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html
index a0fccaf9d3..2b0276ede8 100644
--- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html
+++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html
@@ -140,6 +140,26 @@
+
+
+
+
+
+
+
+
diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts
index fa400d06f9..788953096f 100644
--- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts
+++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts
@@ -60,6 +60,10 @@ export class TenantsComponent implements OnInit {
sortKey = '';
+ get hasSelectedTenant(): boolean {
+ return Boolean(this.selected.id);
+ }
+
get useSharedDatabase(): boolean {
return this.defaultConnectionStringForm.get('useSharedDatabase').value;
}
@@ -115,9 +119,18 @@ export class TenantsComponent implements OnInit {
}
private createTenantForm() {
- this.tenantForm = this.fb.group({
+ const tenantForm = this.fb.group({
name: [this.selected.name || '', [Validators.required, Validators.maxLength(256)]],
+ adminEmailAddress: [null, [Validators.required, Validators.maxLength(256), Validators.email]],
+ adminPassword: [null, [Validators.required]],
});
+
+ if (this.hasSelectedTenant) {
+ tenantForm.removeControl('adminEmailAddress');
+ tenantForm.removeControl('adminPassword');
+ }
+
+ this.tenantForm = tenantForm;
}
private createDefaultConnectionStringForm() {
diff --git a/npm/ng-packs/packages/tenant-management/src/lib/models/tenant-management.ts b/npm/ng-packs/packages/tenant-management/src/lib/models/tenant-management.ts
index 40a9c06d11..b7659e2a95 100644
--- a/npm/ng-packs/packages/tenant-management/src/lib/models/tenant-management.ts
+++ b/npm/ng-packs/packages/tenant-management/src/lib/models/tenant-management.ts
@@ -14,11 +14,14 @@ export namespace TenantManagement {
}
export interface AddRequest {
+ adminEmailAddress: string;
+ adminPassword: string;
name: string;
}
- export interface UpdateRequest extends AddRequest {
+ export interface UpdateRequest {
id: string;
+ name: string;
}
export interface DefaultConnectionStringRequest {
diff --git a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts
index bb043377e6..27ee26b7ed 100644
--- a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts
+++ b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts
@@ -4,7 +4,7 @@ import { RestService, Rest, ABP } from '@abp/ng.core';
import { TenantManagement } from '../models/tenant-management';
@Injectable({
- providedIn: 'root'
+ providedIn: 'root',
})
export class TenantManagementService {
constructor(private rest: RestService) {}
@@ -13,7 +13,7 @@ export class TenantManagementService {
const request: Rest.Request = {
method: 'GET',
url: '/api/multi-tenancy/tenants',
- params
+ params,
};
return this.rest.request(request);
@@ -22,7 +22,7 @@ export class TenantManagementService {
getTenantById(id: string): Observable {
const request: Rest.Request = {
method: 'GET',
- url: `/api/multi-tenancy/tenants/${id}`
+ url: `/api/multi-tenancy/tenants/${id}`,
};
return this.rest.request(request);
@@ -31,7 +31,7 @@ export class TenantManagementService {
deleteTenant(id: string): Observable {
const request: Rest.Request = {
method: 'DELETE',
- url: `/api/multi-tenancy/tenants/${id}`
+ url: `/api/multi-tenancy/tenants/${id}`,
};
return this.rest.request(request);
@@ -41,7 +41,7 @@ export class TenantManagementService {
const request: Rest.Request = {
method: 'POST',
url: '/api/multi-tenancy/tenants',
- body
+ body,
};
return this.rest.request(request);
@@ -54,10 +54,10 @@ export class TenantManagementService {
const request: Rest.Request = {
method: 'PUT',
url,
- body
+ body,
};
- return this.rest.request(request);
+ return this.rest.request(request);
}
getDefaultConnectionString(id: string): Observable {
@@ -66,18 +66,20 @@ export class TenantManagementService {
const request: Rest.Request = {
method: 'GET',
responseType: Rest.ResponseType.Text,
- url
+ url,
};
return this.rest.request(request);
}
- updateDefaultConnectionString(payload: TenantManagement.DefaultConnectionStringRequest): Observable {
+ updateDefaultConnectionString(
+ payload: TenantManagement.DefaultConnectionStringRequest,
+ ): Observable {
const url = `/api/multi-tenancy/tenants/${payload.id}/default-connection-string`;
const request: Rest.Request = {
method: 'PUT',
url,
- params: { defaultConnectionString: payload.defaultConnectionString }
+ params: { defaultConnectionString: payload.defaultConnectionString },
};
return this.rest.request(request);
}
@@ -87,7 +89,7 @@ export class TenantManagementService {
const request: Rest.Request = {
method: 'DELETE',
- url
+ url,
};
return this.rest.request(request);
}