@koalarx/ui 20.1.7 → 20.1.8

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.
@@ -12,8 +12,8 @@ class Authorization {
12
12
  appConfig = inject(AppConfig);
13
13
  translation = this.appConfig.translation.jwtAuthorizationService;
14
14
  authConfig = this.appConfig.authConfig;
15
- _accessToken = signal(localStorage.getItem(this.authConfig.storageTokenKey));
16
- _refreshToken = signal(localStorage.getItem(this.authConfig.storageRefreshTokenKey));
15
+ _accessToken = signal(null);
16
+ _refreshToken = signal(null);
17
17
  _isAuthenticated = signal(false);
18
18
  _userinfo = signal(null);
19
19
  router = inject(Router);
@@ -74,6 +74,8 @@ class Authorization {
74
74
  }
75
75
  }
76
76
  init() {
77
+ this._accessToken.set(localStorage.getItem(this.authConfig.storageTokenKey));
78
+ this._refreshToken.set(localStorage.getItem(this.authConfig?.storageRefreshTokenKey));
77
79
  effect(() => {
78
80
  const userInfo = this._userinfo();
79
81
  if (userInfo) {
@@ -1 +1 @@
1
- {"version":3,"file":"koalarx-ui-shared-services.mjs","sources":["../../projects/koala-ui/shared/services/authorization.ts","../../projects/koala-ui/shared/services/koalarx-ui-shared-services.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { computed, effect, inject, Injectable, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { AuthConfig } from '@koalarx/ui/core/models';\nimport { Confirm } from '@koalarx/ui/shared/components/confirm';\nimport { jwtDecode } from 'jwt-decode';\nimport { first } from 'rxjs/internal/operators/first';\nimport { tap } from 'rxjs/internal/operators/tap';\n\n@Injectable({ providedIn: 'root' })\nexport class Authorization<TUser = any> {\n private readonly appConfig = inject(AppConfig);\n private readonly translation =\n this.appConfig.translation.jwtAuthorizationService;\n private readonly authConfig = this.appConfig.authConfig as AuthConfig;\n private _accessToken = signal<string | null>(\n localStorage.getItem(this.authConfig.storageTokenKey)\n );\n private _refreshToken = signal<string | null>(\n localStorage.getItem(this.authConfig.storageRefreshTokenKey)\n );\n private _isAuthenticated = signal<boolean>(false);\n private _userinfo = signal<TUser | null>(null);\n private readonly router = inject(Router);\n private readonly http = inject(HttpClient);\n private readonly confirm = inject(Confirm);\n\n get accessToken() {\n const accessToken = this._accessToken();\n return accessToken;\n }\n\n set accessToken(accessToken: string | null) {\n if (accessToken) {\n localStorage.setItem(this.authConfig.storageTokenKey, accessToken);\n } else {\n localStorage.removeItem(this.authConfig.storageTokenKey);\n }\n\n this._accessToken.set(accessToken);\n }\n\n get refreshToken() {\n const refreshToken = this._refreshToken();\n return refreshToken;\n }\n\n set refreshToken(refreshToken: string | null) {\n if (refreshToken) {\n localStorage.setItem(\n this.authConfig.storageRefreshTokenKey,\n refreshToken\n );\n } else {\n localStorage.removeItem(this.authConfig.storageRefreshTokenKey);\n }\n\n this._refreshToken.set(refreshToken);\n }\n\n get isAuthenticated() {\n return this._isAuthenticated.asReadonly();\n }\n\n get userinfo() {\n return this._userinfo.asReadonly();\n }\n\n get isExpired() {\n return computed(() => {\n const accessToken = this._accessToken();\n\n if (accessToken) {\n const decodedToken = jwtDecode(accessToken);\n\n if (decodedToken) {\n const exp = new Date((decodedToken.exp ?? 0) * 1000);\n const now = new Date();\n\n return exp < now;\n }\n }\n\n return true;\n });\n }\n\n get hasToken() {\n return computed(() => !!this._accessToken());\n }\n\n constructor() {\n if (this.appConfig.authConfig) {\n this.init();\n }\n }\n\n private init() {\n effect(() => {\n const userInfo = this._userinfo();\n\n if (userInfo) {\n this.updateAuthState();\n }\n });\n\n effect(() => {\n const isAuthenticated = this.isAuthenticated();\n\n if (\n isAuthenticated &&\n (!this.authConfig.loginRoute ||\n (this.authConfig.loginRoute &&\n location.hash.includes(this.authConfig.loginRoute))) &&\n this.authConfig.homeRoute\n ) {\n this.router.navigate([this.authConfig.homeRoute]);\n }\n });\n\n effect(() => {\n const hasToken = this.hasToken();\n\n if (hasToken) {\n this.loadUserInfo();\n } else if (\n this.authConfig.loginRoute &&\n !location.hash.includes(this.authConfig.loginRoute)\n ) {\n this.router.navigate([this.authConfig.loginRoute]);\n }\n });\n }\n\n private updateAuthState() {\n this._isAuthenticated.set(\n this.hasToken() && !this.isExpired() && !!this._userinfo()\n );\n }\n\n private logoutUser() {\n localStorage.removeItem(this.authConfig.storageTokenKey);\n localStorage.removeItem(this.authConfig.storageRefreshTokenKey);\n this._userinfo.set(null);\n this._refreshToken.set(null);\n this._accessToken.set(null);\n this.updateAuthState();\n }\n\n private loadUserInfo() {\n this.http.get<TUser>(this.authConfig.userInfo.url).subscribe({\n next: (userInfo) => this._userinfo.set(userInfo),\n error: () => this.logoutUser(),\n });\n }\n\n logout(force = false) {\n if (force) {\n this.logoutUser();\n return;\n }\n\n this.confirm.open({\n message: this.translation.questionLogoutMessage,\n yesCallback: () => this.logoutUser(),\n });\n }\n\n updateToken() {\n return this.http.post<any>(this.authConfig.refreshToken.url, {}).pipe(\n tap({\n next: (response) => {\n this.accessToken =\n response[this.authConfig.refreshToken.response.accessTokenKeyName];\n this.refreshToken =\n response[this.authConfig.refreshToken.response.refreshTokenKeyName];\n this.updateAuthState();\n },\n error: () => {\n this.logout(true);\n this.router.navigate([this.authConfig.loginRoute]);\n },\n }),\n first()\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":"koalarx-ui-shared-services.mjs","sources":["../../projects/koala-ui/shared/services/authorization.ts","../../projects/koala-ui/shared/services/koalarx-ui-shared-services.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { computed, effect, inject, Injectable, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { AuthConfig } from '@koalarx/ui/core/models';\nimport { Confirm } from '@koalarx/ui/shared/components/confirm';\nimport { jwtDecode } from 'jwt-decode';\nimport { first } from 'rxjs/internal/operators/first';\nimport { tap } from 'rxjs/internal/operators/tap';\n\n@Injectable({ providedIn: 'root' })\nexport class Authorization<TUser = any> {\n private readonly appConfig = inject(AppConfig);\n private readonly translation =\n this.appConfig.translation.jwtAuthorizationService;\n private readonly authConfig = this.appConfig.authConfig as AuthConfig;\n private _accessToken = signal<string | null>(null);\n private _refreshToken = signal<string | null>(null);\n private _isAuthenticated = signal<boolean>(false);\n private _userinfo = signal<TUser | null>(null);\n private readonly router = inject(Router);\n private readonly http = inject(HttpClient);\n private readonly confirm = inject(Confirm);\n\n get accessToken() {\n const accessToken = this._accessToken();\n return accessToken;\n }\n\n set accessToken(accessToken: string | null) {\n if (accessToken) {\n localStorage.setItem(this.authConfig.storageTokenKey, accessToken);\n } else {\n localStorage.removeItem(this.authConfig.storageTokenKey);\n }\n\n this._accessToken.set(accessToken);\n }\n\n get refreshToken() {\n const refreshToken = this._refreshToken();\n return refreshToken;\n }\n\n set refreshToken(refreshToken: string | null) {\n if (refreshToken) {\n localStorage.setItem(\n this.authConfig.storageRefreshTokenKey,\n refreshToken\n );\n } else {\n localStorage.removeItem(this.authConfig.storageRefreshTokenKey);\n }\n\n this._refreshToken.set(refreshToken);\n }\n\n get isAuthenticated() {\n return this._isAuthenticated.asReadonly();\n }\n\n get userinfo() {\n return this._userinfo.asReadonly();\n }\n\n get isExpired() {\n return computed(() => {\n const accessToken = this._accessToken();\n\n if (accessToken) {\n const decodedToken = jwtDecode(accessToken);\n\n if (decodedToken) {\n const exp = new Date((decodedToken.exp ?? 0) * 1000);\n const now = new Date();\n\n return exp < now;\n }\n }\n\n return true;\n });\n }\n\n get hasToken() {\n return computed(() => !!this._accessToken());\n }\n\n constructor() {\n if (this.appConfig.authConfig) {\n this.init();\n }\n }\n\n private init() {\n this._accessToken.set(\n localStorage.getItem(this.authConfig.storageTokenKey)\n );\n this._refreshToken.set(\n localStorage.getItem(this.authConfig?.storageRefreshTokenKey)\n );\n\n effect(() => {\n const userInfo = this._userinfo();\n\n if (userInfo) {\n this.updateAuthState();\n }\n });\n\n effect(() => {\n const isAuthenticated = this.isAuthenticated();\n\n if (\n isAuthenticated &&\n (!this.authConfig.loginRoute ||\n (this.authConfig.loginRoute &&\n location.hash.includes(this.authConfig.loginRoute))) &&\n this.authConfig.homeRoute\n ) {\n this.router.navigate([this.authConfig.homeRoute]);\n }\n });\n\n effect(() => {\n const hasToken = this.hasToken();\n\n if (hasToken) {\n this.loadUserInfo();\n } else if (\n this.authConfig.loginRoute &&\n !location.hash.includes(this.authConfig.loginRoute)\n ) {\n this.router.navigate([this.authConfig.loginRoute]);\n }\n });\n }\n\n private updateAuthState() {\n this._isAuthenticated.set(\n this.hasToken() && !this.isExpired() && !!this._userinfo()\n );\n }\n\n private logoutUser() {\n localStorage.removeItem(this.authConfig.storageTokenKey);\n localStorage.removeItem(this.authConfig.storageRefreshTokenKey);\n this._userinfo.set(null);\n this._refreshToken.set(null);\n this._accessToken.set(null);\n this.updateAuthState();\n }\n\n private loadUserInfo() {\n this.http.get<TUser>(this.authConfig.userInfo.url).subscribe({\n next: (userInfo) => this._userinfo.set(userInfo),\n error: () => this.logoutUser(),\n });\n }\n\n logout(force = false) {\n if (force) {\n this.logoutUser();\n return;\n }\n\n this.confirm.open({\n message: this.translation.questionLogoutMessage,\n yesCallback: () => this.logoutUser(),\n });\n }\n\n updateToken() {\n return this.http.post<any>(this.authConfig.refreshToken.url, {}).pipe(\n tap({\n next: (response) => {\n this.accessToken =\n response[this.authConfig.refreshToken.response.accessTokenKeyName];\n this.refreshToken =\n response[this.authConfig.refreshToken.response.refreshTokenKeyName];\n this.updateAuthState();\n },\n error: () => {\n this.logout(true);\n this.router.navigate([this.authConfig.loginRoute]);\n },\n }),\n first()\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koalarx/ui",
3
- "version": "20.1.7",
3
+ "version": "20.1.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0"
@@ -210,14 +210,14 @@
210
210
  "types": "./shared/components/input-field/input-cpf/index.d.ts",
211
211
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-cpf.mjs"
212
212
  },
213
- "./shared/components/input-field/input-date": {
214
- "types": "./shared/components/input-field/input-date/index.d.ts",
215
- "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-date.mjs"
216
- },
217
213
  "./shared/components/input-field/input-currency": {
218
214
  "types": "./shared/components/input-field/input-currency/index.d.ts",
219
215
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-currency.mjs"
220
216
  },
217
+ "./shared/components/input-field/input-date": {
218
+ "types": "./shared/components/input-field/input-date/index.d.ts",
219
+ "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-date.mjs"
220
+ },
221
221
  "./shared/components/input-field/input-datetime": {
222
222
  "types": "./shared/components/input-field/input-datetime/index.d.ts",
223
223
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-datetime.mjs"
@@ -226,14 +226,14 @@
226
226
  "types": "./shared/components/input-field/input-email/index.d.ts",
227
227
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-email.mjs"
228
228
  },
229
- "./shared/components/input-field/input-password": {
230
- "types": "./shared/components/input-field/input-password/index.d.ts",
231
- "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-password.mjs"
232
- },
233
229
  "./shared/components/input-field/input-month": {
234
230
  "types": "./shared/components/input-field/input-month/index.d.ts",
235
231
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-month.mjs"
236
232
  },
233
+ "./shared/components/input-field/input-password": {
234
+ "types": "./shared/components/input-field/input-password/index.d.ts",
235
+ "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-password.mjs"
236
+ },
237
237
  "./shared/components/input-field/input-radio": {
238
238
  "types": "./shared/components/input-field/input-radio/index.d.ts",
239
239
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-radio.mjs"
@@ -242,14 +242,14 @@
242
242
  "types": "./shared/components/input-field/input-text/index.d.ts",
243
243
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-text.mjs"
244
244
  },
245
- "./shared/components/input-field/input-url": {
246
- "types": "./shared/components/input-field/input-url/index.d.ts",
247
- "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-url.mjs"
248
- },
249
245
  "./shared/components/input-field/input-time": {
250
246
  "types": "./shared/components/input-field/input-time/index.d.ts",
251
247
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-time.mjs"
252
248
  },
249
+ "./shared/components/input-field/input-url": {
250
+ "types": "./shared/components/input-field/input-url/index.d.ts",
251
+ "default": "./fesm2022/koalarx-ui-shared-components-input-field-input-url.mjs"
252
+ },
253
253
  "./shared/components/input-field/select": {
254
254
  "types": "./shared/components/input-field/select/index.d.ts",
255
255
  "default": "./fesm2022/koalarx-ui-shared-components-input-field-select.mjs"