diff --git a/npm/ng-packs/packages/tenant-management/src/lib/actions/tenant-management.actions.ts b/npm/ng-packs/packages/tenant-management/src/lib/actions/tenant-management.actions.ts index 6cb1f997f6..e422d3756f 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/actions/tenant-management.actions.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/actions/tenant-management.actions.ts @@ -1,9 +1,12 @@ -import { TenantManagement } from '../models/tenant-management'; -import { ABP } from '@abp/ng.core'; +import { + GetTenantsInput, + TenantCreateDto, + TenantUpdateDto, +} from '../proxy/tenant-management/models'; export class GetTenants { static readonly type = '[TenantManagement] Get Tenant'; - constructor(public payload?: ABP.PageQueryParams) {} + constructor(public payload?: GetTenantsInput) {} } export class GetTenantById { @@ -13,12 +16,12 @@ export class GetTenantById { export class CreateTenant { static readonly type = '[TenantManagement] Create Tenant'; - constructor(public payload: TenantManagement.AddRequest) {} + constructor(public payload: TenantCreateDto) {} } export class UpdateTenant { static readonly type = '[TenantManagement] Update Tenant'; - constructor(public payload: TenantManagement.UpdateRequest) {} + constructor(public payload: TenantUpdateDto & { id: string }) {} } export class DeleteTenant { 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 ec50b97c6b..1210442a13 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 @@ -1,4 +1,4 @@ -import { ABP, ListService } from '@abp/ng.core'; +import { ABP, ListService, PagedResultDto } from '@abp/ng.core'; import { eFeatureManagementComponents } from '@abp/ng.feature-management'; import { Confirmation, ConfirmationService, getPasswordValidators } from '@abp/ng.theme.shared'; import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; @@ -13,6 +13,7 @@ import { GetTenants, UpdateTenant, } from '../../actions/tenant-management.actions'; +import { GetTenantsInput, TenantDto } from '../../proxy/tenant-management/models'; import { TenantManagementService } from '../../services/tenant-management.service'; import { TenantManagementState } from '../../states/tenant-management.state'; @@ -29,12 +30,12 @@ interface SelectedModalContent { }) export class TenantsComponent implements OnInit { @Select(TenantManagementState.get) - data$: Observable; + data$: Observable>; @Select(TenantManagementState.getTenantsTotalCount) totalCount$: Observable; - selected: ABP.BasicItem; + selected: TenantDto; tenantForm: FormGroup; @@ -99,7 +100,7 @@ export class TenantsComponent implements OnInit { }; constructor( - public readonly list: ListService, + public readonly list: ListService, private confirmationService: ConfirmationService, private tenantService: TenantManagementService, private fb: FormBuilder, @@ -165,7 +166,7 @@ export class TenantsComponent implements OnInit { } addTenant() { - this.selected = {} as ABP.BasicItem; + this.selected = {} as TenantDto; this.createTenantForm(); this.openModal('AbpTenantManagement::NewTenant', this.tenantModalTemplate, 'saveTenant'); } 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 b7659e2a95..bf727b442d 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 @@ -1,29 +1,45 @@ -import { ABP } from '@abp/ng.core'; +import { ABP, PagedResultDto } from '@abp/ng.core'; +import { TenantDto } from '../proxy/tenant-management/models'; export namespace TenantManagement { export interface State { - result: Response; - selectedItem: Item; + result: PagedResultDto; + selectedItem: TenantDto; } + /** + * @deprecated To be deleted in v4.0 + */ export type Response = ABP.PagedResponse; + /** + * @deprecated To be deleted in v4.0 + */ export interface Item { id: string; name: string; } + /** + * @deprecated To be deleted in v4.0 + */ export interface AddRequest { adminEmailAddress: string; adminPassword: string; name: string; } + /** + * @deprecated To be deleted in v4.0 + */ export interface UpdateRequest { id: string; name: string; } + /** + * @deprecated To be deleted in v4.0 + */ export interface DefaultConnectionStringRequest { id: string; defaultConnectionString: string; 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 8678da1332..3ace57367c 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 @@ -6,6 +6,9 @@ import { TenantManagement } from '../models/tenant-management'; @Injectable({ providedIn: 'root', }) +/** + * @deprecated Use TenantService instead. To be deleted in v4.0. + */ export class TenantManagementService { apiName = 'AbpTenantManagement'; diff --git a/npm/ng-packs/packages/tenant-management/src/lib/states/tenant-management.state.ts b/npm/ng-packs/packages/tenant-management/src/lib/states/tenant-management.state.ts index bacd8981ec..b9eee03bdd 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/states/tenant-management.state.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/states/tenant-management.state.ts @@ -1,4 +1,4 @@ -import { ABP } from '@abp/ng.core'; +import { ABP, PagedResultDto } from '@abp/ng.core'; import { Action, Selector, State, StateContext } from '@ngxs/store'; import { tap } from 'rxjs/operators'; import { @@ -9,8 +9,9 @@ import { UpdateTenant, } from '../actions/tenant-management.actions'; import { TenantManagement } from '../models/tenant-management'; -import { TenantManagementService } from '../services/tenant-management.service'; import { Injectable } from '@angular/core'; +import { TenantService } from '../proxy/tenant-management/tenant.service'; +import { TenantDto } from '../proxy/tenant-management/models'; @State({ name: 'TenantManagementState', @@ -19,7 +20,7 @@ import { Injectable } from '@angular/core'; @Injectable() export class TenantManagementState { @Selector() - static get({ result }: TenantManagement.State): ABP.BasicItem[] { + static get({ result }: TenantManagement.State): TenantDto[] { return result.items || []; } @@ -28,11 +29,11 @@ export class TenantManagementState { return result.totalCount; } - constructor(private tenantManagementService: TenantManagementService) {} + constructor(private service: TenantService) {} @Action(GetTenants) get({ patchState }: StateContext, { payload }: GetTenants) { - return this.tenantManagementService.getTenant(payload).pipe( + return this.service.getList(payload).pipe( tap(result => patchState({ result, @@ -43,7 +44,7 @@ export class TenantManagementState { @Action(GetTenantById) getById({ patchState }: StateContext, { payload }: GetTenantById) { - return this.tenantManagementService.getTenantById(payload).pipe( + return this.service.get(payload).pipe( tap(selectedItem => patchState({ selectedItem, @@ -54,16 +55,16 @@ export class TenantManagementState { @Action(DeleteTenant) delete(_, { payload }: DeleteTenant) { - return this.tenantManagementService.deleteTenant(payload); + return this.service.delete(payload); } @Action(CreateTenant) add(_, { payload }: CreateTenant) { - return this.tenantManagementService.createTenant(payload); + return this.service.create(payload); } @Action(UpdateTenant) update({ getState }: StateContext, { payload }: UpdateTenant) { - return this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload }); + return this.service.update(payload.id, { ...getState().selectedItem, ...payload }); } }