@anarchitects/auth-angular 1.0.1 → 2.1.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"anarchitects-auth-angular-feature.mjs","sources":["../../../../../libs/auth/angular/feature/src/components/register/register.ts","../../../../../libs/auth/angular/feature/src/components/register/register.html","../../../../../libs/auth/angular/feature/src/components/activate-user/activate-user.ts","../../../../../libs/auth/angular/feature/src/components/activate-user/activate-user.html","../../../../../libs/auth/angular/feature/src/components/forgot-password/forgot-password.ts","../../../../../libs/auth/angular/feature/src/components/forgot-password/forgot-password.html","../../../../../libs/auth/angular/feature/src/components/reset-password/reset-password.ts","../../../../../libs/auth/angular/feature/src/components/reset-password/reset-password.html","../../../../../libs/auth/angular/feature/src/components/verify-email/verify-email.ts","../../../../../libs/auth/angular/feature/src/components/verify-email/verify-email.html","../../../../../libs/auth/angular/feature/src/components/change-password/change-password.ts","../../../../../libs/auth/angular/feature/src/components/change-password/change-password.html","../../../../../libs/auth/angular/feature/src/components/update-email/update-email.ts","../../../../../libs/auth/angular/feature/src/components/update-email/update-email.html","../../../../../libs/auth/angular/feature/src/components/logout/logout.ts","../../../../../libs/auth/angular/feature/src/components/logout/logout.html","../../../../../libs/auth/angular/feature/src/components/refresh-tokens/refresh-tokens.ts","../../../../../libs/auth/angular/feature/src/components/refresh-tokens/refresh-tokens.html","../../../../../libs/auth/angular/feature/src/guards/policy.guard.ts","../../../../../libs/auth/angular/feature/src/components/login/login.ts","../../../../../libs/auth/angular/feature/src/components/login/login.html","../../../../../libs/auth/angular/feature/src/anarchitects-auth-angular-feature.ts"],"sourcesContent":["import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { RegisterRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'anarchitects-auth-feature-register',\n imports: [AnarchitectsUiForm],\n templateUrl: './register.html',\n styleUrl: './register.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureRegister {\n private readonly authStore = inject(AuthStore);\n formConfig = signal<FormConfig>({\n id: 'register',\n version: 1,\n fields: [\n {\n name: 'userName',\n kind: 'string',\n ui: { label: 'Username' },\n required: false,\n },\n { name: 'email', kind: 'email', ui: { label: 'Email' }, required: true },\n {\n name: 'password',\n kind: 'password',\n ui: { label: 'Password' },\n required: true,\n },\n {\n name: 'confirmPassword',\n kind: 'password',\n ui: { label: 'Confirm Password' },\n required: true,\n },\n ],\n });\n\n async submitForm(input: SubmissionRequestDTO) {\n const registerInput: RegisterRequestDTO = {\n userName: input.payload['userName'] as string,\n email: input.payload['email'] as string,\n password: input.payload['password'] as string,\n confirmPassword: input.payload['confirmPassword'] as string,\n };\n await this.authStore.registerUser(registerInput);\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { ActivateUserRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'anarchitects-auth-feature-activate-user',\n imports: [AnarchitectsUiForm],\n templateUrl: './activate-user.html',\n styleUrl: './activate-user.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureActivateUser {\n private readonly authStore = inject(AuthStore);\n readonly token = input<string>();\n readonly formConfig = computed<FormConfig>(() => ({\n id: 'activate-user',\n version: 1,\n fields: [\n {\n name: 'token',\n kind: 'string',\n required: !this.token(),\n minLength: 1,\n ui: { label: 'Activation Token' },\n },\n ],\n }));\n\n async submitForm(input: SubmissionRequestDTO) {\n const resolvedToken =\n (input.payload['token'] as string | undefined) || this.token();\n\n if (!resolvedToken) {\n return;\n }\n\n const dto: ActivateUserRequestDTO = { token: resolvedToken };\n await this.authStore.activateUser(dto);\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { ForgotPasswordRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'anarchitects-auth-feature-forgot-password',\n imports: [AnarchitectsUiForm],\n templateUrl: './forgot-password.html',\n styleUrl: './forgot-password.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureForgotPassword {\n private readonly authStore = inject(AuthStore);\n readonly formConfig = signal<FormConfig>({\n id: 'forgot-password',\n version: 1,\n fields: [\n {\n name: 'email',\n kind: 'email',\n required: true,\n ui: { label: 'Email' },\n },\n ],\n });\n\n async submitForm(input: SubmissionRequestDTO) {\n const dto: ForgotPasswordRequestDTO = {\n email: input.payload['email'] as string,\n };\n\n await this.authStore.forgotPassword(dto);\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { ResetPasswordRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'anarchitects-auth-feature-reset-password',\n imports: [AnarchitectsUiForm],\n templateUrl: './reset-password.html',\n styleUrl: './reset-password.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureResetPassword {\n private readonly authStore = inject(AuthStore);\n readonly token = input<string>();\n readonly formConfig = computed<FormConfig>(() => ({\n id: 'reset-password',\n version: 1,\n fields: [\n {\n name: 'token',\n kind: 'string',\n required: !this.token(),\n minLength: 1,\n ui: { label: 'Reset Token' },\n },\n {\n name: 'password',\n kind: 'password',\n required: true,\n minLength: 6,\n ui: { label: 'Password' },\n },\n {\n name: 'confirmPassword',\n kind: 'password',\n required: true,\n minLength: 6,\n ui: { label: 'Confirm Password' },\n },\n ],\n }));\n\n async submitForm(input: SubmissionRequestDTO) {\n const token =\n (input.payload['token'] as string | undefined) || this.token();\n\n if (!token) {\n return;\n }\n\n const dto: ResetPasswordRequestDTO = {\n token,\n password: input.payload['password'] as string,\n confirmPassword: input.payload['confirmPassword'] as string,\n };\n\n await this.authStore.resetPassword({ dto });\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { VerifyEmailRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n} from '@angular/core';\n\n@Component({\n selector: 'anarchitects-auth-feature-verify-email',\n imports: [AnarchitectsUiForm],\n templateUrl: './verify-email.html',\n styleUrl: './verify-email.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureVerifyEmail {\n private readonly authStore = inject(AuthStore);\n readonly token = input<string>();\n readonly formConfig = computed<FormConfig>(() => ({\n id: 'verify-email',\n version: 1,\n fields: [\n {\n name: 'token',\n kind: 'string',\n required: !this.token(),\n minLength: 1,\n ui: { label: 'Verification Token' },\n },\n ],\n }));\n\n async submitForm(input: SubmissionRequestDTO) {\n const token =\n (input.payload['token'] as string | undefined) || this.token();\n\n if (!token) {\n return;\n }\n\n const dto: VerifyEmailRequestDTO = { token };\n await this.authStore.verifyEmail(dto);\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { ChangePasswordRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { jwtDecode } from 'jwt-decode';\n\n@Component({\n selector: 'anarchitects-auth-feature-change-password',\n imports: [AnarchitectsUiForm],\n templateUrl: './change-password.html',\n styleUrl: './change-password.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureChangePassword {\n private readonly authStore = inject(AuthStore);\n readonly userId = input<string>();\n readonly formConfig = signal<FormConfig>({\n id: 'change-password',\n version: 1,\n fields: [\n {\n name: 'currentPassword',\n kind: 'password',\n required: true,\n minLength: 6,\n ui: { label: 'Current Password' },\n },\n {\n name: 'newPassword',\n kind: 'password',\n required: true,\n minLength: 6,\n ui: { label: 'New Password' },\n },\n {\n name: 'confirmPassword',\n kind: 'password',\n required: true,\n minLength: 6,\n ui: { label: 'Confirm Password' },\n },\n ],\n });\n\n private resolveUserId(): string | undefined {\n const fromInput = this.userId();\n if (fromInput) {\n return fromInput;\n }\n\n const fromStore = this.authStore.loggedInUser()?.id;\n if (fromStore) {\n return fromStore;\n }\n\n const accessToken = localStorage.getItem('accessToken');\n if (!accessToken) {\n return undefined;\n }\n\n try {\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n return decoded.sub;\n } catch {\n return undefined;\n }\n }\n\n async submitForm(input: SubmissionRequestDTO) {\n const userId = this.resolveUserId();\n\n if (!userId) {\n return;\n }\n\n const dto: ChangePasswordRequestDTO = {\n currentPassword: input.payload['currentPassword'] as string,\n newPassword: input.payload['newPassword'] as string,\n confirmPassword: input.payload['confirmPassword'] as string,\n };\n\n await this.authStore.changePassword({ userId, dto });\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { UpdateEmailRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { jwtDecode } from 'jwt-decode';\n\n@Component({\n selector: 'anarchitects-auth-feature-update-email',\n imports: [AnarchitectsUiForm],\n templateUrl: './update-email.html',\n styleUrl: './update-email.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureUpdateEmail {\n private readonly authStore = inject(AuthStore);\n readonly userId = input<string>();\n readonly formConfig = signal<FormConfig>({\n id: 'update-email',\n version: 1,\n fields: [\n {\n name: 'newEmail',\n kind: 'email',\n required: true,\n ui: { label: 'New Email' },\n },\n {\n name: 'password',\n kind: 'password',\n required: true,\n minLength: 6,\n ui: { label: 'Password' },\n },\n ],\n });\n\n private resolveUserId(): string | undefined {\n const fromInput = this.userId();\n if (fromInput) {\n return fromInput;\n }\n\n const fromStore = this.authStore.loggedInUser()?.id;\n if (fromStore) {\n return fromStore;\n }\n\n const accessToken = localStorage.getItem('accessToken');\n if (!accessToken) {\n return undefined;\n }\n\n try {\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n return decoded.sub;\n } catch {\n return undefined;\n }\n }\n\n async submitForm(input: SubmissionRequestDTO) {\n const userId = this.resolveUserId();\n\n if (!userId) {\n return;\n }\n\n const dto: UpdateEmailRequestDTO = {\n newEmail: input.payload['newEmail'] as string,\n password: input.payload['password'] as string,\n };\n\n await this.authStore.updateEmail({ userId, dto });\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { LogoutRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'anarchitects-auth-feature-logout',\n imports: [AnarchitectsUiForm],\n templateUrl: './logout.html',\n styleUrl: './logout.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureLogout {\n private readonly authStore = inject(AuthStore);\n readonly formConfig = signal<FormConfig>({\n id: 'logout',\n version: 1,\n fields: [\n {\n name: 'refreshToken',\n kind: 'string',\n required: false,\n minLength: 1,\n ui: { label: 'Refresh Token' },\n },\n {\n name: 'accessToken',\n kind: 'string',\n required: false,\n minLength: 1,\n ui: { label: 'Access Token (optional)' },\n },\n ],\n });\n\n async submitForm(input: SubmissionRequestDTO) {\n const refreshToken =\n (input.payload['refreshToken'] as string | undefined) ||\n localStorage.getItem('refreshToken') ||\n undefined;\n const accessToken =\n (input.payload['accessToken'] as string | undefined) ||\n localStorage.getItem('accessToken') ||\n undefined;\n\n if (!refreshToken) {\n return;\n }\n\n const dto: LogoutRequestDTO = {\n refreshToken,\n ...(accessToken ? { accessToken } : {}),\n };\n\n await this.authStore.logout(dto);\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { RefreshTokenRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { jwtDecode } from 'jwt-decode';\n\n@Component({\n selector: 'anarchitects-auth-feature-refresh-tokens',\n imports: [AnarchitectsUiForm],\n templateUrl: './refresh-tokens.html',\n styleUrl: './refresh-tokens.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureRefreshTokens {\n private readonly authStore = inject(AuthStore);\n readonly userId = input<string>();\n readonly formConfig = signal<FormConfig>({\n id: 'refresh-tokens',\n version: 1,\n fields: [\n {\n name: 'refreshToken',\n kind: 'string',\n required: false,\n minLength: 1,\n ui: { label: 'Refresh Token' },\n },\n ],\n });\n\n private resolveUserId(): string | undefined {\n const fromInput = this.userId();\n if (fromInput) {\n return fromInput;\n }\n\n const fromStore = this.authStore.loggedInUser()?.id;\n if (fromStore) {\n return fromStore;\n }\n\n const accessToken = localStorage.getItem('accessToken');\n if (!accessToken) {\n return undefined;\n }\n\n try {\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n return decoded.sub;\n } catch {\n return undefined;\n }\n }\n\n async submitForm(input: SubmissionRequestDTO) {\n const userId = this.resolveUserId();\n\n if (!userId) {\n return;\n }\n\n const refreshToken =\n (input.payload['refreshToken'] as string | undefined) ||\n localStorage.getItem('refreshToken') ||\n undefined;\n\n if (!refreshToken) {\n return;\n }\n\n const dto: RefreshTokenRequestDTO = { refreshToken };\n await this.authStore.refreshTokens({ userId, dto });\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { inject } from '@angular/core';\nimport { CanMatchFn } from '@angular/router';\n\nexport const policyGuard: CanMatchFn = (route) => {\n const { action, subject } = route.data as {\n action: string;\n subject: string;\n };\n const authStore = inject(AuthStore);\n const ability = authStore.ability?.();\n\n if (!ability) {\n return false;\n }\n\n return ability.can(action, subject);\n};\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { LoginRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport { AnarchitectsUiForm } from '@anarchitects/forms-angular/ui';\nimport { SubmissionRequestDTO } from '@anarchitects/forms-ts/dtos';\nimport { FormConfig } from '@anarchitects/forms-ts/models';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'anarchitects-auth-feature-login',\n imports: [AnarchitectsUiForm],\n templateUrl: './login.html',\n styleUrl: './login.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureLogin {\n private readonly authStore = inject(AuthStore);\n formConfig = signal<FormConfig>({\n id: 'login',\n version: 1,\n fields: [\n {\n name: 'credential',\n kind: 'string',\n required: true,\n minLength: 2,\n maxLength: 100,\n ui: { label: 'Email or Username' },\n },\n {\n name: 'password',\n kind: 'password',\n required: true,\n minLength: 6,\n ui: { label: 'Password' },\n },\n ],\n });\n\n async submitForm(input: SubmissionRequestDTO) {\n const loginInput: LoginRequestDTO = {\n credential: input.payload['credential'] as string,\n password: input.payload['password'] as string,\n };\n await this.authStore.login(loginInput);\n }\n}\n","<anarchitects-forms-ui-form\n [config]=\"formConfig()\"\n (submitted)=\"submitForm($event)\"\n/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anarchitects-auth-angular-feature.mjs","sources":["../../../../../libs/auth/angular/feature/src/components/register/register.ts","../../../../../libs/auth/angular/feature/src/components/register/register.html","../../../../../libs/auth/angular/feature/src/components/activate-user/activate-user.ts","../../../../../libs/auth/angular/feature/src/components/activate-user/activate-user.html","../../../../../libs/auth/angular/feature/src/components/forgot-password/forgot-password.ts","../../../../../libs/auth/angular/feature/src/components/forgot-password/forgot-password.html","../../../../../libs/auth/angular/feature/src/components/reset-password/reset-password.ts","../../../../../libs/auth/angular/feature/src/components/reset-password/reset-password.html","../../../../../libs/auth/angular/feature/src/components/verify-email/verify-email.ts","../../../../../libs/auth/angular/feature/src/components/verify-email/verify-email.html","../../../../../libs/auth/angular/feature/src/components/change-password/change-password.ts","../../../../../libs/auth/angular/feature/src/components/change-password/change-password.html","../../../../../libs/auth/angular/feature/src/components/update-email/update-email.ts","../../../../../libs/auth/angular/feature/src/components/update-email/update-email.html","../../../../../libs/auth/angular/feature/src/components/logout/logout.ts","../../../../../libs/auth/angular/feature/src/components/logout/logout.html","../../../../../libs/auth/angular/feature/src/components/refresh-tokens/refresh-tokens.ts","../../../../../libs/auth/angular/feature/src/components/refresh-tokens/refresh-tokens.html","../../../../../libs/auth/angular/feature/src/guards/policy.guard.ts","../../../../../libs/auth/angular/feature/src/components/login/login.ts","../../../../../libs/auth/angular/feature/src/components/login/login.html","../../../../../libs/auth/angular/feature/src/anarchitects-auth-angular-feature.ts"],"sourcesContent":["import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiRegisterForm } from '@anarchitects/auth-angular/ui';\nimport { RegisterRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-register',\n imports: [AnarchitectsAuthUiRegisterForm],\n templateUrl: './register.html',\n styleUrl: './register.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureRegister {\n private readonly authStore = inject(AuthStore);\n\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n async submitForm(input: RegisterRequestDTO): Promise<void> {\n await this.authStore.registerUser(input);\n }\n}\n","<anarchitects-auth-ui-register-form\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-register-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiActivateUserForm } from '@anarchitects/auth-angular/ui';\nimport { ActivateUserRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-activate-user',\n imports: [AnarchitectsAuthUiActivateUserForm],\n templateUrl: './activate-user.html',\n styleUrl: './activate-user.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureActivateUser {\n private readonly authStore = inject(AuthStore);\n\n readonly token = input<string>();\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n async submitForm(input: ActivateUserRequestDTO): Promise<void> {\n if (!input.token) {\n return;\n }\n\n await this.authStore.activateUser(input);\n }\n}\n","<anarchitects-auth-ui-activate-user-form\n [token]=\"token()\"\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-activate-user-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiForgotPasswordForm } from '@anarchitects/auth-angular/ui';\nimport { ForgotPasswordRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-forgot-password',\n imports: [AnarchitectsAuthUiForgotPasswordForm],\n templateUrl: './forgot-password.html',\n styleUrl: './forgot-password.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureForgotPassword {\n private readonly authStore = inject(AuthStore);\n\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n async submitForm(input: ForgotPasswordRequestDTO): Promise<void> {\n await this.authStore.forgotPassword(input);\n }\n}\n","<anarchitects-auth-ui-forgot-password-form\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-forgot-password-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiResetPasswordForm } from '@anarchitects/auth-angular/ui';\nimport { ResetPasswordRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-reset-password',\n imports: [AnarchitectsAuthUiResetPasswordForm],\n templateUrl: './reset-password.html',\n styleUrl: './reset-password.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureResetPassword {\n private readonly authStore = inject(AuthStore);\n\n readonly token = input<string>();\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n async submitForm(input: ResetPasswordRequestDTO): Promise<void> {\n if (!input.token) {\n return;\n }\n\n await this.authStore.resetPassword({ dto: input });\n }\n}\n","<anarchitects-auth-ui-reset-password-form\n [token]=\"token()\"\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-reset-password-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiVerifyEmailForm } from '@anarchitects/auth-angular/ui';\nimport { VerifyEmailRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-verify-email',\n imports: [AnarchitectsAuthUiVerifyEmailForm],\n templateUrl: './verify-email.html',\n styleUrl: './verify-email.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureVerifyEmail {\n private readonly authStore = inject(AuthStore);\n\n readonly token = input<string>();\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n async submitForm(input: VerifyEmailRequestDTO): Promise<void> {\n if (!input.token) {\n return;\n }\n\n await this.authStore.verifyEmail(input);\n }\n}\n","<anarchitects-auth-ui-verify-email-form\n [token]=\"token()\"\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-verify-email-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiChangePasswordForm } from '@anarchitects/auth-angular/ui';\nimport { ChangePasswordRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport { jwtDecode } from 'jwt-decode';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-change-password',\n imports: [AnarchitectsAuthUiChangePasswordForm],\n templateUrl: './change-password.html',\n styleUrl: './change-password.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureChangePassword {\n private readonly authStore = inject(AuthStore);\n\n readonly userId = input<string>();\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n private resolveUserId(): string | undefined {\n const fromInput = this.userId();\n if (fromInput) {\n return fromInput;\n }\n\n const fromStore = this.authStore.loggedInUser()?.id;\n if (fromStore) {\n return fromStore;\n }\n\n const accessToken = localStorage.getItem('accessToken');\n if (!accessToken) {\n return undefined;\n }\n\n try {\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n return decoded.sub;\n } catch {\n return undefined;\n }\n }\n\n async submitForm(input: ChangePasswordRequestDTO): Promise<void> {\n const userId = this.resolveUserId();\n\n if (!userId) {\n return;\n }\n\n await this.authStore.changePassword({ userId, dto: input });\n }\n}\n","<anarchitects-auth-ui-change-password-form\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-change-password-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiUpdateEmailForm } from '@anarchitects/auth-angular/ui';\nimport { UpdateEmailRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport { jwtDecode } from 'jwt-decode';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-update-email',\n imports: [AnarchitectsAuthUiUpdateEmailForm],\n templateUrl: './update-email.html',\n styleUrl: './update-email.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureUpdateEmail {\n private readonly authStore = inject(AuthStore);\n\n readonly userId = input<string>();\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n private resolveUserId(): string | undefined {\n const fromInput = this.userId();\n if (fromInput) {\n return fromInput;\n }\n\n const fromStore = this.authStore.loggedInUser()?.id;\n if (fromStore) {\n return fromStore;\n }\n\n const accessToken = localStorage.getItem('accessToken');\n if (!accessToken) {\n return undefined;\n }\n\n try {\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n return decoded.sub;\n } catch {\n return undefined;\n }\n }\n\n async submitForm(input: UpdateEmailRequestDTO): Promise<void> {\n const userId = this.resolveUserId();\n\n if (!userId) {\n return;\n }\n\n await this.authStore.updateEmail({ userId, dto: input });\n }\n}\n","<anarchitects-auth-ui-update-email-form\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-update-email-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiLogoutForm } from '@anarchitects/auth-angular/ui';\nimport { LogoutRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-logout',\n imports: [AnarchitectsAuthUiLogoutForm],\n templateUrl: './logout.html',\n styleUrl: './logout.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureLogout {\n private readonly authStore = inject(AuthStore);\n\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n async submitForm(input: LogoutRequestDTO): Promise<void> {\n if (!input.refreshToken) {\n return;\n }\n\n await this.authStore.logout(input);\n }\n}\n","<anarchitects-auth-ui-logout-form\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-logout-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiRefreshTokensForm } from '@anarchitects/auth-angular/ui';\nimport { RefreshTokenRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport { jwtDecode } from 'jwt-decode';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-refresh-tokens',\n imports: [AnarchitectsAuthUiRefreshTokensForm],\n templateUrl: './refresh-tokens.html',\n styleUrl: './refresh-tokens.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureRefreshTokens {\n private readonly authStore = inject(AuthStore);\n\n readonly userId = input<string>();\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n private resolveUserId(): string | undefined {\n const fromInput = this.userId();\n if (fromInput) {\n return fromInput;\n }\n\n const fromStore = this.authStore.loggedInUser()?.id;\n if (fromStore) {\n return fromStore;\n }\n\n const accessToken = localStorage.getItem('accessToken');\n if (!accessToken) {\n return undefined;\n }\n\n try {\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n return decoded.sub;\n } catch {\n return undefined;\n }\n }\n\n async submitForm(input: RefreshTokenRequestDTO): Promise<void> {\n const userId = this.resolveUserId();\n\n if (!userId || !input.refreshToken) {\n return;\n }\n\n await this.authStore.refreshTokens({ userId, dto: input });\n }\n}\n","<anarchitects-auth-ui-refresh-tokens-form\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-refresh-tokens-form>\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { inject } from '@angular/core';\nimport { CanMatchFn } from '@angular/router';\n\nexport const policyGuard: CanMatchFn = (route) => {\n const { action, subject } = route.data as {\n action: string;\n subject: string;\n };\n const authStore = inject(AuthStore);\n const ability = authStore.ability?.();\n\n if (!ability) {\n return false;\n }\n\n return ability.can(action, subject);\n};\n","import { AuthStore } from '@anarchitects/auth-angular/state';\nimport { AnarchitectsAuthUiLoginForm } from '@anarchitects/auth-angular/ui';\nimport { LoginRequestDTO } from '@anarchitects/auth-ts/dtos';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport type { AnxLayoutId } from '@anarchitects/common-angular-ui-layouts/contracts';\n\n@Component({\n selector: 'anarchitects-auth-feature-login',\n imports: [AnarchitectsAuthUiLoginForm],\n templateUrl: './login.html',\n styleUrl: './login.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AnarchitectsFeatureLogin {\n private readonly authStore = inject(AuthStore);\n\n readonly layout = input<AnxLayoutId | null>(null);\n readonly layoutOptions = input<Readonly<Record<string, unknown>>>({});\n\n async submitForm(input: LoginRequestDTO): Promise<void> {\n await this.authStore.login(input);\n }\n}\n","<anarchitects-auth-ui-login-form\n [layout]=\"layout()\"\n [layoutOptions]=\"layoutOptions()\"\n (submitted)=\"submitForm($event)\"\n>\n <ng-content select=\"ng-template[anxTemplate]\"></ng-content>\n <ng-content select=\"[anxSlot]\"></ng-content>\n</anarchitects-auth-ui-login-form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ const initialState = {
14
14
  success: false,
15
15
  ability: undefined,
16
16
  };
17
- const AuthStore = signalStore({ providedIn: 'root' }, withState(initialState), withEntities(), withProps(() => ({
17
+ const AuthStore = signalStore(withState(initialState), withEntities(), withProps(() => ({
18
18
  _authApi: inject(AuthApi),
19
19
  })), withComputed((store) => ({
20
20
  isLoggedIn: computed(() => !!store.entities().length),
@@ -169,9 +169,13 @@ const AuthStore = signalStore({ providedIn: 'root' }, withState(initialState), w
169
169
  }))))),
170
170
  })));
