@abp/ng.account 7.2.2 → 7.3.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +128 -2
  2. package/config/account-config.module.d.ts +8 -8
  3. package/config/enums/index.d.ts +1 -1
  4. package/config/enums/route-names.d.ts +8 -8
  5. package/config/index.d.ts +5 -5
  6. package/config/providers/index.d.ts +1 -1
  7. package/config/providers/route.provider.d.ts +8 -8
  8. package/config/public-api.d.ts +3 -3
  9. package/config/utils/factories.d.ts +2 -2
  10. package/{esm2020 → esm2022}/abp-ng.account.mjs +4 -4
  11. package/{esm2020 → esm2022}/config/abp-ng.account-config.mjs +4 -4
  12. package/esm2022/config/account-config.module.mjs +28 -0
  13. package/{esm2020 → esm2022}/config/enums/index.mjs +1 -1
  14. package/{esm2020 → esm2022}/config/enums/route-names.mjs +1 -1
  15. package/{esm2020 → esm2022}/config/providers/index.mjs +1 -1
  16. package/{esm2020 → esm2022}/config/providers/route.provider.mjs +49 -49
  17. package/{esm2020 → esm2022}/config/public-api.mjs +3 -3
  18. package/{esm2020 → esm2022}/config/utils/factories.mjs +10 -10
  19. package/esm2022/lib/account-routing.module.mjs +91 -0
  20. package/esm2022/lib/account.module.mjs +104 -0
  21. package/esm2022/lib/components/change-password/change-password.component.mjs +88 -0
  22. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +44 -0
  23. package/{esm2020 → esm2022}/lib/components/index.mjs +8 -8
  24. package/esm2022/lib/components/login/login.component.mjs +65 -0
  25. package/esm2022/lib/components/manage-profile/manage-profile.component.mjs +40 -0
  26. package/{esm2020 → esm2022}/lib/components/personal-settings/personal-settings-half-row.component.mjs +27 -26
  27. package/esm2022/lib/components/personal-settings/personal-settings.component.mjs +90 -0
  28. package/{esm2020 → esm2022}/lib/components/register/register.component.mjs +84 -83
  29. package/esm2022/lib/components/reset-password/reset-password.component.mjs +69 -0
  30. package/{esm2020 → esm2022}/lib/defaults/default-personal-settings-form-props.mjs +45 -45
  31. package/{esm2020 → esm2022}/lib/enums/components.mjs +1 -1
  32. package/{esm2020 → esm2022}/lib/enums/index.mjs +1 -1
  33. package/esm2022/lib/guards/authentication-flow.guard.mjs +21 -0
  34. package/esm2022/lib/guards/extensions.guard.mjs +28 -0
  35. package/{esm2020 → esm2022}/lib/guards/index.mjs +2 -2
  36. package/{esm2020 → esm2022}/lib/models/account.mjs +2 -2
  37. package/{esm2020 → esm2022}/lib/models/config-options.mjs +1 -1
  38. package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
  39. package/{esm2020 → esm2022}/lib/services/index.mjs +1 -1
  40. package/esm2022/lib/services/manage-profile.state.service.mjs +28 -0
  41. package/{esm2020 → esm2022}/lib/tokens/config-options.token.mjs +2 -2
  42. package/{esm2020 → esm2022}/lib/tokens/extensions.token.mjs +6 -6
  43. package/{esm2020 → esm2022}/lib/tokens/index.mjs +3 -3
  44. package/{esm2020 → esm2022}/lib/tokens/re-login-confirmation.token.mjs +2 -2
  45. package/{esm2020 → esm2022}/lib/utils/auth-utils.mjs +7 -7
  46. package/{esm2020 → esm2022}/lib/utils/factory-utils.mjs +6 -6
  47. package/{esm2020 → esm2022}/public-api.mjs +7 -7
  48. package/{fesm2015 → fesm2022}/abp-ng.account-config.mjs +75 -75
  49. package/{fesm2020 → fesm2022}/abp-ng.account-config.mjs.map +1 -1
  50. package/{fesm2020 → fesm2022}/abp-ng.account.mjs +646 -645
  51. package/fesm2022/abp-ng.account.mjs.map +1 -0
  52. package/index.d.ts +5 -5
  53. package/lib/account-routing.module.d.ts +7 -7
  54. package/lib/account.module.d.ts +24 -24
  55. package/lib/components/change-password/change-password.component.d.ts +24 -24
  56. package/lib/components/forgot-password/forgot-password.component.d.ts +14 -14
  57. package/lib/components/index.d.ts +8 -8
  58. package/lib/components/login/login.component.d.ts +24 -24
  59. package/lib/components/manage-profile/manage-profile.component.d.ts +18 -18
  60. package/lib/components/personal-settings/personal-settings-half-row.component.d.ts +13 -13
  61. package/lib/components/personal-settings/personal-settings.component.d.ts +30 -30
  62. package/lib/components/register/register.component.d.ts +26 -26
  63. package/lib/components/reset-password/reset-password.component.d.ts +22 -22
  64. package/lib/defaults/default-personal-settings-form-props.d.ts +3 -3
  65. package/lib/enums/components.d.ts +11 -11
  66. package/lib/enums/index.d.ts +1 -1
  67. package/lib/guards/authentication-flow.guard.d.ts +8 -10
  68. package/lib/guards/extensions.guard.d.ts +11 -11
  69. package/lib/guards/index.d.ts +2 -2
  70. package/lib/models/account.d.ts +14 -14
  71. package/lib/models/config-options.d.ts +11 -11
  72. package/lib/models/index.d.ts +2 -2
  73. package/lib/services/index.d.ts +1 -1
  74. package/lib/services/manage-profile.state.service.d.ts +29 -29
  75. package/lib/tokens/config-options.token.d.ts +3 -3
  76. package/lib/tokens/extensions.token.d.ts +9 -9
  77. package/lib/tokens/index.d.ts +3 -3
  78. package/lib/tokens/re-login-confirmation.token.d.ts +2 -2
  79. package/lib/utils/auth-utils.d.ts +2 -2
  80. package/lib/utils/factory-utils.d.ts +8 -8
  81. package/package.json +25 -19
  82. package/public-api.d.ts +7 -7
  83. package/esm2020/config/account-config.module.mjs +0 -27
  84. package/esm2020/lib/account-routing.module.mjs +0 -90
  85. package/esm2020/lib/account.module.mjs +0 -103
  86. package/esm2020/lib/components/change-password/change-password.component.mjs +0 -87
  87. package/esm2020/lib/components/forgot-password/forgot-password.component.mjs +0 -43
  88. package/esm2020/lib/components/login/login.component.mjs +0 -64
  89. package/esm2020/lib/components/manage-profile/manage-profile.component.mjs +0 -39
  90. package/esm2020/lib/components/personal-settings/personal-settings.component.mjs +0 -89
  91. package/esm2020/lib/components/reset-password/reset-password.component.mjs +0 -68
  92. package/esm2020/lib/guards/authentication-flow.guard.mjs +0 -21
  93. package/esm2020/lib/guards/extensions.guard.mjs +0 -27
  94. package/esm2020/lib/services/manage-profile.state.service.mjs +0 -27
  95. package/fesm2015/abp-ng.account-config.mjs.map +0 -1
  96. package/fesm2015/abp-ng.account.mjs +0 -726
  97. package/fesm2015/abp-ng.account.mjs.map +0 -1
  98. package/fesm2020/abp-ng.account-config.mjs +0 -90
  99. package/fesm2020/abp-ng.account.mjs.map +0 -1
