Browse Source

update: guards and resolvers with the injection cycle

pull/21197/head
sumeyyeKurtulus 2 years ago
parent
commit
f34ba86dcf
  1. 11
      npm/ng-packs/packages/account/src/lib/guards/extensions.guard.ts
  2. 10
      npm/ng-packs/packages/account/src/lib/resolvers/extensions.resolver.ts
  3. 11
      npm/ng-packs/packages/identity/src/lib/guards/extensions.guard.ts
  4. 10
      npm/ng-packs/packages/identity/src/lib/resolvers/extensions.resolver.ts
  5. 11
      npm/ng-packs/packages/tenant-management/src/lib/guards/extensions.guard.ts
  6. 10
      npm/ng-packs/packages/tenant-management/src/lib/resolvers/extensions.resolver.ts

11
npm/ng-packs/packages/account/src/lib/guards/extensions.guard.ts

@ -1,7 +1,7 @@
import { Injectable, inject } from '@angular/core';
import { Injectable, Injector, inject } from '@angular/core';
import { Observable } from 'rxjs';
import { tap, map } from 'rxjs/operators';
import { ConfigStateService, IAbpGuard, PermissionService } from '@abp/ng.core';
import { IAbpGuard } from '@abp/ng.core';
import {
ExtensionsService,
getObjectExtensionEntitiesFromStore,
@ -20,8 +20,7 @@ import { eAccountComponents } from '../enums/components';
*/
@Injectable()
export class AccountExtensionsGuard implements IAbpGuard {
protected readonly configState = inject(ConfigStateService);
protected readonly permmission = inject(PermissionService);
protected readonly injector = inject(Injector);
protected readonly extensions = inject(ExtensionsService);
canActivate(): Observable<boolean> {
@ -29,11 +28,11 @@ export class AccountExtensionsGuard implements IAbpGuard {
const editFormContributors = inject(ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};
return getObjectExtensionEntitiesFromStore(this.configState, 'Identity').pipe(
return getObjectExtensionEntitiesFromStore(this.injector, 'Identity').pipe(
map(entities => ({
[eAccountComponents.PersonalSettings]: entities.User,
})),
mapEntitiesToContributors(this.configState, this.permmission, 'AbpIdentity'),
mapEntitiesToContributors(this.injector, 'AbpIdentity'),
tap(objectExtensionContributors => {
mergeWithDefaultProps(
this.extensions.editFormProps,

10
npm/ng-packs/packages/account/src/lib/resolvers/extensions.resolver.ts

@ -1,7 +1,6 @@
import { inject } from '@angular/core';
import { inject, Injector } from '@angular/core';
import { ResolveFn } from '@angular/router';
import { map, tap } from 'rxjs';
import { ConfigStateService, PermissionService } from '@abp/ng.core';
import {
ExtensionsService,
getObjectExtensionEntitiesFromStore,
@ -12,19 +11,18 @@ import { eAccountComponents } from '../enums';
import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, DEFAULT_ACCOUNT_FORM_PROPS } from '../tokens';
export const accountExtensionsResolver: ResolveFn<any> = () => {
const configState = inject(ConfigStateService);
const permission = inject(PermissionService);
const injector = inject(Injector);
const extensions = inject(ExtensionsService);
const config = { optional: true };
const editFormContributors = inject(ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};
return getObjectExtensionEntitiesFromStore(configState, 'Identity').pipe(
return getObjectExtensionEntitiesFromStore(injector, 'Identity').pipe(
map(entities => ({
[eAccountComponents.PersonalSettings]: entities.User,
})),
mapEntitiesToContributors(configState, permission, 'AbpIdentity'),
mapEntitiesToContributors(injector, 'AbpIdentity'),
tap(objectExtensionContributors => {
mergeWithDefaultProps(
extensions.editFormProps,

11
npm/ng-packs/packages/identity/src/lib/guards/extensions.guard.ts

@ -5,8 +5,8 @@ import {
mergeWithDefaultActions,
mergeWithDefaultProps,
} from '@abp/ng.components/extensible';
import { ConfigStateService, IAbpGuard, PermissionService } from '@abp/ng.core';
import { Injectable, inject } from '@angular/core';
import { IAbpGuard } from '@abp/ng.core';
import { Injectable, Injector, inject } from '@angular/core';
import { Observable } from 'rxjs';
import { map, tap } from 'rxjs/operators';
@ -30,8 +30,7 @@ import {
*/
@Injectable()
export class IdentityExtensionsGuard implements IAbpGuard {
protected readonly configState = inject(ConfigStateService);
protected readonly permission = inject(PermissionService);
protected readonly injector = inject(Injector);
protected readonly extensions = inject(ExtensionsService);
canActivate(): Observable<boolean> {
@ -43,12 +42,12 @@ export class IdentityExtensionsGuard implements IAbpGuard {
const createFormContributors = inject(IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS, config) || {};
const editFormContributors = inject(IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};
return getObjectExtensionEntitiesFromStore(this.configState, 'Identity').pipe(
return getObjectExtensionEntitiesFromStore(this.injector, 'Identity').pipe(
map(entities => ({
[eIdentityComponents.Roles]: entities.Role,
[eIdentityComponents.Users]: entities.User,
})),
mapEntitiesToContributors(this.configState, this.permission, 'AbpIdentity'),
mapEntitiesToContributors(this.injector, 'AbpIdentity'),
tap(objectExtensionContributors => {
mergeWithDefaultActions(
this.extensions.entityActions,

10
npm/ng-packs/packages/identity/src/lib/resolvers/extensions.resolver.ts

@ -5,8 +5,7 @@ import {
mergeWithDefaultActions,
mergeWithDefaultProps,
} from '@abp/ng.components/extensible';
import { ConfigStateService, PermissionService } from '@abp/ng.core';
import { inject } from '@angular/core';
import { inject, Injector } from '@angular/core';
import { ResolveFn } from '@angular/router';
import { map, tap } from 'rxjs';
import { eIdentityComponents } from '../enums';
@ -24,8 +23,6 @@ import {
} from '../tokens';
export const identityExtensionsResolver: ResolveFn<any> = () => {
const configState = inject(ConfigStateService);
const permission = inject(PermissionService);
const extensions = inject(ExtensionsService);
const config = { optional: true };
@ -36,12 +33,13 @@ export const identityExtensionsResolver: ResolveFn<any> = () => {
const createFormContributors = inject(IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS, config) || {};
const editFormContributors = inject(IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};
return getObjectExtensionEntitiesFromStore(configState, 'Identity').pipe(
const injector = inject(Injector);
return getObjectExtensionEntitiesFromStore(injector, 'Identity').pipe(
map(entities => ({
[eIdentityComponents.Roles]: entities.Role,
[eIdentityComponents.Users]: entities.User,
})),
mapEntitiesToContributors(configState, permission, 'AbpIdentity'),
mapEntitiesToContributors(injector, 'AbpIdentity'),
tap(objectExtensionContributors => {
mergeWithDefaultActions(
extensions.entityActions,

11
npm/ng-packs/packages/tenant-management/src/lib/guards/extensions.guard.ts

@ -5,8 +5,8 @@ import {
mergeWithDefaultActions,
mergeWithDefaultProps,
} from '@abp/ng.components/extensible';
import { ConfigStateService, IAbpGuard, PermissionService } from '@abp/ng.core';
import { Injectable, inject } from '@angular/core';
import { IAbpGuard } from '@abp/ng.core';
import { Injectable, Injector, inject } from '@angular/core';
import { Observable } from 'rxjs';
import { map, tap } from 'rxjs/operators';
@ -30,8 +30,7 @@ import {
*/
@Injectable()
export class TenantManagementExtensionsGuard implements IAbpGuard {
protected readonly configState = inject(ConfigStateService);
protected readonly permission = inject(PermissionService);
protected readonly injector = inject(Injector);
protected readonly extensions = inject(ExtensionsService);
canActivate(): Observable<boolean> {
@ -45,11 +44,11 @@ export class TenantManagementExtensionsGuard implements IAbpGuard {
const editFormContributors =
inject(TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};
return getObjectExtensionEntitiesFromStore(this.configState, 'TenantManagement').pipe(
return getObjectExtensionEntitiesFromStore(this.injector, 'TenantManagement').pipe(
map(entities => ({
[eTenantManagementComponents.Tenants]: entities.Tenant,
})),
mapEntitiesToContributors(this.configState, this.permission, 'TenantManagement'),
mapEntitiesToContributors(this.injector, 'TenantManagement'),
tap(objectExtensionContributors => {
mergeWithDefaultActions(
this.extensions.entityActions,

10
npm/ng-packs/packages/tenant-management/src/lib/resolvers/extensions.resolver.ts

@ -5,8 +5,7 @@ import {
mergeWithDefaultActions,
mergeWithDefaultProps,
} from '@abp/ng.components/extensible';
import { ConfigStateService, PermissionService } from '@abp/ng.core';
import { inject } from '@angular/core';
import { inject, Injector } from '@angular/core';
import { ResolveFn } from '@angular/router';
import { map, tap } from 'rxjs';
import { eTenantManagementComponents } from '../enums';
@ -24,8 +23,7 @@ import {
} from '../tokens';
export const tenantManagementExtensionsResolver: ResolveFn<any> = () => {
const configState = inject(ConfigStateService);
const permission = inject(PermissionService);
const injector = inject(Injector);
const extensions = inject(ExtensionsService);
const config = { optional: true };
@ -37,11 +35,11 @@ export const tenantManagementExtensionsResolver: ResolveFn<any> = () => {
inject(TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS, config) || {};
const editFormContributors = inject(TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};
return getObjectExtensionEntitiesFromStore(configState, 'TenantManagement').pipe(
return getObjectExtensionEntitiesFromStore(injector, 'TenantManagement').pipe(
map(entities => ({
[eTenantManagementComponents.Tenants]: entities.Tenant,
})),
mapEntitiesToContributors(configState, permission, 'TenantManagement'),
mapEntitiesToContributors(injector, 'TenantManagement'),
tap(objectExtensionContributors => {
mergeWithDefaultActions(
extensions.entityActions,

Loading…
Cancel
Save