From 0ae1d767d48ce13588e41893a0b926260c94ba41 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Fri, 20 Dec 2019 16:47:01 +0300 Subject: [PATCH 01/25] feature(core): add state actions to state services --- .../core/src/lib/services/config-state.service.ts | 14 ++++++++++++++ .../core/src/lib/services/profile-state.service.ts | 14 ++++++++++++++ .../core/src/lib/services/session-state.service.ts | 10 ++++++++++ 3 files changed, 38 insertions(+) diff --git a/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts index d238fd4734..877fdab0d3 100644 --- a/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { ConfigState } from '../states'; +import { GetAppConfiguration, PatchRouteByName, AddRoute } from '../actions/config.actions'; +import { ABP } from '../models'; @Injectable({ providedIn: 'root', @@ -47,4 +49,16 @@ export class ConfigStateService { getLocalization(...args: Parameters) { return this.store.selectSnapshot(ConfigState.getLocalization(...args)); } + + addData() { + return this.store.dispatch(new GetAppConfiguration()); + } + + patchRoute(name: string, newValue: Partial) { + return this.store.dispatch(new PatchRouteByName(name, newValue)); + } + + addRoute(payload: Omit) { + return this.store.dispatch(new AddRoute(payload)); + } } diff --git a/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts index 7dea8de2ea..372ce40e19 100644 --- a/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { ProfileState } from '../states'; +import { Profile } from '../models'; +import { GetProfile, UpdateProfile, ChangePassword } from '../actions'; @Injectable({ providedIn: 'root', @@ -11,4 +13,16 @@ export class ProfileStateService { getProfile() { return this.store.selectSnapshot(ProfileState.getProfile); } + + fetchProfile() { + return this.store.dispatch(new GetProfile()); + } + + updateProfile(payload: Profile.Response) { + return this.store.dispatch(new UpdateProfile(payload)); + } + + changePassword(payload: Profile.ChangePasswordRequest) { + return this.store.dispatch(new ChangePassword(payload)); + } } diff --git a/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts index b74a8ed397..af7261229e 100644 --- a/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { SessionState } from '../states'; +import { ABP } from '../models'; +import { SetLanguage, SetTenant } from '../actions'; @Injectable({ providedIn: 'root', @@ -15,4 +17,12 @@ export class SessionStateService { getTenant() { return this.store.selectSnapshot(SessionState.getTenant); } + + setLanguage(payload: string) { + return this.store.dispatch(new SetLanguage(payload)); + } + + setTenant(payload: ABP.BasicItem) { + return this.store.dispatch(new SetTenant(payload)); + } } From e2fb9384c47b1a3604a8eb00ce2d6850e6630936 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Fri, 20 Dec 2019 16:47:50 +0300 Subject: [PATCH 02/25] feature(feature-management): add state actions to state service --- .../lib/services/feature-management-state.service.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts b/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts index a40d0f6186..94f2f7fc6b 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { FeatureManagementState } from '../states'; +import { FeatureManagement } from '../models'; +import { GetFeatures, UpdateFeatures } from '../actions'; @Injectable({ providedIn: 'root', @@ -11,4 +13,12 @@ export class FeatureManagementStateService { getFeatures() { return this.store.selectSnapshot(FeatureManagementState.getFeatures); } + + fetchFeatures(payload: FeatureManagement.Provider) { + return this.store.dispatch(new GetFeatures(payload)); + } + + updateFeatures(payload: FeatureManagement.Provider & FeatureManagement.Features) { + return this.store.dispatch(new UpdateFeatures(payload)); + } } From b2e5362d835821a49a5ec0314eb1ead67cfd4832 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Fri, 20 Dec 2019 16:48:12 +0300 Subject: [PATCH 03/25] feature(identity): add actions to state service --- .../lib/services/identity-state.service.ts | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts b/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts index e5abe60fe9..746645e98d 100644 --- a/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts +++ b/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts @@ -1,5 +1,20 @@ +import { ABP } from '@abp/ng.core'; import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; +import { + CreateRole, + CreateUser, + DeleteRole, + DeleteUser, + GetRoleById, + GetRoles, + GetUserById, + GetUsers, + UpdateRole, + UpdateUser, + GetUserRoles, +} from '../actions/identity.actions'; +import { Identity } from '../models/identity'; import { IdentityState } from '../states/identity.state'; @Injectable({ @@ -20,4 +35,48 @@ export class IdentityStateService { getUsersTotalCount() { return this.store.selectSnapshot(IdentityState.getUsersTotalCount); } + + fetchRoles(payload?: ABP.PageQueryParams) { + return this.store.dispatch(new GetRoles(payload)); + } + + fetchRole(payload: string) { + return this.store.dispatch(new GetRoleById(payload)); + } + + deleteRole(payload: string) { + return this.store.dispatch(new DeleteRole(payload)); + } + + createRole(payload: Identity.RoleSaveRequest) { + return this.store.dispatch(new CreateRole(payload)); + } + + updateRole(payload: Identity.RoleItem) { + return this.store.dispatch(new UpdateRole(payload)); + } + + fetchUsers(payload?: ABP.PageQueryParams) { + return this.store.dispatch(new GetUsers(payload)); + } + + fetchUser(payload: string) { + return this.store.dispatch(new GetUserById(payload)); + } + + deleteUser(payload: string) { + return this.store.dispatch(new DeleteUser(payload)); + } + + createUser(payload: Identity.UserSaveRequest) { + return this.store.dispatch(new CreateUser(payload)); + } + + updateUser(payload: Identity.UserItem) { + return this.store.dispatch(new UpdateUser(payload)); + } + + getUserRoles(payload: string) { + return this.store.dispatch(new GetUserRoles(payload)); + } } From 76c578a22415e2582b36c8897624d0903b7570d0 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Fri, 20 Dec 2019 17:04:20 +0300 Subject: [PATCH 04/25] fix(identity): correct parameter type --- .../identity/src/lib/services/identity-state.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts b/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts index 746645e98d..9448273c0c 100644 --- a/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts +++ b/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts @@ -72,7 +72,7 @@ export class IdentityStateService { return this.store.dispatch(new CreateUser(payload)); } - updateUser(payload: Identity.UserItem) { + updateUser(payload: Identity.UserSaveRequest & { id: string }) { return this.store.dispatch(new UpdateUser(payload)); } From efae782ccee7e89812d8415b27f81693785812c3 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Fri, 20 Dec 2019 17:06:07 +0300 Subject: [PATCH 05/25] feature(permission-management): add actions to state service --- .../services/permission-management-state.service.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts b/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts index a85d637c87..243926aaea 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { PermissionManagementState } from '../states/permission-management.state'; +import { PermissionManagement } from '../models'; +import { GetPermissions, UpdatePermissions } from '../actions'; @Injectable({ providedIn: 'root', @@ -14,4 +16,14 @@ export class PermissionManagementStateService { getEntityDisplayName() { return this.store.selectSnapshot(PermissionManagementState.getEntityDisplayName); } + + getPermissions(payload: PermissionManagement.GrantedProvider) { + return this.store.dispatch(new GetPermissions(payload)); + } + + updatePermissions( + payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest, + ) { + return this.store.dispatch(new UpdatePermissions(payload)); + } } From 0114677c636d37d9322ac8bf867f21982d6e5a0e Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Fri, 20 Dec 2019 17:33:27 +0300 Subject: [PATCH 06/25] feature(tenant-management): add actions to state service --- .../tenant-management-state.service.ts | 23 +++++++++++++++++++ .../src/lib/states/tenant-management.state.ts | 6 ++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts index 442289a66f..e27e4b3d67 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts @@ -1,6 +1,9 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { TenantManagementState } from '../states/tenant-management.state'; +import { ABP } from '@abp/ng.core'; +import { GetTenants, GetTenantById, CreateTenant, UpdateTenant, DeleteTenant } from '../actions'; +import { TenantManagement } from '../models'; @Injectable({ providedIn: 'root', @@ -15,4 +18,24 @@ export class TenantManagementStateService { getTenantsTotalCount() { return this.store.selectSnapshot(TenantManagementState.getTenantsTotalCount); } + + getTenants(payload?: ABP.PageQueryParams) { + return this.store.dispatch(new GetTenants(payload)); + } + + getTenantById(payload: string) { + return this.store.dispatch(new GetTenantById(payload)); + } + + createTenant(payload: TenantManagement.AddRequest) { + return this.store.dispatch(new CreateTenant(payload)); + } + + updateTenant(payload: TenantManagement.UpdateRequest) { + return this.store.dispatch(new UpdateTenant(payload)); + } + + deleteTenant(payload: string) { + return this.store.dispatch(new DeleteTenant(payload)); + } } 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 c183cb48cc..bbd4a35d4f 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,15 +1,15 @@ +import { ABP } from '@abp/ng.core'; import { Action, Selector, State, StateContext } from '@ngxs/store'; -import { switchMap, tap } from 'rxjs/operators'; +import { tap } from 'rxjs/operators'; import { CreateTenant, DeleteTenant, - GetTenants, GetTenantById, + GetTenants, UpdateTenant, } from '../actions/tenant-management.actions'; import { TenantManagement } from '../models/tenant-management'; import { TenantManagementService } from '../services/tenant-management.service'; -import { ABP } from '@abp/ng.core'; @State({ name: 'TenantManagementState', From 5449e2475b817ec34174c04c88a38f4060ce562e Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:46:48 +0300 Subject: [PATCH 07/25] refactor(core): change state service method names according to action names --- .../packages/core/src/lib/services/config-state.service.ts | 6 +++--- .../packages/core/src/lib/services/profile-state.service.ts | 6 +++--- .../packages/core/src/lib/services/session-state.service.ts | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts index 877fdab0d3..4d555c72fd 100644 --- a/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts @@ -50,15 +50,15 @@ export class ConfigStateService { return this.store.selectSnapshot(ConfigState.getLocalization(...args)); } - addData() { + dispatchGetAppConfiguration() { return this.store.dispatch(new GetAppConfiguration()); } - patchRoute(name: string, newValue: Partial) { + dispatchPatchRouteByName(name: string, newValue: Partial) { return this.store.dispatch(new PatchRouteByName(name, newValue)); } - addRoute(payload: Omit) { + dispatchAddRoute(payload: Omit) { return this.store.dispatch(new AddRoute(payload)); } } diff --git a/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts index 372ce40e19..9c7567e11f 100644 --- a/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts @@ -14,15 +14,15 @@ export class ProfileStateService { return this.store.selectSnapshot(ProfileState.getProfile); } - fetchProfile() { + dispatchGetProfile() { return this.store.dispatch(new GetProfile()); } - updateProfile(payload: Profile.Response) { + dispatchUpdateProfile(payload: Profile.Response) { return this.store.dispatch(new UpdateProfile(payload)); } - changePassword(payload: Profile.ChangePasswordRequest) { + dispatchChangePassword(payload: Profile.ChangePasswordRequest) { return this.store.dispatch(new ChangePassword(payload)); } } diff --git a/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts index af7261229e..ccb1de9a12 100644 --- a/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts @@ -18,11 +18,11 @@ export class SessionStateService { return this.store.selectSnapshot(SessionState.getTenant); } - setLanguage(payload: string) { + dispatchSetLanguage(payload: string) { return this.store.dispatch(new SetLanguage(payload)); } - setTenant(payload: ABP.BasicItem) { + dispatchSetTenant(payload: ABP.BasicItem) { return this.store.dispatch(new SetTenant(payload)); } } From 2f3c43bb26cf0a3c4763c626bb8f4b441eee7dce Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:47:20 +0300 Subject: [PATCH 08/25] test(core): add missing tests for state services --- .../lib/tests/config-state.service.spec.ts | 18 ++++++++++++++++++ .../lib/tests/profile-state.service.spec.ts | 19 +++++++++++++++++++ .../lib/tests/session-state.service.spec.ts | 19 +++++++++++++++++++ 3 files changed, 56 insertions(+) diff --git a/npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts index 1b20a2889b..ec8fb3ce67 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts @@ -3,6 +3,7 @@ import { ConfigStateService } from '../services/config-state.service'; import { ConfigState } from '../states'; import { Store } from '@ngxs/store'; import { Config } from '../models/config'; +import * as ConfigActions from '../actions'; const CONFIG_STATE_DATA = { environment: { @@ -140,4 +141,21 @@ describe('ConfigStateService', () => { } }); }); + + test('should have a dispatch method for every ConfigState action', () => { + const reg = /(?<=dispatch)(\w+)(?=\()/gm; + ConfigStateService.toString() + .match(reg) + .forEach(fnName => { + expect(ConfigActions[fnName]).toBeTruthy(); + + const spy = jest.spyOn(store, 'dispatch'); + spy.mockClear(); + + const params = Array.from(new Array(ConfigActions[fnName].length)); + + service[`dispatch${fnName}`](...params); + expect(spy).toHaveBeenCalledWith(new ConfigActions[fnName](...params)); + }); + }); }); diff --git a/npm/ng-packs/packages/core/src/lib/tests/profile-state.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/profile-state.service.spec.ts index 3732d8000c..10db71f6c6 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/profile-state.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/profile-state.service.spec.ts @@ -2,6 +2,8 @@ import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spect import { ProfileStateService } from '../services/profile-state.service'; import { ProfileState } from '../states/profile.state'; import { Store } from '@ngxs/store'; +import * as ProfileActions from '../actions'; + describe('ProfileStateService', () => { let service: ProfileStateService; let spectator: SpectatorService; @@ -35,4 +37,21 @@ describe('ProfileStateService', () => { } }); }); + + test('should have a dispatch method for every ProfileState action', () => { + const reg = /(?<=dispatch)(\w+)(?=\()/gm; + ProfileStateService.toString() + .match(reg) + .forEach(fnName => { + expect(ProfileActions[fnName]).toBeTruthy(); + + const spy = jest.spyOn(store, 'dispatch'); + spy.mockClear(); + + const params = Array.from(new Array(ProfileActions[fnName].length)); + + service[`dispatch${fnName}`](...params); + expect(spy).toHaveBeenCalledWith(new ProfileActions[fnName](...params)); + }); + }); }); diff --git a/npm/ng-packs/packages/core/src/lib/tests/session-state.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/session-state.service.spec.ts index 40664f29b5..8bca7d1ae3 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/session-state.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/session-state.service.spec.ts @@ -2,6 +2,8 @@ import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spect import { SessionStateService } from '../services/session-state.service'; import { SessionState } from '../states/session.state'; import { Store } from '@ngxs/store'; +import * as SessionActions from '../actions'; + describe('SessionStateService', () => { let service: SessionStateService; let spectator: SpectatorService; @@ -35,4 +37,21 @@ describe('SessionStateService', () => { } }); }); + + test('should have a dispatch method for every sessionState action', () => { + const reg = /(?<=dispatch)(\w+)(?=\()/gm; + SessionStateService.toString() + .match(reg) + .forEach(fnName => { + expect(SessionActions[fnName]).toBeTruthy(); + + const spy = jest.spyOn(store, 'dispatch'); + spy.mockClear(); + + const params = Array.from(new Array(SessionActions[fnName].length)); + + service[`dispatch${fnName}`](...params); + expect(spy).toHaveBeenCalledWith(new SessionActions[fnName](...params)); + }); + }); }); From e673e0ddbc2c6647cdf0ab5f76283ace5f7a31a7 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:47:48 +0300 Subject: [PATCH 09/25] refactor(feature-management): change state service method names according to action names --- .../src/lib/services/feature-management-state.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts b/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts index 94f2f7fc6b..76521dcde1 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts @@ -14,11 +14,11 @@ export class FeatureManagementStateService { return this.store.selectSnapshot(FeatureManagementState.getFeatures); } - fetchFeatures(payload: FeatureManagement.Provider) { + dispatchGetFeatures(payload: FeatureManagement.Provider) { return this.store.dispatch(new GetFeatures(payload)); } - updateFeatures(payload: FeatureManagement.Provider & FeatureManagement.Features) { + dispatchUpdateFeatures(payload: FeatureManagement.Provider & FeatureManagement.Features) { return this.store.dispatch(new UpdateFeatures(payload)); } } From c32ee9b66a0b9264834886c639c54b0fa95f6609 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:48:23 +0300 Subject: [PATCH 10/25] test(feature-management): add missing test for state service --- .../feature-management-state.service.spec.ts | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/feature-management/src/lib/tests/feature-management-state.service.spec.ts b/npm/ng-packs/packages/feature-management/src/lib/tests/feature-management-state.service.spec.ts index 9e04806b7e..59dc3701a2 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/tests/feature-management-state.service.spec.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/tests/feature-management-state.service.spec.ts @@ -2,13 +2,17 @@ import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spect import { Store } from '@ngxs/store'; import { FeatureManagementStateService } from '../services/feature-management-state.service'; import { FeatureManagementState } from '../states'; +import * as FeatureManagementActions from '../actions'; describe('FeatureManagementStateService', () => { let service: FeatureManagementStateService; let spectator: SpectatorService; let store: SpyObject; - const createService = createServiceFactory({ service: FeatureManagementStateService, mocks: [Store] }); + const createService = createServiceFactory({ + service: FeatureManagementStateService, + mocks: [Store], + }); beforeEach(() => { spectator = createService(); service = spectator.service; @@ -37,4 +41,21 @@ describe('FeatureManagementStateService', () => { } }); }); + + test('should have a dispatch method for every FeatureManagementState action', () => { + const reg = /(?<=dispatch)(\w+)(?=\()/gm; + FeatureManagementStateService.toString() + .match(reg) + .forEach(fnName => { + expect(FeatureManagementActions[fnName]).toBeTruthy(); + + const spy = jest.spyOn(store, 'dispatch'); + spy.mockClear(); + + const params = Array.from(new Array(FeatureManagementActions[fnName].length)); + + service[`dispatch${fnName}`](...params); + expect(spy).toHaveBeenCalledWith(new FeatureManagementActions[fnName](...params)); + }); + }); }); From 3b2228e30e4d92503d79fadbb6ac3080ff429730 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:48:55 +0300 Subject: [PATCH 11/25] refactor(identity): change state service method names according to action names --- .../lib/services/identity-state.service.ts | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts b/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts index 9448273c0c..91763a685f 100644 --- a/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts +++ b/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts @@ -36,47 +36,47 @@ export class IdentityStateService { return this.store.selectSnapshot(IdentityState.getUsersTotalCount); } - fetchRoles(payload?: ABP.PageQueryParams) { + dispatchGetRoles(payload?: ABP.PageQueryParams) { return this.store.dispatch(new GetRoles(payload)); } - fetchRole(payload: string) { + dispatchGetRoleById(payload: string) { return this.store.dispatch(new GetRoleById(payload)); } - deleteRole(payload: string) { + dispatchDeleteRole(payload: string) { return this.store.dispatch(new DeleteRole(payload)); } - createRole(payload: Identity.RoleSaveRequest) { + dispatchCreateRole(payload: Identity.RoleSaveRequest) { return this.store.dispatch(new CreateRole(payload)); } - updateRole(payload: Identity.RoleItem) { + dispatchUpdateRole(payload: Identity.RoleItem) { return this.store.dispatch(new UpdateRole(payload)); } - fetchUsers(payload?: ABP.PageQueryParams) { + dispatchGetUsers(payload?: ABP.PageQueryParams) { return this.store.dispatch(new GetUsers(payload)); } - fetchUser(payload: string) { + dispatchGetUserById(payload: string) { return this.store.dispatch(new GetUserById(payload)); } - deleteUser(payload: string) { + dispatchDeleteUser(payload: string) { return this.store.dispatch(new DeleteUser(payload)); } - createUser(payload: Identity.UserSaveRequest) { + dispatchCreateUser(payload: Identity.UserSaveRequest) { return this.store.dispatch(new CreateUser(payload)); } - updateUser(payload: Identity.UserSaveRequest & { id: string }) { + dispatchUpdateUser(payload: Identity.UserSaveRequest & { id: string }) { return this.store.dispatch(new UpdateUser(payload)); } - getUserRoles(payload: string) { + dispatchGetUserRoles(payload: string) { return this.store.dispatch(new GetUserRoles(payload)); } } From ce6b7e24808570474be32ed97bcd7c8f1587dc38 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:49:32 +0300 Subject: [PATCH 12/25] test(identity): add missing test for state service --- .../lib/tests/identity-state.service.spec.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/npm/ng-packs/packages/identity/src/lib/tests/identity-state.service.spec.ts b/npm/ng-packs/packages/identity/src/lib/tests/identity-state.service.spec.ts index 6d78aa950f..dcf3193eea 100644 --- a/npm/ng-packs/packages/identity/src/lib/tests/identity-state.service.spec.ts +++ b/npm/ng-packs/packages/identity/src/lib/tests/identity-state.service.spec.ts @@ -2,6 +2,8 @@ import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spect import { IdentityStateService } from '../services/identity-state.service'; import { IdentityState } from '../states/identity.state'; import { Store } from '@ngxs/store'; +import * as IdentityActions from '../actions/identity.actions'; + describe('IdentityStateService', () => { let service: IdentityStateService; let spectator: SpectatorService; @@ -36,4 +38,21 @@ describe('IdentityStateService', () => { } }); }); + + test('should have a dispatch method for every IdentityState action', () => { + const reg = /(?<=dispatch)(\w+)(?=\()/gm; + IdentityStateService.toString() + .match(reg) + .forEach(fnName => { + expect(IdentityActions[fnName]).toBeTruthy(); + + const spy = jest.spyOn(store, 'dispatch'); + spy.mockClear(); + + const params = Array.from(new Array(IdentityActions[fnName].length)); + + service[`dispatch${fnName}`](...params); + expect(spy).toHaveBeenCalledWith(new IdentityActions[fnName](...params)); + }); + }); }); From 998dba14b4a7ee12c2c0f05902a5e1b4a2042f31 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:49:47 +0300 Subject: [PATCH 13/25] refactor(permisison-management): change state service method names according to action names --- .../src/lib/services/permission-management-state.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts b/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts index 243926aaea..75cbefa479 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts @@ -17,11 +17,11 @@ export class PermissionManagementStateService { return this.store.selectSnapshot(PermissionManagementState.getEntityDisplayName); } - getPermissions(payload: PermissionManagement.GrantedProvider) { + dispatchGetPermissions(payload: PermissionManagement.GrantedProvider) { return this.store.dispatch(new GetPermissions(payload)); } - updatePermissions( + dispatchUpdatePermissions( payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest, ) { return this.store.dispatch(new UpdatePermissions(payload)); From c1189ed8aa13dacf14fc1f054ffef2cf2740078b Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:50:07 +0300 Subject: [PATCH 14/25] test(permission-management): add missing test for state service --- ...ermission-management-state.service.spec.ts | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/permission-management/src/lib/tests/permission-management-state.service.spec.ts b/npm/ng-packs/packages/permission-management/src/lib/tests/permission-management-state.service.spec.ts index 65df916a0f..f1d344c7ac 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/tests/permission-management-state.service.spec.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/tests/permission-management-state.service.spec.ts @@ -2,13 +2,17 @@ import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spect import { PermissionManagementStateService } from '../services/permission-management-state.service'; import { PermissionManagementState } from '../states/permission-management.state'; import { Store } from '@ngxs/store'; +import * as PermissionManagementActions from '../actions'; describe('PermissionManagementStateService', () => { let service: PermissionManagementStateService; let spectator: SpectatorService; let store: SpyObject; - const createService = createServiceFactory({ service: PermissionManagementStateService, mocks: [Store] }); + const createService = createServiceFactory({ + service: PermissionManagementStateService, + mocks: [Store], + }); beforeEach(() => { spectator = createService(); service = spectator.service; @@ -36,4 +40,21 @@ describe('PermissionManagementStateService', () => { } }); }); + + test('should have a dispatch method for every PermissionManagementState action', () => { + const reg = /(?<=dispatch)(\w+)(?=\()/gm; + PermissionManagementStateService.toString() + .match(reg) + .forEach(fnName => { + expect(PermissionManagementActions[fnName]).toBeTruthy(); + + const spy = jest.spyOn(store, 'dispatch'); + spy.mockClear(); + + const params = Array.from(new Array(PermissionManagementActions[fnName].length)); + + service[`dispatch${fnName}`](...params); + expect(spy).toHaveBeenCalledWith(new PermissionManagementActions[fnName](...params)); + }); + }); }); From 0adcfef9109c87fb5fd148601e4816e7ffe83ce0 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:50:26 +0300 Subject: [PATCH 15/25] refactor(tenant-management): change state service method names according to action names --- .../lib/services/tenant-management-state.service.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts index e27e4b3d67..eafae7c2fb 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts @@ -19,23 +19,23 @@ export class TenantManagementStateService { return this.store.selectSnapshot(TenantManagementState.getTenantsTotalCount); } - getTenants(payload?: ABP.PageQueryParams) { + dispatchGetTenants(payload?: ABP.PageQueryParams) { return this.store.dispatch(new GetTenants(payload)); } - getTenantById(payload: string) { + dispatchGetTenantById(payload: string) { return this.store.dispatch(new GetTenantById(payload)); } - createTenant(payload: TenantManagement.AddRequest) { + dispatchCreateTenant(payload: TenantManagement.AddRequest) { return this.store.dispatch(new CreateTenant(payload)); } - updateTenant(payload: TenantManagement.UpdateRequest) { + dispatchUpdateTenant(payload: TenantManagement.UpdateRequest) { return this.store.dispatch(new UpdateTenant(payload)); } - deleteTenant(payload: string) { + dispatchDeleteTenant(payload: string) { return this.store.dispatch(new DeleteTenant(payload)); } } From e875433a57fe60115efc38eaaef94658014d0440 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:50:45 +0300 Subject: [PATCH 16/25] test(tenant-management): add missing test for state service --- .../tenant-management-state.service.spec.ts | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/tests/tenant-management-state.service.spec.ts b/npm/ng-packs/packages/tenant-management/src/lib/tests/tenant-management-state.service.spec.ts index c5b40fb54b..bd9017a2c7 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/tests/tenant-management-state.service.spec.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/tests/tenant-management-state.service.spec.ts @@ -2,12 +2,17 @@ import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spect import { TenantManagementStateService } from '../services/tenant-management-state.service'; import { TenantManagementState } from '../states/tenant-management.state'; import { Store } from '@ngxs/store'; +import * as TenantManagementActions from '../actions'; + describe('TenantManagementStateService', () => { let service: TenantManagementStateService; let spectator: SpectatorService; let store: SpyObject; - const createService = createServiceFactory({ service: TenantManagementStateService, mocks: [Store] }); + const createService = createServiceFactory({ + service: TenantManagementStateService, + mocks: [Store], + }); beforeEach(() => { spectator = createService(); service = spectator.service; @@ -36,4 +41,21 @@ describe('TenantManagementStateService', () => { } }); }); + + test('should have a dispatch method for every TenantManagementState action', () => { + const reg = /(?<=dispatch)(\w+)(?=\()/gm; + TenantManagementStateService.toString() + .match(reg) + .forEach(fnName => { + expect(TenantManagementActions[fnName]).toBeTruthy(); + + const spy = jest.spyOn(store, 'dispatch'); + spy.mockClear(); + + const params = Array.from(new Array(TenantManagementActions[fnName].length)); + + service[`dispatch${fnName}`](...params); + expect(spy).toHaveBeenCalledWith(new TenantManagementActions[fnName](...params)); + }); + }); }); From f89bade3a61b1e901766e6d1c2d5cbd10ecb2cb2 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:51:57 +0300 Subject: [PATCH 17/25] feature(theme-basic): add state action dispatchers to state service --- .../src/lib/services/layout-state.service.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/npm/ng-packs/packages/theme-basic/src/lib/services/layout-state.service.ts b/npm/ng-packs/packages/theme-basic/src/lib/services/layout-state.service.ts index 92ab3d0c59..a68e97c32c 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/services/layout-state.service.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/services/layout-state.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; import { Store } from '@ngxs/store'; import { LayoutState } from '../states/layout.state'; +import { AddNavigationElement, RemoveNavigationElementByName } from '../actions'; +import { Layout } from '../models/layout'; @Injectable() export class LayoutStateService { @@ -9,4 +11,12 @@ export class LayoutStateService { getNavigationElements() { return this.store.selectSnapshot(LayoutState.getNavigationElements); } + + dispatchAddNavigationElement(payload: Layout.NavigationElement | Layout.NavigationElement[]) { + return this.store.dispatch(new AddNavigationElement(payload)); + } + + dispatchRemoveNavigationElementByName(name: string) { + return this.store.dispatch(new RemoveNavigationElementByName(name)); + } } From 4b115fb90d29841e2186949ddb264985b9ff487e Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:52:21 +0300 Subject: [PATCH 18/25] test(theme-basic): add missing test for state service --- .../lib/tests/layout-state.service.spec.ts | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/theme-basic/src/lib/tests/layout-state.service.spec.ts b/npm/ng-packs/packages/theme-basic/src/lib/tests/layout-state.service.spec.ts index 2a88a93f47..de4f489aaa 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/tests/layout-state.service.spec.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/tests/layout-state.service.spec.ts @@ -1,7 +1,8 @@ import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spectator/jest'; +import { Store } from '@ngxs/store'; +import * as LayoutActions from '../actions'; import { LayoutStateService } from '../services/layout-state.service'; import { LayoutState } from '../states/layout.state'; -import { Store } from '@ngxs/store'; describe('LayoutStateService', () => { let service: LayoutStateService; let spectator: SpectatorService; @@ -36,4 +37,21 @@ describe('LayoutStateService', () => { } }); }); + + test('should have a dispatch method for every LayoutState action', () => { + const reg = /(?<=dispatch)(\w+)(?=\()/gm; + LayoutStateService.toString() + .match(reg) + .forEach(fnName => { + expect(LayoutActions[fnName]).toBeTruthy(); + + const spy = jest.spyOn(store, 'dispatch'); + spy.mockClear(); + + const params = Array.from(new Array(LayoutActions[fnName].length)); + + service[`dispatch${fnName}`](...params); + expect(spy).toHaveBeenCalledWith(new LayoutActions[fnName](...params)); + }); + }); }); From 4459c62029cd8fc31b9d5a6b95513868b3ac3c96 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 10:53:23 +0300 Subject: [PATCH 19/25] style(theme-basic): reorder imports and beautify method parameters --- .../theme-basic/src/lib/states/layout.state.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/npm/ng-packs/packages/theme-basic/src/lib/states/layout.state.ts b/npm/ng-packs/packages/theme-basic/src/lib/states/layout.state.ts index 7fac67a036..1c90803638 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/states/layout.state.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/states/layout.state.ts @@ -1,8 +1,7 @@ -import { State, Action, StateContext, Selector } from '@ngxs/store'; +import { Action, Selector, State, StateContext } from '@ngxs/store'; +import snq from 'snq'; import { AddNavigationElement, RemoveNavigationElementByName } from '../actions/layout.actions'; import { Layout } from '../models/layout'; -import { TemplateRef } from '@angular/core'; -import snq from 'snq'; @State({ name: 'LayoutState', @@ -15,7 +14,10 @@ export class LayoutState { } @Action(AddNavigationElement) - layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: AddNavigationElement) { + layoutAddAction( + { getState, patchState }: StateContext, + { payload = [] }: AddNavigationElement, + ) { let { navigationElements } = getState(); if (!Array.isArray(payload)) { @@ -44,7 +46,10 @@ export class LayoutState { } @Action(RemoveNavigationElementByName) - layoutRemoveAction({ getState, patchState }: StateContext, { name }: RemoveNavigationElementByName) { + layoutRemoveAction( + { getState, patchState }: StateContext, + { name }: RemoveNavigationElementByName, + ) { let { navigationElements } = getState(); const index = navigationElements.findIndex(element => element.name === name); From d30f5a7af60d6b1dfac16ea61d7d8b6715446e29 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 11:39:20 +0300 Subject: [PATCH 20/25] refactor(core): change state service dispatcher parameters --- .../core/src/lib/services/config-state.service.ts | 8 ++++---- .../core/src/lib/services/profile-state.service.ts | 8 ++++---- .../core/src/lib/services/session-state.service.ts | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts index 4d555c72fd..506b278634 100644 --- a/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/config-state.service.ts @@ -54,11 +54,11 @@ export class ConfigStateService { return this.store.dispatch(new GetAppConfiguration()); } - dispatchPatchRouteByName(name: string, newValue: Partial) { - return this.store.dispatch(new PatchRouteByName(name, newValue)); + dispatchPatchRouteByName(...args: ConstructorParameters) { + return this.store.dispatch(new PatchRouteByName(...args)); } - dispatchAddRoute(payload: Omit) { - return this.store.dispatch(new AddRoute(payload)); + dispatchAddRoute(...args: ConstructorParameters) { + return this.store.dispatch(new AddRoute(...args)); } } diff --git a/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts index 9c7567e11f..cd76c4bf03 100644 --- a/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/profile-state.service.ts @@ -18,11 +18,11 @@ export class ProfileStateService { return this.store.dispatch(new GetProfile()); } - dispatchUpdateProfile(payload: Profile.Response) { - return this.store.dispatch(new UpdateProfile(payload)); + dispatchUpdateProfile(...args: ConstructorParameters) { + return this.store.dispatch(new UpdateProfile(...args)); } - dispatchChangePassword(payload: Profile.ChangePasswordRequest) { - return this.store.dispatch(new ChangePassword(payload)); + dispatchChangePassword(...args: ConstructorParameters) { + return this.store.dispatch(new ChangePassword(...args)); } } diff --git a/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts b/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts index ccb1de9a12..88b8f2df9b 100644 --- a/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/session-state.service.ts @@ -18,11 +18,11 @@ export class SessionStateService { return this.store.selectSnapshot(SessionState.getTenant); } - dispatchSetLanguage(payload: string) { - return this.store.dispatch(new SetLanguage(payload)); + dispatchSetLanguage(...args: ConstructorParameters) { + return this.store.dispatch(new SetLanguage(...args)); } - dispatchSetTenant(payload: ABP.BasicItem) { - return this.store.dispatch(new SetTenant(payload)); + dispatchSetTenant(...args: ConstructorParameters) { + return this.store.dispatch(new SetTenant(...args)); } } From d31474cc28737ad0798ed71c3422eb3b7fae8aa8 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 11:39:31 +0300 Subject: [PATCH 21/25] refactor(feature-management): change state service dispatcher parameters --- .../src/lib/services/feature-management-state.service.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts b/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts index 76521dcde1..79d7fbef34 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/services/feature-management-state.service.ts @@ -14,11 +14,11 @@ export class FeatureManagementStateService { return this.store.selectSnapshot(FeatureManagementState.getFeatures); } - dispatchGetFeatures(payload: FeatureManagement.Provider) { - return this.store.dispatch(new GetFeatures(payload)); + dispatchGetFeatures(...args: ConstructorParameters) { + return this.store.dispatch(new GetFeatures(...args)); } - dispatchUpdateFeatures(payload: FeatureManagement.Provider & FeatureManagement.Features) { - return this.store.dispatch(new UpdateFeatures(payload)); + dispatchUpdateFeatures(...args: ConstructorParameters) { + return this.store.dispatch(new UpdateFeatures(...args)); } } From 6f9422d8f254dccaa43fafc1eefe0b2d09b04619 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 11:39:39 +0300 Subject: [PATCH 22/25] refactor(identity): change state service dispatcher parameters --- .../lib/services/identity-state.service.ts | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts b/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts index 91763a685f..0fcb6d4014 100644 --- a/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts +++ b/npm/ng-packs/packages/identity/src/lib/services/identity-state.service.ts @@ -36,47 +36,47 @@ export class IdentityStateService { return this.store.selectSnapshot(IdentityState.getUsersTotalCount); } - dispatchGetRoles(payload?: ABP.PageQueryParams) { - return this.store.dispatch(new GetRoles(payload)); + dispatchGetRoles(...args: ConstructorParameters) { + return this.store.dispatch(new GetRoles(...args)); } - dispatchGetRoleById(payload: string) { - return this.store.dispatch(new GetRoleById(payload)); + dispatchGetRoleById(...args: ConstructorParameters) { + return this.store.dispatch(new GetRoleById(...args)); } - dispatchDeleteRole(payload: string) { - return this.store.dispatch(new DeleteRole(payload)); + dispatchDeleteRole(...args: ConstructorParameters) { + return this.store.dispatch(new DeleteRole(...args)); } - dispatchCreateRole(payload: Identity.RoleSaveRequest) { - return this.store.dispatch(new CreateRole(payload)); + dispatchCreateRole(...args: ConstructorParameters) { + return this.store.dispatch(new CreateRole(...args)); } - dispatchUpdateRole(payload: Identity.RoleItem) { - return this.store.dispatch(new UpdateRole(payload)); + dispatchUpdateRole(...args: ConstructorParameters) { + return this.store.dispatch(new UpdateRole(...args)); } - dispatchGetUsers(payload?: ABP.PageQueryParams) { - return this.store.dispatch(new GetUsers(payload)); + dispatchGetUsers(...args: ConstructorParameters) { + return this.store.dispatch(new GetUsers(...args)); } - dispatchGetUserById(payload: string) { - return this.store.dispatch(new GetUserById(payload)); + dispatchGetUserById(...args: ConstructorParameters) { + return this.store.dispatch(new GetUserById(...args)); } - dispatchDeleteUser(payload: string) { - return this.store.dispatch(new DeleteUser(payload)); + dispatchDeleteUser(...args: ConstructorParameters) { + return this.store.dispatch(new DeleteUser(...args)); } - dispatchCreateUser(payload: Identity.UserSaveRequest) { - return this.store.dispatch(new CreateUser(payload)); + dispatchCreateUser(...args: ConstructorParameters) { + return this.store.dispatch(new CreateUser(...args)); } - dispatchUpdateUser(payload: Identity.UserSaveRequest & { id: string }) { - return this.store.dispatch(new UpdateUser(payload)); + dispatchUpdateUser(...args: ConstructorParameters) { + return this.store.dispatch(new UpdateUser(...args)); } - dispatchGetUserRoles(payload: string) { - return this.store.dispatch(new GetUserRoles(payload)); + dispatchGetUserRoles(...args: ConstructorParameters) { + return this.store.dispatch(new GetUserRoles(...args)); } } From e0de527018fec0d2aa5737ce07f4adb42f194a83 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 11:39:51 +0300 Subject: [PATCH 23/25] refactor(permission-management): change state service dispatcher parameters --- .../services/permission-management-state.service.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts b/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts index 75cbefa479..1f372224ae 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts @@ -17,13 +17,11 @@ export class PermissionManagementStateService { return this.store.selectSnapshot(PermissionManagementState.getEntityDisplayName); } - dispatchGetPermissions(payload: PermissionManagement.GrantedProvider) { - return this.store.dispatch(new GetPermissions(payload)); + dispatchGetPermissions(...args: ConstructorParameters) { + return this.store.dispatch(new GetPermissions(...args)); } - dispatchUpdatePermissions( - payload: PermissionManagement.GrantedProvider & PermissionManagement.UpdateRequest, - ) { - return this.store.dispatch(new UpdatePermissions(payload)); + dispatchUpdatePermissions(...args: ConstructorParameters) { + return this.store.dispatch(new UpdatePermissions(...args)); } } From 177f4ffe08876574578fb0abdb6dbc9fcaa0aa91 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 11:40:11 +0300 Subject: [PATCH 24/25] refactor(tenant-management): change state service dispatcher parameters --- .../tenant-management-state.service.ts | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts index eafae7c2fb..4475bef141 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts @@ -19,23 +19,23 @@ export class TenantManagementStateService { return this.store.selectSnapshot(TenantManagementState.getTenantsTotalCount); } - dispatchGetTenants(payload?: ABP.PageQueryParams) { - return this.store.dispatch(new GetTenants(payload)); + dispatchGetTenants(...args: ConstructorParameters) { + return this.store.dispatch(new GetTenants(...args)); } - dispatchGetTenantById(payload: string) { - return this.store.dispatch(new GetTenantById(payload)); + dispatchGetTenantById(...args: ConstructorParameters) { + return this.store.dispatch(new GetTenantById(...args)); } - dispatchCreateTenant(payload: TenantManagement.AddRequest) { - return this.store.dispatch(new CreateTenant(payload)); + dispatchCreateTenant(...args: ConstructorParameters) { + return this.store.dispatch(new CreateTenant(...args)); } - dispatchUpdateTenant(payload: TenantManagement.UpdateRequest) { - return this.store.dispatch(new UpdateTenant(payload)); + dispatchUpdateTenant(...args: ConstructorParameters) { + return this.store.dispatch(new UpdateTenant(...args)); } - dispatchDeleteTenant(payload: string) { - return this.store.dispatch(new DeleteTenant(payload)); + dispatchDeleteTenant(...args: ConstructorParameters) { + return this.store.dispatch(new DeleteTenant(...args)); } } From fdd73da7854200b92e647fd7349d9d1b2d607a5f Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 24 Dec 2019 11:40:26 +0300 Subject: [PATCH 25/25] refactor(theme-basic): change state service dispatcher parameters --- .../src/lib/services/layout-state.service.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/theme-basic/src/lib/services/layout-state.service.ts b/npm/ng-packs/packages/theme-basic/src/lib/services/layout-state.service.ts index a68e97c32c..f38c9c4361 100644 --- a/npm/ng-packs/packages/theme-basic/src/lib/services/layout-state.service.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/services/layout-state.service.ts @@ -12,11 +12,13 @@ export class LayoutStateService { return this.store.selectSnapshot(LayoutState.getNavigationElements); } - dispatchAddNavigationElement(payload: Layout.NavigationElement | Layout.NavigationElement[]) { - return this.store.dispatch(new AddNavigationElement(payload)); + dispatchAddNavigationElement(...args: ConstructorParameters) { + return this.store.dispatch(new AddNavigationElement(...args)); } - dispatchRemoveNavigationElementByName(name: string) { - return this.store.dispatch(new RemoveNavigationElementByName(name)); + dispatchRemoveNavigationElementByName( + ...args: ConstructorParameters + ) { + return this.store.dispatch(new RemoveNavigationElementByName(...args)); } }