@acorex/modules 18.0.9 → 18.0.11
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.
- package/application-management/README.md +4 -0
- package/application-management/index.d.ts +1 -0
- package/application-management/lib/application-management.module.d.ts +6 -0
- package/auth/lib/account/profile/profile-slot.component.d.ts +5 -0
- package/auth/lib/auth.config.d.ts +2 -2
- package/backend/lib/auth/oidc/index.d.ts +0 -2
- package/backend/lib/auth/oidc/oidc.strategy.d.ts +41 -9
- package/backend/lib/auth/oidc/signincallback.component.d.ts +1 -3
- package/backend/lib/backend.module.d.ts +4 -3
- package/backend/lib/data/api/file.service.d.ts +16 -0
- package/backend/lib/data/index.d.ts +1 -0
- package/esm2022/application-management/acorex-modules-application-management.mjs +5 -0
- package/esm2022/application-management/index.mjs +2 -0
- package/esm2022/application-management/lib/application-management.module.mjs +16 -0
- package/esm2022/auth/lib/account/account.module.mjs +24 -19
- package/esm2022/auth/lib/account/app-chooser/app-chooser-list.component.mjs +3 -3
- package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +4 -4
- package/esm2022/auth/lib/account/app-chooser/app-chooser.component.mjs +3 -3
- package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +26 -8
- package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser-dropdown.component.mjs +3 -3
- package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser.component.mjs +5 -5
- package/esm2022/auth/lib/auth.config.mjs +1 -1
- package/esm2022/auth/lib/auth.module.mjs +4 -4
- package/esm2022/auth/lib/error-handler.mjs +3 -3
- package/esm2022/auth/lib/forgot/password/password.component.mjs +4 -4
- package/esm2022/auth/lib/login/login.module.mjs +4 -4
- package/esm2022/auth/lib/login/password/password.component.mjs +8 -7
- package/esm2022/auth/lib/shared/layouts/blank/blank.layout.mjs +3 -3
- package/esm2022/auth/lib/shared/layouts/master/master.layout.mjs +3 -3
- package/esm2022/auth/lib/shared/services/idle.service.mjs +3 -3
- package/esm2022/auth/lib/store/auth.effects.mjs +3 -3
- package/esm2022/auth/lib/two-factor/two-factor-code/two-factor-code.component.mjs +4 -4
- package/esm2022/auth/lib/two-factor/two-factor.module.mjs +4 -4
- package/esm2022/backend/lib/auth/oidc/application.loader.mjs +3 -3
- package/esm2022/backend/lib/auth/oidc/configuration.service.mjs +3 -3
- package/esm2022/backend/lib/auth/oidc/index.mjs +1 -3
- package/esm2022/backend/lib/auth/oidc/oidc.strategy.mjs +195 -56
- package/esm2022/backend/lib/auth/oidc/permission.loader.mjs +3 -3
- package/esm2022/backend/lib/auth/oidc/signincallback.component.mjs +8 -11
- package/esm2022/backend/lib/auth/oidc/tenant.loader.mjs +3 -3
- package/esm2022/backend/lib/backend.module.mjs +23 -9
- package/esm2022/backend/lib/data/api/data-provider.mjs +3 -3
- package/esm2022/backend/lib/data/api/file.service.mjs +101 -0
- package/esm2022/backend/lib/data/index.mjs +2 -1
- package/esm2022/backend/lib/data/local/local-data-provider.mjs +3 -3
- package/esm2022/log-management/lib/log-management.module.mjs +4 -4
- package/esm2022/notification/lib/notification.module.mjs +4 -4
- package/fesm2022/acorex-modules-application-management.mjs +23 -0
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs → acorex-modules-auth-acorex-modules-auth-B8LgaiHl.mjs} +78 -56
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-B8LgaiHl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-B-wfsJob.mjs → acorex-modules-auth-app-chooser.component-DYP5fP8W.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-app-chooser.component-B-wfsJob.mjs.map → acorex-modules-auth-app-chooser.component-DYP5fP8W.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-blank.layout-BOdRxDNv.mjs → acorex-modules-auth-blank.layout-Bq822Iz4.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-blank.layout-BOdRxDNv.mjs.map → acorex-modules-auth-blank.layout-Bq822Iz4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CcNDUqEl.mjs → acorex-modules-auth-login.module-B3xEQTTg.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-CcNDUqEl.mjs.map → acorex-modules-auth-login.module-B3xEQTTg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-BGy5Vo5H.mjs → acorex-modules-auth-master.layout-DczZtXmF.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-master.layout-BGy5Vo5H.mjs.map → acorex-modules-auth-master.layout-DczZtXmF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BZfvv8yV.mjs → acorex-modules-auth-password.component-BaeFOot_.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-password.component-BZfvv8yV.mjs.map → acorex-modules-auth-password.component-BaeFOot_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-IzjzV-ia.mjs → acorex-modules-auth-password.component-CJMstlMr.mjs} +10 -9
- package/fesm2022/acorex-modules-auth-password.component-CJMstlMr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-JW0JYsnX.mjs → acorex-modules-auth-routes-DScu3qYW.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-JW0JYsnX.mjs.map → acorex-modules-auth-routes-DScu3qYW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs → acorex-modules-auth-tenant-chooser.component-CHr5_kh7.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs.map → acorex-modules-auth-tenant-chooser.component-CHr5_kh7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs → acorex-modules-auth-two-factor-code.component-B_7l39pX.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs.map → acorex-modules-auth-two-factor-code.component-B_7l39pX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-Biz85Ffl.mjs → acorex-modules-auth-two-factor.module-BzdjoEGS.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-Biz85Ffl.mjs.map → acorex-modules-auth-two-factor.module-BzdjoEGS.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-backend.mjs +579 -370
- package/fesm2022/acorex-modules-backend.mjs.map +1 -1
- package/fesm2022/acorex-modules-log-management.mjs +4 -4
- package/fesm2022/acorex-modules-notification.mjs +4 -4
- package/package.json +13 -7
- package/backend/lib/auth/oidc/usermanager.service.d.ts +0 -15
- package/esm2022/backend/lib/auth/oidc/usermanager.service.mjs +0 -37
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-IzjzV-ia.mjs.map +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-auth-password.component-IzjzV-ia.mjs","sources":["../../../../libs/modules/auth/src/lib/login/password/password.component.ts","../../../../libs/modules/auth/src/lib/login/password/password.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, OnInit, ViewChild, inject } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\n\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { BehaviorSubject } from 'rxjs';\nimport { AXMAuthConfigs, AXMAuthenticationTypes, AXM_AUTH_CONFIG_TOKEN } from '../../auth.config';\n\nconst MODULES = [\n CommonModule,\n AXFormModule,\n AXTextBoxModule,\n AXPasswordBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXTranslationModule,\n AXTranslationModule,\n AXLoadingModule,\n RouterModule,\n AXValidationModule,\n];\n\n@Component({\n templateUrl: './password.component.html',\n imports: [...MODULES],\n standalone: true,\n})\nexport class AXPLoginPasswordComponent implements OnInit {\n protected configs: AXMAuthConfigs = inject<AXMAuthConfigs>(AXM_AUTH_CONFIG_TOKEN);\n protected l1!: string;\n protected l2!: string;\n\n protected v1 = '';\n protected v2: string | null = '';\n\n protected isLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n protected submitText = 'signin.submit';\n private dialogService = inject(AXDialogService);\n private sessionService = inject(AXPSessionService);\n\n @ViewChild(AXFormComponent)\n private form!: AXFormComponent;\n\n private router = inject(Router);\n\n ngOnInit(): void {\n this.l2 = 'password';\n switch (this.configs.type) {\n case AXMAuthenticationTypes.EmailPassword:\n this.l1 = 'email';\n break;\n case AXMAuthenticationTypes.MobilePassword:\n this.l1 = 'mobile';\n break;\n case AXMAuthenticationTypes.UsernameEmailPassword:\n this.l1 = 'username-email';\n break;\n case AXMAuthenticationTypes.UsernamePassword:\n default:\n this.l1 = 'username';\n }\n }\n\n protected handleForgotOnClick() {\n this.router.navigate(['/auth/forgot']);\n }\n\n protected handleLoginClick() {\n this.form.validate().then(async (form) => {\n if (form.result) {\n this.isLoading$.next(true);\n this.submitText = 'processing';\n this.submitText = 'redirecting';\n try {\n await this.sessionService.signin({ strategy: 'user-pass', username: this.v1, password: this.v2! });\n await this.sessionService.signInComplete();\n if (this.sessionService.tenant == null) {\n this.router.navigate(['/auth/account/tenant-chooser']);\n } else if (this.sessionService.application == null) {\n this.router.navigate(['/auth/account/app-chooser']);\n } else {\n this.router.navigate([`/${this.sessionService.application.name}/home`]);\n }\n //\n } catch (error: any) {\n this.dialogService.alert('Something went wrong!', `${error.message} `, 'warning');\n this.submitText = 'signin.submit';\n this.v2 = null;\n this.isLoading$.next(false);\n }\n }\n });\n }\n}\n","<ng-container *translate=\"let t\">\n <div class=\"ax-text-center ax-mb-4\">\n <h1 class=\"ax-font-bold ax-text-xl ax-mb-2\">\n {{ t('signin.title', { scope: 'auth' }) | async }}\n </h1>\n <p class=\"ax-text-base ax-text-neutral-600\">\n {{ t('signin.hint', { scope: 'auth' }) | async }}\n </p>\n </div>\n <div class=\"ax-w-80 lg:ax-w-96\">\n <ax-form>\n <div class=\"ax-flex ax-flex-col ax-gap-6\">\n <ax-form-field>\n <ax-label>{{ t(l1, { scope: 'auth' }) | async }}</ax-label>\n <ax-text-box [(value)]=\"v1\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>{{ t(l2, { scope: 'auth' }) | async }}</ax-label>\n <ax-password-box [(value)]=\"v2\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-password-box>\n </ax-form-field>\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <ax-check-box>\n <ax-label class=\"ax-mb-0\">{{ t('signin.remember', { scope: 'auth' }) | async }}</ax-label>\n </ax-check-box>\n <ax-button\n color=\"primary\"\n class=\"ax-sm\"\n [text]=\"t('forgot.password', { scope: 'auth' }) | async\"\n look=\"blank\"\n (onClick)=\"handleForgotOnClick()\"\n >\n </ax-button>\n </div>\n </div>\n <ax-button\n color=\"primary\"\n class=\"ax-mt-6 ax-w-full\"\n [text]=\"t(submitText, { scope: 'auth' }) | async\"\n (onClick)=\"handleLoginClick()\"\n [disabled]=\"isLoading$ | async\"\n [type]=\"'submit'\"\n >\n <ax-loading *ngIf=\"isLoading$ | async\"></ax-loading>\n </ax-button>\n <div class=\"ax-heading ax-heading-center !ax-my-8\">\n <span>{{ t('signin.or', { scope: 'auth' }) | async }}</span>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-2 lg:ax-flex-row ax-justify-between ax-mt-6\">\n <ax-button text=\"Sign in with Google\" color=\"ghost\">\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-brands fa-google fa-lg ax-text-danger-500\"></i>\n </ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button text=\"Sign in with Apple\" color=\"ghost\">\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-brands fa-apple fa-xl\"></i>\n </ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </ax-form>\n </div>\n</ng-container>\n"],"names":["i5","i7","i9","i10"],"mappings":"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"}
|