@@ -1,26 +1,26 @@
1
- import { AccountService } from '@abp/ng.account.core/proxy';
2
- import { AuthService, ConfigStateService } from '@abp/ng.core';
3
- import { ToasterService } from '@abp/ng.theme.shared';
4
- import { Injector, OnInit } from '@angular/core';
5
- import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
6
- import { eAccountComponents } from '../../enums/components';
7
- import * as i0 from "@angular/core";
8
- export declare class RegisterComponent implements OnInit {
9
- protected fb: UntypedFormBuilder;
10
- protected accountService: AccountService;
11
- protected configState: ConfigStateService;
12
- protected toasterService: ToasterService;
13
- protected authService: AuthService;
14
- protected injector: Injector;
15
- form: UntypedFormGroup;
16
- inProgress?: boolean;
17
- isSelfRegistrationEnabled: boolean;
18
- authWrapperKey: eAccountComponents;
19
- constructor(fb: UntypedFormBuilder, accountService: AccountService, configState: ConfigStateService, toasterService: ToasterService, authService: AuthService, injector: Injector);
20
- ngOnInit(): void;
21
- protected init(): void;
22
- protected buildForm(): void;
23
- onSubmit(): void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<RegisterComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<RegisterComponent, "abp-register", never, {}, {}, never, never, false, never>;
26
- }
1
+ import { AccountService } from '@abp/ng.account.core/proxy';
2
+ import { AuthService, ConfigStateService } from '@abp/ng.core';
3
+ import { ToasterService } from '@abp/ng.theme.shared';
4
+ import { Injector, OnInit } from '@angular/core';
5
+ import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
6
+ import { eAccountComponents } from '../../enums/components';
7
+ import * as i0 from "@angular/core";
8
+ export declare class RegisterComponent implements OnInit {
9
+ protected fb: UntypedFormBuilder;
10
+ protected accountService: AccountService;
11
+ protected configState: ConfigStateService;
12
+ protected toasterService: ToasterService;
13
+ protected authService: AuthService;
14
+ protected injector: Injector;
15
+ form: UntypedFormGroup;
16
+ inProgress?: boolean;
17
+ isSelfRegistrationEnabled: boolean;
18
+ authWrapperKey: eAccountComponents;
19
+ constructor(fb: UntypedFormBuilder, accountService: AccountService, configState: ConfigStateService, toasterService: ToasterService, authService: AuthService, injector: Injector);
20
+ ngOnInit(): void;
21
+ protected init(): void;
22
+ protected buildForm(): void;
23
+ onSubmit(): void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<RegisterComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<RegisterComponent, "abp-register", never, {}, {}, never, never, false, never>;
26
+ }
@@ -1,22 +1,22 @@
1
- import { AccountService } from '@abp/ng.account.core/proxy';
2
- import { Injector, OnInit } from '@angular/core';
3
- import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
4
- import { ActivatedRoute, Router } from '@angular/router';
5
- import { Validation } from '@ngx-validate/core';
6
- import * as i0 from "@angular/core";
7
- export declare class ResetPasswordComponent implements OnInit {
8
- private fb;
9
- private accountService;
10
- private route;
11
- private router;
12
- private injector;
13
- form: UntypedFormGroup;
14
- inProgress: boolean;
15
- isPasswordReset: boolean;
16
- mapErrorsFn: Validation.MapErrorsFn;
17
- constructor(fb: UntypedFormBuilder, accountService: AccountService, route: ActivatedRoute, router: Router, injector: Injector);
18
- ngOnInit(): void;
19
- onSubmit(): void;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<ResetPasswordComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<ResetPasswordComponent, "abp-reset-password", never, {}, {}, never, never, false, never>;
22
- }
1
+ import { AccountService } from '@abp/ng.account.core/proxy';
2
+ import { Injector, OnInit } from '@angular/core';
3
+ import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
4
+ import { ActivatedRoute, Router } from '@angular/router';
5
+ import { Validation } from '@ngx-validate/core';
6
+ import * as i0 from "@angular/core";
7
+ export declare class ResetPasswordComponent implements OnInit {
8
+ private fb;
9
+ private accountService;
10
+ private route;
11
+ private router;
12
+ private injector;
13
+ form: UntypedFormGroup;
14
+ inProgress: boolean;
15
+ isPasswordReset: boolean;
16
+ mapErrorsFn: Validation.MapErrorsFn;
17
+ constructor(fb: UntypedFormBuilder, accountService: AccountService, route: ActivatedRoute, router: Router, injector: Injector);
18
+ ngOnInit(): void;
19
+ onSubmit(): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResetPasswordComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<ResetPasswordComponent, "abp-reset-password", never, {}, {}, never, never, false, never>;
22
+ }
@@ -1,3 +1,3 @@
1
- import { FormProp } from '@abp/ng.theme.shared/extensions';
2
- import { UpdateProfileDto } from '@abp/ng.account.core/proxy';
3
- export declare const DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS: FormProp<UpdateProfileDto>[];
1
+ import { FormProp } from '@abp/ng.theme.shared/extensions';
2
+ import { UpdateProfileDto } from '@abp/ng.account.core/proxy';
3
+ export declare const DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS: FormProp<UpdateProfileDto>[];
@@ -1,11 +1,11 @@
1
- export declare const enum eAccountComponents {
2
- Login = "Account.LoginComponent",
3
- Register = "Account.RegisterComponent",
4
- ForgotPassword = "Account.ForgotPasswordComponent",
5
- ResetPassword = "Account.ResetPasswordComponent",
6
- ManageProfile = "Account.ManageProfileComponent",
7
- TenantBox = "Account.TenantBoxComponent",
8
- AuthWrapper = "Account.AuthWrapperComponent",
9
- ChangePassword = "Account.ChangePasswordComponent",
10
- PersonalSettings = "Account.PersonalSettingsComponent"
11
- }
1
+ export declare const enum eAccountComponents {
2
+ Login = "Account.LoginComponent",
3
+ Register = "Account.RegisterComponent",
4
+ ForgotPassword = "Account.ForgotPasswordComponent",
5
+ ResetPassword = "Account.ResetPasswordComponent",
6
+ ManageProfile = "Account.ManageProfileComponent",
7
+ TenantBox = "Account.TenantBoxComponent",
8
+ AuthWrapper = "Account.AuthWrapperComponent",
9
+ ChangePassword = "Account.ChangePasswordComponent",
10
+ PersonalSettings = "Account.PersonalSettingsComponent"
11
+ }
@@ -1 +1 @@
1
- export * from './components';
1
+ export * from './components';
@@ -1,10 +1,8 @@
1
- import { AuthService } from '@abp/ng.core';
2
- import { CanActivate } from '@angular/router';
3
- import * as i0 from "@angular/core";
4
- export declare class AuthenticationFlowGuard implements CanActivate {
5
- private authService;
6
- constructor(authService: AuthService);
7
- canActivate(): boolean;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationFlowGuard, never>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationFlowGuard>;
10
- }
1
+ import { AuthService, IAbpGuard } from '@abp/ng.core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AuthenticationFlowGuard implements IAbpGuard {
4
+ protected readonly authService: AuthService;
5
+ canActivate(): boolean;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationFlowGuard, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationFlowGuard>;
8
+ }
@@ -1,11 +1,11 @@
1
- import { Injector } from '@angular/core';
2
- import { CanActivate } from '@angular/router';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export declare class AccountExtensionsGuard implements CanActivate {
6
- private injector;
7
- constructor(injector: Injector);
8
- canActivate(): Observable<boolean>;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<AccountExtensionsGuard, never>;
10
- static ɵprov: i0.ɵɵInjectableDeclaration<AccountExtensionsGuard>;
11
- }
1
+ import { Observable } from 'rxjs';
2
+ import { ConfigStateService, IAbpGuard } from '@abp/ng.core';
3
+ import { ExtensionsService } from '@abp/ng.theme.shared/extensions';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AccountExtensionsGuard implements IAbpGuard {
6
+ protected readonly configState: ConfigStateService;
7
+ protected readonly extensions: ExtensionsService<any>;
8
+ canActivate(): Observable<boolean>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AccountExtensionsGuard, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<AccountExtensionsGuard>;
11
+ }
@@ -1,2 +1,2 @@
1
- export * from './authentication-flow.guard';
2
- export * from './extensions.guard';
1
+ export * from './authentication-flow.guard';
2
+ export * from './extensions.guard';
@@ -1,14 +1,14 @@
1
- export declare namespace Account {
2
- interface TenantBoxComponentInputs {
3
- }
4
- interface TenantBoxComponentOutputs {
5
- }
6
- interface PersonalSettingsComponentInputs {
7
- }
8
- interface PersonalSettingsComponentOutputs {
9
- }
10
- interface ChangePasswordComponentInputs {
11
- }
12
- interface ChangePasswordComponentOutputs {
13
- }
14
- }
1
+ export declare namespace Account {
2
+ interface TenantBoxComponentInputs {
3
+ }
4
+ interface TenantBoxComponentOutputs {
5
+ }
6
+ interface PersonalSettingsComponentInputs {
7
+ }
8
+ interface PersonalSettingsComponentOutputs {
9
+ }
10
+ interface ChangePasswordComponentInputs {
11
+ }
12
+ interface ChangePasswordComponentOutputs {
13
+ }
14
+ }
@@ -1,11 +1,11 @@
1
- import { eAccountComponents } from '../enums';
2
- import { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions';
3
- import { UpdateProfileDto } from '@abp/ng.account.core/proxy';
4
- export interface AccountConfigOptions {
5
- redirectUrl?: string;
6
- isPersonalSettingsChangedConfirmationActive?: boolean;
7
- editFormPropContributors?: AccountEditFormPropContributors;
8
- }
9
- export declare type AccountEditFormPropContributors = Partial<{
10
- [eAccountComponents.PersonalSettings]: EditFormPropContributorCallback<UpdateProfileDto>[];
11
- }>;
1
+ import { eAccountComponents } from '../enums';
2
+ import { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions';
3
+ import { UpdateProfileDto } from '@abp/ng.account.core/proxy';
4
+ export interface AccountConfigOptions {
5
+ redirectUrl?: string;
6
+ isPersonalSettingsChangedConfirmationActive?: boolean;
7
+ editFormPropContributors?: AccountEditFormPropContributors;
8
+ }
9
+ export type AccountEditFormPropContributors = Partial<{
10
+ [eAccountComponents.PersonalSettings]: EditFormPropContributorCallback<UpdateProfileDto>[];
11
+ }>;
@@ -1,2 +1,2 @@
1
- export * from './account';
2
- export * from './config-options';
1
+ export * from './account';
2
+ export * from './config-options';
@@ -1 +1 @@
1
- export * from './manage-profile.state.service';
1
+ export * from './manage-profile.state.service';
@@ -1,29 +1,29 @@
1
- import { ProfileDto } from '@abp/ng.account.core/proxy';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export interface ManageProfileState {
5
- profile: ProfileDto;
6
- }
7
- export declare class ManageProfileStateService {
8
- private readonly store;
9
- get createOnUpdateStream(): <Slice>(selector: (state: {
10
- profile?: {
11
- userName?: string;
12
- email?: string;
13
- name?: string;
14
- surname?: string;
15
- phoneNumber?: string;
16
- isExternal?: boolean;
17
- hasPassword?: boolean;
18
- concurrencyStamp?: string;
19
- extraProperties?: {
20
- [x: string]: any;
21
- };
22
- };
23
- }) => Slice, filterFn?: (x: Slice) => boolean) => Observable<Slice>;
24
- getProfile$(): Observable<ProfileDto>;
25
- getProfile(): ProfileDto;
26
- setProfile(profile: ProfileDto): void;
27
- static ɵfac: i0.ɵɵFactoryDeclaration<ManageProfileStateService, never>;
28
- static ɵprov: i0.ɵɵInjectableDeclaration<ManageProfileStateService>;
29
- }
1
+ import { ProfileDto } from '@abp/ng.account.core/proxy';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export interface ManageProfileState {
5
+ profile: ProfileDto;
6
+ }
7
+ export declare class ManageProfileStateService {
8
+ private readonly store;
9
+ get createOnUpdateStream(): <Slice>(selector: (state: {
10
+ profile?: {
11
+ userName?: string;
12
+ email?: string;
13
+ name?: string;
14
+ surname?: string;
15
+ phoneNumber?: string;
16
+ isExternal?: boolean;
17
+ hasPassword?: boolean;
18
+ concurrencyStamp?: string;
19
+ extraProperties?: {
20
+ [x: string]: any;
21
+ };
22
+ };
23
+ }) => Slice, filterFn?: (x: Slice) => boolean) => Observable<Slice>;
24
+ getProfile$(): Observable<ProfileDto>;
25
+ getProfile(): ProfileDto;
26
+ setProfile(profile: ProfileDto): void;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<ManageProfileStateService, never>;
28
+ static ɵprov: i0.ɵɵInjectableDeclaration<ManageProfileStateService>;
29
+ }
@@ -1,3 +1,3 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { AccountConfigOptions } from '../models/config-options';
3
- export declare const ACCOUNT_CONFIG_OPTIONS: InjectionToken<AccountConfigOptions>;
1
+ import { InjectionToken } from '@angular/core';
2
+ import { AccountConfigOptions } from '../models/config-options';
3
+ export declare const ACCOUNT_CONFIG_OPTIONS: InjectionToken<AccountConfigOptions>;
@@ -1,9 +1,9 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions';
3
- import { UpdateProfileDto } from '@abp/ng.account.core/proxy';
4
- export declare const DEFAULT_ACCOUNT_FORM_PROPS: {
5
- "Account.PersonalSettingsComponent": import("@abp/ng.theme.shared/extensions").FormProp<UpdateProfileDto>[];
6
- };
7
- export declare const ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS: InjectionToken<Partial<{
8
- "Account.PersonalSettingsComponent": EditFormPropContributorCallback<UpdateProfileDto>[];
9
- }>>;
1
+ import { InjectionToken } from '@angular/core';
2
+ import { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions';
3
+ import { UpdateProfileDto } from '@abp/ng.account.core/proxy';
4
+ export declare const DEFAULT_ACCOUNT_FORM_PROPS: {
5
+ "Account.PersonalSettingsComponent": import("@abp/ng.theme.shared/extensions").FormProp<UpdateProfileDto>[];
6
+ };
7
+ export declare const ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS: InjectionToken<Partial<{
8
+ "Account.PersonalSettingsComponent": EditFormPropContributorCallback<UpdateProfileDto>[];
9
+ }>>;
@@ -1,3 +1,3 @@
1
- export * from './config-options.token';
2
- export * from './re-login-confirmation.token';
3
- export * from './extensions.token';
1
+ export * from './config-options.token';
2
+ export * from './re-login-confirmation.token';
3
+ export * from './extensions.token';
@@ -1,2 +1,2 @@
1
- import { InjectionToken } from '@angular/core';
2
- export declare const RE_LOGIN_CONFIRMATION_TOKEN: InjectionToken<boolean>;
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const RE_LOGIN_CONFIRMATION_TOKEN: InjectionToken<boolean>;
@@ -1,2 +1,2 @@
1
- import { Injector } from '@angular/core';
2
- export declare function getRedirectUrl(injector: Injector): any;
1
+ import { Injector } from '@angular/core';
2
+ export declare function getRedirectUrl(injector: Injector): any;
@@ -1,8 +1,8 @@
1
- import { AccountConfigOptions } from '../models/config-options';
2
- export declare function accountConfigOptionsFactory(options: AccountConfigOptions): {
3
- redirectUrl: string;
4
- isPersonalSettingsChangedConfirmationActive?: boolean;
5
- editFormPropContributors?: Partial<{
6
- "Account.PersonalSettingsComponent": import("@abp/ng.theme.shared/extensions").EditFormPropContributorCallback<import("@abp/ng.account.core/proxy").UpdateProfileDto>[];
7
- }>;
8
- };
1
+ import { AccountConfigOptions } from '../models/config-options';
2
+ export declare function accountConfigOptionsFactory(options: AccountConfigOptions): {
3
+ redirectUrl: string;
4
+ isPersonalSettingsChangedConfirmationActive?: boolean;
5
+ editFormPropContributors?: Partial<{
6
+ "Account.PersonalSettingsComponent": import("@abp/ng.theme.shared/extensions").EditFormPropContributorCallback<import("@abp/ng.account.core/proxy").UpdateProfileDto>[];
7
+ }>;
8
+ };
package/package.json CHANGED
@@ -1,24 +1,34 @@
1
1
  {
2
2
  "name": "@abp/ng.account",
3
- "version": "7.2.2",
3
+ "version": "7.3.0-rc.2",
4
4
  "homepage": "https://abp.io",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/abpframework/abp.git"
8
8
  },
9
9
  "dependencies": {
10
- "@abp/ng.account.core": "~7.2.2",
11
- "@abp/ng.theme.shared": "~7.2.2",
10
+ "@abp/ng.account.core": "~7.3.0-rc.2",
11
+ "@abp/ng.theme.shared": "~7.3.0-rc.2",
12
12
  "tslib": "^2.0.0"
13
13
  },
14
14
  "publishConfig": {
15
15
  "access": "public"
16
16
  },
17
- "module": "fesm2015/abp-ng.account.mjs",
18
- "es2020": "fesm2020/abp-ng.account.mjs",
19
- "esm2020": "esm2020/abp-ng.account.mjs",
20
- "fesm2020": "fesm2020/abp-ng.account.mjs",
21
- "fesm2015": "fesm2015/abp-ng.account.mjs",
17
+ "license": "LGPL-3.0",
18
+ "keywords": [
19
+ "aspnetcore",
20
+ "boilerplate",
21
+ "framework",
22
+ "web",
23
+ "best-practices",
24
+ "angular",
25
+ "maui",
26
+ "blazor",
27
+ "mvc",
28
+ "csharp",
29
+ "webapp"
30
+ ],
31
+ "module": "fesm2022/abp-ng.account.mjs",
22
32
  "typings": "index.d.ts",
23
33
  "exports": {
24
34
  "./package.json": {
@@ -26,23 +36,19 @@
26
36
  },
27
37
  ".": {
28
38
  "types": "./index.d.ts",
29
- "esm2020": "./esm2020/abp-ng.account.mjs",
30
- "es2020": "./fesm2020/abp-ng.account.mjs",
31
- "es2015": "./fesm2015/abp-ng.account.mjs",
32
- "node": "./fesm2015/abp-ng.account.mjs",
33
- "default": "./fesm2020/abp-ng.account.mjs"
39
+ "esm2022": "./esm2022/abp-ng.account.mjs",
40
+ "esm": "./esm2022/abp-ng.account.mjs",
41
+ "default": "./fesm2022/abp-ng.account.mjs"
34
42
  },
35
43
  "./config": {
36
44
  "types": "./config/index.d.ts",
37
- "esm2020": "./esm2020/config/abp-ng.account-config.mjs",
38
- "es2020": "./fesm2020/abp-ng.account-config.mjs",
39
- "es2015": "./fesm2015/abp-ng.account-config.mjs",
40
- "node": "./fesm2015/abp-ng.account-config.mjs",
41
- "default": "./fesm2020/abp-ng.account-config.mjs"
45
+ "esm2022": "./esm2022/config/abp-ng.account-config.mjs",
46
+ "esm": "./esm2022/config/abp-ng.account-config.mjs",
47
+ "default": "./fesm2022/abp-ng.account-config.mjs"
42
48
  }
43
49
  },
44
50
  "sideEffects": false,
45
51
  "peerDependencies": {
46
- "@abp/ng.core": "7.2.2"
52
+ "@abp/ng.core": "7.3.0-rc.2"
47
53
  }
48
54
  }
package/public-api.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * from './lib/account.module';
2
- export * from './lib/components';
3
- export * from './lib/enums';
4
- export * from './lib/guards';
5
- export * from './lib/models';
6
- export * from './lib/services';
7
- export * from './lib/tokens';
1
+ export * from './lib/account.module';
2
+ export * from './lib/components';
3
+ export * from './lib/enums';
4
+ export * from './lib/guards';
5
+ export * from './lib/models';
6
+ export * from './lib/services';
7
+ export * from './lib/tokens';
@@ -1,27 +0,0 @@
1
- import { Injector, NgModule } from '@angular/core';
2
- import { NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';
3
- import { ACCOUNT_ROUTE_PROVIDERS } from './providers/route.provider';
4
- import { navigateToManageProfileFactory } from './utils/factories';
5
- import * as i0 from "@angular/core";
6
- export class AccountConfigModule {
7
- static forRoot() {
8
- return {
9
- ngModule: AccountConfigModule,
10
- providers: [
11
- ACCOUNT_ROUTE_PROVIDERS,
12
- {
13
- provide: NAVIGATE_TO_MANAGE_PROFILE,
14
- useFactory: navigateToManageProfileFactory,
15
- deps: [Injector],
16
- },
17
- ],
18
- };
19
- }
20
- }
21
- AccountConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccountConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- AccountConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AccountConfigModule });
23
- AccountConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccountConfigModule });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccountConfigModule, decorators: [{
25
- type: NgModule
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1jb25maWcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9jb25maWcvc3JjL2FjY291bnQtY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUduRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsU0FBUyxFQUFFO2dCQUNULHVCQUF1QjtnQkFDdkI7b0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsVUFBVSxFQUFFLDhCQUE4QjtvQkFDMUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2dIQWJVLG1CQUFtQjtpSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOQVZJR0FURV9UT19NQU5BR0VfUFJPRklMRSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEFDQ09VTlRfUk9VVEVfUFJPVklERVJTIH0gZnJvbSAnLi9wcm92aWRlcnMvcm91dGUucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBuYXZpZ2F0ZVRvTWFuYWdlUHJvZmlsZUZhY3RvcnkgfSBmcm9tICcuL3V0aWxzL2ZhY3Rvcmllcyc7XHJcblxyXG5ATmdNb2R1bGUoKVxyXG5leHBvcnQgY2xhc3MgQWNjb3VudENvbmZpZ01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBY2NvdW50Q29uZmlnTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQWNjb3VudENvbmZpZ01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgQUNDT1VOVF9ST1VURV9QUk9WSURFUlMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTkFWSUdBVEVfVE9fTUFOQUdFX1BST0ZJTEUsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBuYXZpZ2F0ZVRvTWFuYWdlUHJvZmlsZUZhY3RvcnksXHJcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,90 +0,0 @@
1
- import { AuthGuard, ReplaceableRouteContainerComponent, RouterOutletComponent, } from '@abp/ng.core';
2
- import { NgModule } from '@angular/core';
3
- import { RouterModule } from '@angular/router';
4
- import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';
5
- import { LoginComponent } from './components/login/login.component';
6
- import { ManageProfileComponent } from './components/manage-profile/manage-profile.component';
7
- import { RegisterComponent } from './components/register/register.component';
8
- import { ResetPasswordComponent } from './components/reset-password/reset-password.component';
9
- import { AuthenticationFlowGuard } from './guards/authentication-flow.guard';
10
- import { AccountExtensionsGuard } from './guards';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/router";
13
- const routes = [
14
- { path: '', pathMatch: 'full', redirectTo: 'login' },
15
- {
16
- path: '',
17
- component: RouterOutletComponent,
18
- children: [
19
- {
20
- path: 'login',
21
- component: ReplaceableRouteContainerComponent,
22
- canActivate: [AuthenticationFlowGuard],
23
- data: {
24
- replaceableComponent: {
25
- key: "Account.LoginComponent" /* eAccountComponents.Login */,
26
- defaultComponent: LoginComponent,
27
- },
28
- },
29
- },
30
- {
31
- path: 'register',
32
- component: ReplaceableRouteContainerComponent,
33
- canActivate: [AuthenticationFlowGuard],
34
- data: {
35
- replaceableComponent: {
36
- key: "Account.RegisterComponent" /* eAccountComponents.Register */,
37
- defaultComponent: RegisterComponent,
38
- },
39
- },
40
- },
41
- {
42
- path: 'forgot-password',
43
- component: ReplaceableRouteContainerComponent,
44
- canActivate: [AuthenticationFlowGuard],
45
- data: {
46
- replaceableComponent: {
47
- key: "Account.ForgotPasswordComponent" /* eAccountComponents.ForgotPassword */,
48
- defaultComponent: ForgotPasswordComponent,
49
- },
50
- },
51
- },
52
- {
53
- path: 'reset-password',
54
- component: ReplaceableRouteContainerComponent,
55
- canActivate: [],
56
- data: {
57
- tenantBoxVisible: false,
58
- replaceableComponent: {
59
- key: "Account.ResetPasswordComponent" /* eAccountComponents.ResetPassword */,
60
- defaultComponent: ResetPasswordComponent,
61
- },
62
- },
63
- },
64
- {
65
- path: 'manage',
66
- component: ReplaceableRouteContainerComponent,
67
- canActivate: [AuthGuard, AccountExtensionsGuard],
68
- data: {
69
- replaceableComponent: {
70
- key: "Account.ManageProfileComponent" /* eAccountComponents.ManageProfile */,
71
- defaultComponent: ManageProfileComponent,
72
- },
73
- },
74
- },
75
- ],
76
- },
77
- ];
78
- export class AccountRoutingModule {
79
- }
80
- AccountRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccountRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
81
- AccountRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AccountRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
82
- AccountRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccountRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccountRoutingModule, decorators: [{
84
- type: NgModule,
85
- args: [{
86
- imports: [RouterModule.forChild(routes)],
87
- exports: [RouterModule],
88
- }]
89
- }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9hY2NvdW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsa0NBQWtDLEVBQ2xDLHFCQUFxQixHQUN0QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHbEQsTUFBTSxNQUFNLEdBQVc7SUFDckIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRTtJQUNwRDtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHFCQUFxQjtRQUNoQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixTQUFTLEVBQUUsa0NBQWtDO2dCQUM3QyxXQUFXLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEMsSUFBSSxFQUFFO29CQUNKLG9CQUFvQixFQUFFO3dCQUNwQixHQUFHLHlEQUEwQjt3QkFDN0IsZ0JBQWdCLEVBQUUsY0FBYztxQkFDa0I7aUJBQ3JEO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsU0FBUyxFQUFFLGtDQUFrQztnQkFDN0MsV0FBVyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ3RDLElBQUksRUFBRTtvQkFDSixvQkFBb0IsRUFBRTt3QkFDcEIsR0FBRywrREFBNkI7d0JBQ2hDLGdCQUFnQixFQUFFLGlCQUFpQjtxQkFDa0I7aUJBQ3hEO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixTQUFTLEVBQUUsa0NBQWtDO2dCQUM3QyxXQUFXLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEMsSUFBSSxFQUFFO29CQUNKLG9CQUFvQixFQUFFO3dCQUNwQixHQUFHLDJFQUFtQzt3QkFDdEMsZ0JBQWdCLEVBQUUsdUJBQXVCO3FCQUNrQjtpQkFDOUQ7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLFNBQVMsRUFBRSxrQ0FBa0M7Z0JBQzdDLFdBQVcsRUFBRSxFQUFFO2dCQUNmLElBQUksRUFBRTtvQkFDSixnQkFBZ0IsRUFBRSxLQUFLO29CQUN2QixvQkFBb0IsRUFBRTt3QkFDcEIsR0FBRyx5RUFBa0M7d0JBQ3JDLGdCQUFnQixFQUFFLHNCQUFzQjtxQkFDa0I7aUJBQzdEO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxTQUFTLEVBQUUsa0NBQWtDO2dCQUM3QyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsc0JBQXNCLENBQUM7Z0JBQ2hELElBQUksRUFBRTtvQkFDSixvQkFBb0IsRUFBRTt3QkFDcEIsR0FBRyx5RUFBa0M7d0JBQ3JDLGdCQUFnQixFQUFFLHNCQUFzQjtxQkFDa0I7aUJBQzdEO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQU1GLE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQix3Q0FGckIsWUFBWTtrSEFFWCxvQkFBb0IsWUFIckIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDN0IsWUFBWTsyRkFFWCxvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXV0aEd1YXJkLFxyXG4gIFJlcGxhY2VhYmxlQ29tcG9uZW50cyxcclxuICBSZXBsYWNlYWJsZVJvdXRlQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gIFJvdXRlck91dGxldENvbXBvbmVudCxcclxufSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFuYWdlUHJvZmlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tYW5hZ2UtcHJvZmlsZS9tYW5hZ2UtcHJvZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWdpc3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXNldFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGVBY2NvdW50Q29tcG9uZW50cyB9IGZyb20gJy4vZW51bXMvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uRmxvd0d1YXJkIH0gZnJvbSAnLi9ndWFyZHMvYXV0aGVudGljYXRpb24tZmxvdy5ndWFyZCc7XHJcbmltcG9ydCB7IEFjY291bnRFeHRlbnNpb25zR3VhcmQgfSBmcm9tICcuL2d1YXJkcyc7XHJcblxyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAgeyBwYXRoOiAnJywgcGF0aE1hdGNoOiAnZnVsbCcsIHJlZGlyZWN0VG86ICdsb2dpbicgfSxcclxuICB7XHJcbiAgICBwYXRoOiAnJyxcclxuICAgIGNvbXBvbmVudDogUm91dGVyT3V0bGV0Q29tcG9uZW50LFxyXG4gICAgY2hpbGRyZW46IFtcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICdsb2dpbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBSZXBsYWNlYWJsZVJvdXRlQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbQXV0aGVudGljYXRpb25GbG93R3VhcmRdLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIHJlcGxhY2VhYmxlQ29tcG9uZW50OiB7XHJcbiAgICAgICAgICAgIGtleTogZUFjY291bnRDb21wb25lbnRzLkxvZ2luLFxyXG4gICAgICAgICAgICBkZWZhdWx0Q29tcG9uZW50OiBMb2dpbkNvbXBvbmVudCxcclxuICAgICAgICAgIH0gYXMgUmVwbGFjZWFibGVDb21wb25lbnRzLlJvdXRlRGF0YTxMb2dpbkNvbXBvbmVudD4sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICdyZWdpc3RlcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBSZXBsYWNlYWJsZVJvdXRlQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbQXV0aGVudGljYXRpb25GbG93R3VhcmRdLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIHJlcGxhY2VhYmxlQ29tcG9uZW50OiB7XHJcbiAgICAgICAgICAgIGtleTogZUFjY291bnRDb21wb25lbnRzLlJlZ2lzdGVyLFxyXG4gICAgICAgICAgICBkZWZhdWx0Q29tcG9uZW50OiBSZWdpc3RlckNvbXBvbmVudCxcclxuICAgICAgICAgIH0gYXMgUmVwbGFjZWFibGVDb21wb25lbnRzLlJvdXRlRGF0YTxSZWdpc3RlckNvbXBvbmVudD4sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICdmb3Jnb3QtcGFzc3dvcmQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgICAgICBjYW5BY3RpdmF0ZTogW0F1dGhlbnRpY2F0aW9uRmxvd0d1YXJkXSxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICByZXBsYWNlYWJsZUNvbXBvbmVudDoge1xyXG4gICAgICAgICAgICBrZXk6IGVBY2NvdW50Q29tcG9uZW50cy5Gb3Jnb3RQYXNzd29yZCxcclxuICAgICAgICAgICAgZGVmYXVsdENvbXBvbmVudDogRm9yZ290UGFzc3dvcmRDb21wb25lbnQsXHJcbiAgICAgICAgICB9IGFzIFJlcGxhY2VhYmxlQ29tcG9uZW50cy5Sb3V0ZURhdGE8Rm9yZ290UGFzc3dvcmRDb21wb25lbnQ+LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwYXRoOiAncmVzZXQtcGFzc3dvcmQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgICAgICBjYW5BY3RpdmF0ZTogW10sXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgdGVuYW50Qm94VmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICByZXBsYWNlYWJsZUNvbXBvbmVudDoge1xyXG4gICAgICAgICAgICBrZXk6IGVBY2NvdW50Q29tcG9uZW50cy5SZXNldFBhc3N3b3JkLFxyXG4gICAgICAgICAgICBkZWZhdWx0Q29tcG9uZW50OiBSZXNldFBhc3N3b3JkQ29tcG9uZW50LFxyXG4gICAgICAgICAgfSBhcyBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUm91dGVEYXRhPFJlc2V0UGFzc3dvcmRDb21wb25lbnQ+LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwYXRoOiAnbWFuYWdlJyxcclxuICAgICAgICBjb21wb25lbnQ6IFJlcGxhY2VhYmxlUm91dGVDb250YWluZXJDb21wb25lbnQsXHJcbiAgICAgICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmQsIEFjY291bnRFeHRlbnNpb25zR3VhcmRdLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIHJlcGxhY2VhYmxlQ29tcG9uZW50OiB7XHJcbiAgICAgICAgICAgIGtleTogZUFjY291bnRDb21wb25lbnRzLk1hbmFnZVByb2ZpbGUsXHJcbiAgICAgICAgICAgIGRlZmF1bHRDb21wb25lbnQ6IE1hbmFnZVByb2ZpbGVDb21wb25lbnQsXHJcbiAgICAgICAgICB9IGFzIFJlcGxhY2VhYmxlQ29tcG9uZW50cy5Sb3V0ZURhdGE8TWFuYWdlUHJvZmlsZUNvbXBvbmVudD4sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY291bnRSb3V0aW5nTW9kdWxlIHt9XHJcbiJdfQ==