171
171
 
172
+ function provideAuthState() {
173
+ return AuthStore;
174
+ }
175
+
172
176
  /**
173
177
  * Generated bundle index. Do not edit.
174
178
  */
175
179
 
176
- export { AuthStore };
180
+ export { AuthStore, provideAuthState };
177
181
  //# sourceMappingURL=anarchitects-auth-angular-state.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"anarchitects-auth-angular-state.mjs","sources":["../../../../../libs/auth/angular/state/src/auth.store.ts","../../../../../libs/auth/angular/state/src/anarchitects-auth-angular-state.ts"],"sourcesContent":["import { AuthApi } from '@anarchitects/auth-angular/data-access';\nimport { createAppAbility } from '@anarchitects/auth-angular/util';\nimport {\n ActivateUserRequestDTO,\n ChangePasswordRequestDTO,\n ForgotPasswordRequestDTO,\n LoginRequestDTO,\n LogoutRequestDTO,\n RefreshTokenRequestDTO,\n RegisterRequestDTO,\n ResetPasswordRequestDTO,\n UpdateEmailRequestDTO,\n VerifyEmailRequestDTO,\n} from '@anarchitects/auth-ts/dtos';\nimport { User } from '@anarchitects/auth-ts/models';\nimport { computed, inject } from '@angular/core';\nimport { PureAbility } from '@casl/ability';\nimport { tapResponse } from '@ngrx/operators';\nimport {\n patchState,\n signalStore,\n withComputed,\n withMethods,\n withProps,\n withState,\n} from '@ngrx/signals';\nimport {\n removeAllEntities,\n setAllEntities,\n withEntities,\n} from '@ngrx/signals/entities';\nimport { rxMethod } from '@ngrx/signals/rxjs-interop';\nimport { jwtDecode } from 'jwt-decode';\nimport { EMPTY, pipe, switchMap, tap } from 'rxjs';\n\ntype AuthState = {\n loading: boolean;\n error: string | null;\n success: boolean;\n ability?: PureAbility;\n};\n\ntype AuthUser = Pick<User, 'id' | 'email'>;\n\nconst initialState: AuthState = {\n loading: false,\n error: null,\n success: false,\n ability: undefined,\n};\n\nexport const AuthStore = signalStore(\n { providedIn: 'root' },\n withState(initialState),\n withEntities<AuthUser>(),\n withProps(() => ({\n _authApi: inject(AuthApi),\n })),\n withComputed((store) => ({\n isLoggedIn: computed(() => !!store.entities().length),\n loggedInUser: computed(() => store.entities()[0]),\n })),\n withMethods((store) => ({\n registerUser: rxMethod<RegisterRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.registerUser(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n activateUser: rxMethod<ActivateUserRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.activateUser(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n login: rxMethod<LoginRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.login(dto).pipe(\n switchMap(({ accessToken, refreshToken }) => {\n localStorage.setItem('accessToken', accessToken);\n localStorage.setItem('refreshToken', refreshToken);\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n if (!decoded.sub) {\n patchState(store, { error: 'Invalid access token payload.' });\n return EMPTY;\n }\n return store._authApi.getLoggedInUserInfo();\n }),\n tapResponse({\n next: ({ user, rbac }) => {\n const authUser: AuthUser = {\n id: user.id,\n email: user.email,\n };\n patchState(store, setAllEntities([authUser]), {\n ability: createAppAbility(rbac),\n success: true,\n });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n logout: rxMethod<LogoutRequestDTO>(\n pipe(\n tap(() => {\n patchState(store, { loading: true, error: null, success: false });\n localStorage.removeItem('accessToken');\n localStorage.removeItem('refreshToken');\n patchState(store, removeAllEntities(), { ability: undefined });\n }),\n switchMap((dto) =>\n store._authApi.logout(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n changePassword: rxMethod<{ userId: string; dto: ChangePasswordRequestDTO }>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap(({ userId, dto }) =>\n store._authApi.changePassword(userId, dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n forgotPassword: rxMethod<ForgotPasswordRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.forgotPassword(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n resetPassword: rxMethod<{ dto: ResetPasswordRequestDTO }>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap(({ dto }) =>\n store._authApi.resetPassword(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n verifyEmail: rxMethod<VerifyEmailRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.verifyEmail(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n updateEmail: rxMethod<{ userId: string; dto: UpdateEmailRequestDTO }>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap(({ userId, dto }) =>\n store._authApi.updateEmail(userId, dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n refreshTokens: rxMethod<{ userId: string; dto: RefreshTokenRequestDTO }>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap(({ userId, dto }) =>\n store._authApi.refreshTokens(userId, dto).pipe(\n switchMap(({ accessToken, refreshToken }) => {\n localStorage.setItem('accessToken', accessToken);\n localStorage.setItem('refreshToken', refreshToken);\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n if (!decoded.sub) {\n patchState(store, { error: 'Invalid access token payload.' });\n return EMPTY;\n }\n return store._authApi.getLoggedInUserInfo();\n }),\n tapResponse({\n next: ({ user, rbac }) => {\n const authUser: AuthUser = {\n id: user.id,\n email: user.email,\n };\n patchState(store, setAllEntities([authUser]), {\n ability: createAppAbility(rbac),\n success: true,\n });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n })),\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anarchitects-auth-angular-state.mjs","sources":["../../../../../libs/auth/angular/state/src/auth.store.ts","../../../../../libs/auth/angular/state/src/auth-state.provider.ts","../../../../../libs/auth/angular/state/src/anarchitects-auth-angular-state.ts"],"sourcesContent":["import { AuthApi } from '@anarchitects/auth-angular/data-access';\nimport { createAppAbility } from '@anarchitects/auth-angular/util';\nimport {\n ActivateUserRequestDTO,\n ChangePasswordRequestDTO,\n ForgotPasswordRequestDTO,\n LoginRequestDTO,\n LogoutRequestDTO,\n RefreshTokenRequestDTO,\n RegisterRequestDTO,\n ResetPasswordRequestDTO,\n UpdateEmailRequestDTO,\n VerifyEmailRequestDTO,\n} from '@anarchitects/auth-ts/dtos';\nimport { User } from '@anarchitects/auth-ts/models';\nimport { computed, inject } from '@angular/core';\nimport { PureAbility } from '@casl/ability';\nimport { tapResponse } from '@ngrx/operators';\nimport {\n patchState,\n signalStore,\n withComputed,\n withMethods,\n withProps,\n withState,\n} from '@ngrx/signals';\nimport {\n removeAllEntities,\n setAllEntities,\n withEntities,\n} from '@ngrx/signals/entities';\nimport { rxMethod } from '@ngrx/signals/rxjs-interop';\nimport { jwtDecode } from 'jwt-decode';\nimport { EMPTY, pipe, switchMap, tap } from 'rxjs';\n\ntype AuthState = {\n loading: boolean;\n error: string | null;\n success: boolean;\n ability?: PureAbility;\n};\n\ntype AuthUser = Pick<User, 'id' | 'email'>;\n\nconst initialState: AuthState = {\n loading: false,\n error: null,\n success: false,\n ability: undefined,\n};\n\nexport const AuthStore = signalStore(\n withState(initialState),\n withEntities<AuthUser>(),\n withProps(() => ({\n _authApi: inject(AuthApi),\n })),\n withComputed((store) => ({\n isLoggedIn: computed(() => !!store.entities().length),\n loggedInUser: computed(() => store.entities()[0]),\n })),\n withMethods((store) => ({\n registerUser: rxMethod<RegisterRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.registerUser(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n activateUser: rxMethod<ActivateUserRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.activateUser(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n login: rxMethod<LoginRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.login(dto).pipe(\n switchMap(({ accessToken, refreshToken }) => {\n localStorage.setItem('accessToken', accessToken);\n localStorage.setItem('refreshToken', refreshToken);\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n if (!decoded.sub) {\n patchState(store, { error: 'Invalid access token payload.' });\n return EMPTY;\n }\n return store._authApi.getLoggedInUserInfo();\n }),\n tapResponse({\n next: ({ user, rbac }) => {\n const authUser: AuthUser = {\n id: user.id,\n email: user.email,\n };\n patchState(store, setAllEntities([authUser]), {\n ability: createAppAbility(rbac),\n success: true,\n });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n logout: rxMethod<LogoutRequestDTO>(\n pipe(\n tap(() => {\n patchState(store, { loading: true, error: null, success: false });\n localStorage.removeItem('accessToken');\n localStorage.removeItem('refreshToken');\n patchState(store, removeAllEntities(), { ability: undefined });\n }),\n switchMap((dto) =>\n store._authApi.logout(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n changePassword: rxMethod<{ userId: string; dto: ChangePasswordRequestDTO }>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap(({ userId, dto }) =>\n store._authApi.changePassword(userId, dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n forgotPassword: rxMethod<ForgotPasswordRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.forgotPassword(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n resetPassword: rxMethod<{ dto: ResetPasswordRequestDTO }>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap(({ dto }) =>\n store._authApi.resetPassword(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n verifyEmail: rxMethod<VerifyEmailRequestDTO>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap((dto) =>\n store._authApi.verifyEmail(dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n updateEmail: rxMethod<{ userId: string; dto: UpdateEmailRequestDTO }>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap(({ userId, dto }) =>\n store._authApi.updateEmail(userId, dto).pipe(\n tapResponse({\n next: ({ success }) => {\n patchState(store, { success });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n refreshTokens: rxMethod<{ userId: string; dto: RefreshTokenRequestDTO }>(\n pipe(\n tap(() => patchState(store, { loading: true, error: null })),\n switchMap(({ userId, dto }) =>\n store._authApi.refreshTokens(userId, dto).pipe(\n switchMap(({ accessToken, refreshToken }) => {\n localStorage.setItem('accessToken', accessToken);\n localStorage.setItem('refreshToken', refreshToken);\n const decoded = jwtDecode<{ sub?: string }>(accessToken);\n if (!decoded.sub) {\n patchState(store, { error: 'Invalid access token payload.' });\n return EMPTY;\n }\n return store._authApi.getLoggedInUserInfo();\n }),\n tapResponse({\n next: ({ user, rbac }) => {\n const authUser: AuthUser = {\n id: user.id,\n email: user.email,\n };\n patchState(store, setAllEntities([authUser]), {\n ability: createAppAbility(rbac),\n success: true,\n });\n },\n error: (error: string) => {\n patchState(store, { error });\n },\n finalize: () => {\n patchState(store, { loading: false });\n },\n }),\n ),\n ),\n ),\n ),\n })),\n);\n","import { Provider } from '@angular/core';\nimport { AuthStore } from './auth.store';\n\nexport function provideAuthState(): Provider {\n return AuthStore;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}