@ng-vagabond-lab/ng-dsv 0.0.10 → 0.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.
|
@@ -53,11 +53,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
|
|
|
53
53
|
|
|
54
54
|
const authInterceptor = (req, next) => {
|
|
55
55
|
const httpClient = inject(HttpClient);
|
|
56
|
+
const apiService = inject(ApiService);
|
|
56
57
|
return next(getToken(req)).pipe(catchError((error) => {
|
|
57
58
|
if (error instanceof HttpErrorResponse &&
|
|
58
59
|
!req.url.includes('auth/') &&
|
|
59
60
|
error.status === 401) {
|
|
60
|
-
return handle401Error(httpClient, req, next);
|
|
61
|
+
return handle401Error(httpClient, apiService, req, next);
|
|
61
62
|
}
|
|
62
63
|
return throwError(() => error);
|
|
63
64
|
}));
|
|
@@ -72,10 +73,9 @@ const getToken = (req) => {
|
|
|
72
73
|
}
|
|
73
74
|
return req;
|
|
74
75
|
};
|
|
75
|
-
const handle401Error = (httpClient, request, next) => {
|
|
76
|
+
const handle401Error = (httpClient, apiService, request, next) => {
|
|
76
77
|
console.log('401 error');
|
|
77
78
|
const jwtRefresh = JSON.parse(localStorage.getItem('user-connected'))?.jwtRefresh;
|
|
78
|
-
const apiService = inject(ApiService);
|
|
79
79
|
return httpClient
|
|
80
80
|
.post(apiService.baseUrl + '/auth/refresh-token', {
|
|
81
81
|
refreshToken: jwtRefresh,
|
|
@@ -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/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 {\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';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n const httpClient = inject(HttpClient);\n return next(getToken(req)).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !req.url.includes('auth/') &&\n error.status === 401\n ) {\n return handle401Error(httpClient, req, next);\n }\n\n return throwError(() => error);\n })\n );\n};\n\nconst getToken = <T>(req: HttpRequest<T>) => {\n const jwt = JSON.parse(localStorage.getItem('user-connected')!)?.jwt;\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 request: HttpRequest<T>,\n next: HttpHandlerFn\n) => {\n console.log('401 error');\n\n const jwtRefresh = JSON.parse(\n localStorage.getItem('user-connected')!\n )?.jwtRefresh;\n\n
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","sources":["../../../projects/ng-dsv/api/service/api.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 {\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';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n const httpClient = inject(HttpClient);\n const apiService = inject(ApiService);\n return next(getToken(req)).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !req.url.includes('auth/') &&\n error.status === 401\n ) {\n return handle401Error(httpClient, apiService, req, next);\n }\n\n return throwError(() => error);\n })\n );\n};\n\nconst getToken = <T>(req: HttpRequest<T>) => {\n const jwt = JSON.parse(localStorage.getItem('user-connected')!)?.jwt;\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 request: HttpRequest<T>,\n next: HttpHandlerFn\n) => {\n console.log('401 error');\n\n const jwtRefresh = JSON.parse(\n localStorage.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 localStorage.setItem('user-connected', JSON.stringify(response));\n return next(getToken(request));\n })\n );\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-vagabond-lab/ng-dsv",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^19.1.7",
|
|
6
6
|
"@angular/core": "^19.1.7"
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
"types": "./ds/button/index.d.ts",
|
|
48
48
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs"
|
|
49
49
|
},
|
|
50
|
-
"./ds/container": {
|
|
51
|
-
"types": "./ds/container/index.d.ts",
|
|
52
|
-
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs"
|
|
53
|
-
},
|
|
54
50
|
"./ds/card": {
|
|
55
51
|
"types": "./ds/card/index.d.ts",
|
|
56
52
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs"
|
|
57
53
|
},
|
|
54
|
+
"./ds/container": {
|
|
55
|
+
"types": "./ds/container/index.d.ts",
|
|
56
|
+
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs"
|
|
57
|
+
},
|
|
58
58
|
"./ds/header": {
|
|
59
59
|
"types": "./ds/header/index.d.ts",
|
|
60
60
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs"
|