@ng-vagabond-lab/ng-dsv 0.0.15 → 0.0.16
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.
|
@@ -111,7 +111,7 @@ const authInterceptor = (req, next) => {
|
|
|
111
111
|
}));
|
|
112
112
|
};
|
|
113
113
|
const getToken = (req, storageService) => {
|
|
114
|
-
const jwt =
|
|
114
|
+
const jwt = storageService.getItem('user-connected')?.['jwt'] ?? '';
|
|
115
115
|
if (!req.url.includes('/auth/')) {
|
|
116
116
|
const headers = req.headers.set('Authorization', `Bearer ${jwt}`);
|
|
117
117
|
return req.clone({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","sources":["../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/service/storage.service.ts","../../../projects/ng-dsv/api/interceptor/api.interceptor.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { JSONObject } from '../dto/api.dto';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n baseUrl!: string;\n\n constructor(private readonly httpClient: HttpClient) {}\n\n setBaseUrl(url: string) {\n this.baseUrl = url;\n }\n\n get<T>(url: string, callback: (data: T) => void) {\n this.httpClient.get<T>(this.baseUrl + url).subscribe({\n next: (res) => {\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.error(url, error);\n },\n });\n }\n\n post<T>(url: string, data: T, callback: (data: T) => void) {\n this.httpClient.post<T>(this.baseUrl + url, data).subscribe({\n next: (res) => {\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.error(url, error);\n },\n });\n }\n\n info(url: string, data: JSONObject) {\n console.log(url, data);\n }\n\n error(url: string, error: JSONObject) {\n console.error(url, error);\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, PLATFORM_ID } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StorageService {\n private platformId = inject(PLATFORM_ID);\n\n isPlatformBrowser() {\n return isPlatformBrowser(this.platformId);\n }\n\n setItem(key: string, value: unknown): void {\n if (isPlatformBrowser(this.platformId)) {\n localStorage.setItem(key, JSON.stringify(value));\n }\n }\n\n parse(value: string) {\n try {\n return JSON.parse(value);\n } catch (_) {\n return value;\n }\n }\n\n getItem<T>(key: string): T | null {\n if (isPlatformBrowser(this.platformId)) {\n const item = localStorage.getItem(key);\n return item ? this.parse(item) : null;\n }\n return null;\n }\n\n removeItem(key: string): void {\n if (isPlatformBrowser(this.platformId)) {\n localStorage.removeItem(key);\n }\n }\n\n clear(): void {\n if (isPlatformBrowser(this.platformId)) {\n localStorage.clear();\n }\n }\n}\n","import {\n HttpClient,\n HttpErrorResponse,\n HttpHandlerFn,\n HttpInterceptorFn,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { catchError, switchMap, throwError } from 'rxjs';\nimport { ApiService } from '../service/api.service';\nimport { StorageService } from '../service/storage.service';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n const httpClient = inject(HttpClient);\n const apiService = inject(ApiService);\n const storageService = inject(StorageService);\n\n return next(getToken(req, storageService)).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !req.url.includes('auth/') &&\n error.status === 401\n ) {\n return handle401Error(\n httpClient,\n apiService,\n storageService,\n req,\n next\n );\n }\n\n return throwError(() => error);\n })\n );\n};\n\nconst getToken = <T>(req: HttpRequest<T>, storageService: StorageService) => {\n const jwt
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","sources":["../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/service/storage.service.ts","../../../projects/ng-dsv/api/interceptor/api.interceptor.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { JSONObject } from '../dto/api.dto';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n baseUrl!: string;\n\n constructor(private readonly httpClient: HttpClient) {}\n\n setBaseUrl(url: string) {\n this.baseUrl = url;\n }\n\n get<T>(url: string, callback: (data: T) => void) {\n this.httpClient.get<T>(this.baseUrl + url).subscribe({\n next: (res) => {\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.error(url, error);\n },\n });\n }\n\n post<T>(url: string, data: T, callback: (data: T) => void) {\n this.httpClient.post<T>(this.baseUrl + url, data).subscribe({\n next: (res) => {\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.error(url, error);\n },\n });\n }\n\n info(url: string, data: JSONObject) {\n console.log(url, data);\n }\n\n error(url: string, error: JSONObject) {\n console.error(url, error);\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, PLATFORM_ID } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StorageService {\n private platformId = inject(PLATFORM_ID);\n\n isPlatformBrowser() {\n return isPlatformBrowser(this.platformId);\n }\n\n setItem(key: string, value: unknown): void {\n if (isPlatformBrowser(this.platformId)) {\n localStorage.setItem(key, JSON.stringify(value));\n }\n }\n\n parse(value: string) {\n try {\n return JSON.parse(value);\n } catch (_) {\n return value;\n }\n }\n\n getItem<T>(key: string): T | null {\n if (isPlatformBrowser(this.platformId)) {\n const item = localStorage.getItem(key);\n return item ? this.parse(item) : null;\n }\n return null;\n }\n\n removeItem(key: string): void {\n if (isPlatformBrowser(this.platformId)) {\n localStorage.removeItem(key);\n }\n }\n\n clear(): void {\n if (isPlatformBrowser(this.platformId)) {\n localStorage.clear();\n }\n }\n}\n","import {\n HttpClient,\n HttpErrorResponse,\n HttpHandlerFn,\n HttpInterceptorFn,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { catchError, switchMap, throwError } from 'rxjs';\nimport { ApiService } from '../service/api.service';\nimport { StorageService } from '../service/storage.service';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n const httpClient = inject(HttpClient);\n const apiService = inject(ApiService);\n const storageService = inject(StorageService);\n\n return next(getToken(req, storageService)).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !req.url.includes('auth/') &&\n error.status === 401\n ) {\n return handle401Error(\n httpClient,\n apiService,\n storageService,\n req,\n next\n );\n }\n\n return throwError(() => error);\n })\n );\n};\n\nconst getToken = <T>(req: HttpRequest<T>, storageService: StorageService) => {\n const jwt =\n storageService.getItem('user-connected')?.['jwt' as keyof {}] ?? '';\n if (!req.url.includes('/auth/')) {\n const headers = req.headers.set('Authorization', `Bearer ${jwt}`);\n\n return req.clone({\n headers,\n });\n }\n return req;\n};\n\nconst handle401Error = <T>(\n httpClient: HttpClient,\n apiService: ApiService,\n storageService: StorageService,\n request: HttpRequest<T>,\n next: HttpHandlerFn\n) => {\n console.log('401 error');\n\n const jwtRefresh = JSON.parse(\n storageService.getItem('user-connected')!\n )?.jwtRefresh;\n\n return httpClient\n .post(apiService.baseUrl + '/auth/refresh-token', {\n refreshToken: jwtRefresh,\n })\n .pipe(\n switchMap((response) => {\n storageService.setItem('user-connected', JSON.stringify(response));\n return next(getToken(request, storageService));\n })\n );\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|