@hichchi/ngx-utils 0.0.1-alpha.0 → 0.0.1-alpha.1

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/README.md CHANGED
@@ -1,7 +1,580 @@
1
+ **@hichchi/ngx-utils**
2
+
3
+ ---
4
+
1
5
  # ngx-utils
2
6
 
3
7
  This library was generated with [Nx](https://nx.dev).
4
8
 
9
+ ## Building
10
+
11
+ Run `nx build ngx-utils` to build the library.
12
+
13
+ ## Running unit tests
14
+
15
+ Run `nx test ngx-utils` to execute the unit tests via [Jest](https://jestjs.io).
16
+ This library was generated with [Nx](https://nx.dev).
17
+
18
+ ## Building
19
+
20
+ Run `nx build ngx-utils` to build the library.
21
+
5
22
  ## Running unit tests
6
23
 
7
- Run `nx test ngx-utils` to execute the unit tests.
24
+ Run `nx test ngx-utils` to execute the unit tests via [Jest](https://jestjs.io).
25
+
26
+ ## Classes
27
+
28
+ ### AuthService
29
+
30
+ Defined in: [libs/ngx-utils/src/lib/services/auth.service.ts:21](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/services/auth.service.ts#L21)
31
+
32
+ #### Constructors
33
+
34
+ ##### Constructor
35
+
36
+ ```ts
37
+ new AuthService(): AuthService;
38
+ ```
39
+
40
+ ###### Returns
41
+
42
+ [`AuthService`](#authservice)
43
+
44
+ #### Properties
45
+
46
+ <table>
47
+ <thead>
48
+ <tr>
49
+ <th>Property</th>
50
+ <th>Type</th>
51
+ <th>Defined in</th>
52
+ </tr>
53
+ </thead>
54
+ <tbody>
55
+ <tr>
56
+ <td>
57
+
58
+ <a id="http"></a> `http`
59
+
60
+ </td>
61
+ <td>
62
+
63
+ `HttpClient`
64
+
65
+ </td>
66
+ <td>
67
+
68
+ [libs/ngx-utils/src/lib/services/auth.service.ts:22](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/services/auth.service.ts#L22)
69
+
70
+ </td>
71
+ </tr>
72
+ </tbody>
73
+ </table>
74
+
75
+ #### Methods
76
+
77
+ ##### authenticateSocial()
78
+
79
+ ```ts
80
+ authenticateSocial(accessToken): Observable<AuthResponse>;
81
+ ```
82
+
83
+ Defined in: [libs/ngx-utils/src/lib/services/auth.service.ts:35](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/services/auth.service.ts#L35)
84
+
85
+ ###### Parameters
86
+
87
+ <table>
88
+ <thead>
89
+ <tr>
90
+ <th>Parameter</th>
91
+ <th>Type</th>
92
+ </tr>
93
+ </thead>
94
+ <tbody>
95
+ <tr>
96
+ <td>
97
+
98
+ `accessToken`
99
+
100
+ </td>
101
+ <td>
102
+
103
+ `AccessToken`
104
+
105
+ </td>
106
+ </tr>
107
+ </tbody>
108
+ </table>
109
+
110
+ ###### Returns
111
+
112
+ `Observable`\<`AuthResponse`\>
113
+
114
+ ##### refreshToken()
115
+
116
+ ```ts
117
+ refreshToken(refreshToken): Observable<TokenResponse>;
118
+ ```
119
+
120
+ Defined in: [libs/ngx-utils/src/lib/services/auth.service.ts:54](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/services/auth.service.ts#L54)
121
+
122
+ ###### Parameters
123
+
124
+ <table>
125
+ <thead>
126
+ <tr>
127
+ <th>Parameter</th>
128
+ <th>Type</th>
129
+ </tr>
130
+ </thead>
131
+ <tbody>
132
+ <tr>
133
+ <td>
134
+
135
+ `refreshToken`
136
+
137
+ </td>
138
+ <td>
139
+
140
+ `RefreshToken`
141
+
142
+ </td>
143
+ </tr>
144
+ </tbody>
145
+ </table>
146
+
147
+ ###### Returns
148
+
149
+ `Observable`\<`TokenResponse`\>
150
+
151
+ ##### signIn()
152
+
153
+ ```ts
154
+ signIn(dto): Observable<AuthResponse>;
155
+ ```
156
+
157
+ Defined in: [libs/ngx-utils/src/lib/services/auth.service.ts:24](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/services/auth.service.ts#L24)
158
+
159
+ ###### Parameters
160
+
161
+ <table>
162
+ <thead>
163
+ <tr>
164
+ <th>Parameter</th>
165
+ <th>Type</th>
166
+ </tr>
167
+ </thead>
168
+ <tbody>
169
+ <tr>
170
+ <td>
171
+
172
+ `dto`
173
+
174
+ </td>
175
+ <td>
176
+
177
+ `SignInBody`
178
+
179
+ </td>
180
+ </tr>
181
+ </tbody>
182
+ </table>
183
+
184
+ ###### Returns
185
+
186
+ `Observable`\<`AuthResponse`\>
187
+
188
+ ##### signOut()
189
+
190
+ ```ts
191
+ signOut(): Observable<null | SuccessResponse>;
192
+ ```
193
+
194
+ Defined in: [libs/ngx-utils/src/lib/services/auth.service.ts:62](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/services/auth.service.ts#L62)
195
+
196
+ ###### Returns
197
+
198
+ `Observable`\<`null` \| `SuccessResponse`\>
199
+
200
+ ##### signUp()
201
+
202
+ ```ts
203
+ signUp(dto): Observable<User>;
204
+ ```
205
+
206
+ Defined in: [libs/ngx-utils/src/lib/services/auth.service.ts:50](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/services/auth.service.ts#L50)
207
+
208
+ ###### Parameters
209
+
210
+ <table>
211
+ <thead>
212
+ <tr>
213
+ <th>Parameter</th>
214
+ <th>Type</th>
215
+ </tr>
216
+ </thead>
217
+ <tbody>
218
+ <tr>
219
+ <td>
220
+
221
+ `dto`
222
+
223
+ </td>
224
+ <td>
225
+
226
+ `SignUpBody`
227
+
228
+ </td>
229
+ </tr>
230
+ </tbody>
231
+ </table>
232
+
233
+ ###### Returns
234
+
235
+ `Observable`\<`User`\>
236
+
237
+ ## Interfaces
238
+
239
+ ### AuthStateModel
240
+
241
+ Defined in: [libs/ngx-utils/src/lib/state/auth.state.ts:13](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L13)
242
+
243
+ #### Properties
244
+
245
+ <table>
246
+ <thead>
247
+ <tr>
248
+ <th>Property</th>
249
+ <th>Type</th>
250
+ <th>Defined in</th>
251
+ </tr>
252
+ </thead>
253
+ <tbody>
254
+ <tr>
255
+ <td>
256
+
257
+ <a id="accesstoken"></a> `accessToken`
258
+
259
+ </td>
260
+ <td>
261
+
262
+ `null` \| `AccessToken`
263
+
264
+ </td>
265
+ <td>
266
+
267
+ [libs/ngx-utils/src/lib/state/auth.state.ts:17](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L17)
268
+
269
+ </td>
270
+ </tr>
271
+ <tr>
272
+ <td>
273
+
274
+ <a id="accesstokenexpireson"></a> `accessTokenExpiresOn`
275
+
276
+ </td>
277
+ <td>
278
+
279
+ `null` \| `Date`
280
+
281
+ </td>
282
+ <td>
283
+
284
+ [libs/ngx-utils/src/lib/state/auth.state.ts:19](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L19)
285
+
286
+ </td>
287
+ </tr>
288
+ <tr>
289
+ <td>
290
+
291
+ <a id="refreshtoken-2"></a> `refreshToken`
292
+
293
+ </td>
294
+ <td>
295
+
296
+ `null` \| `RefreshToken`
297
+
298
+ </td>
299
+ <td>
300
+
301
+ [libs/ngx-utils/src/lib/state/auth.state.ts:18](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L18)
302
+
303
+ </td>
304
+ </tr>
305
+ <tr>
306
+ <td>
307
+
308
+ <a id="refreshtokenexpireson"></a> `refreshTokenExpiresOn`
309
+
310
+ </td>
311
+ <td>
312
+
313
+ `null` \| `Date`
314
+
315
+ </td>
316
+ <td>
317
+
318
+ [libs/ngx-utils/src/lib/state/auth.state.ts:20](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L20)
319
+
320
+ </td>
321
+ </tr>
322
+ <tr>
323
+ <td>
324
+
325
+ <a id="sessionid"></a> `sessionId`
326
+
327
+ </td>
328
+ <td>
329
+
330
+ `null` \| `string`
331
+
332
+ </td>
333
+ <td>
334
+
335
+ [libs/ngx-utils/src/lib/state/auth.state.ts:15](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L15)
336
+
337
+ </td>
338
+ </tr>
339
+ <tr>
340
+ <td>
341
+
342
+ <a id="signedin"></a> `signedIn`
343
+
344
+ </td>
345
+ <td>
346
+
347
+ `boolean`
348
+
349
+ </td>
350
+ <td>
351
+
352
+ [libs/ngx-utils/src/lib/state/auth.state.ts:14](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L14)
353
+
354
+ </td>
355
+ </tr>
356
+ <tr>
357
+ <td>
358
+
359
+ <a id="user"></a> `user`
360
+
361
+ </td>
362
+ <td>
363
+
364
+ `null` \| `User`
365
+
366
+ </td>
367
+ <td>
368
+
369
+ [libs/ngx-utils/src/lib/state/auth.state.ts:16](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L16)
370
+
371
+ </td>
372
+ </tr>
373
+ </tbody>
374
+ </table>
375
+
376
+ ---
377
+
378
+ ### HttpError
379
+
380
+ Defined in: [libs/ngx-utils/src/lib/interfaces/http-error.interface.ts:3](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/interfaces/http-error.interface.ts#L3)
381
+
382
+ #### Properties
383
+
384
+ <table>
385
+ <thead>
386
+ <tr>
387
+ <th>Property</th>
388
+ <th>Type</th>
389
+ <th>Defined in</th>
390
+ </tr>
391
+ </thead>
392
+ <tbody>
393
+ <tr>
394
+ <td>
395
+
396
+ <a id="error"></a> `error?`
397
+
398
+ </td>
399
+ <td>
400
+
401
+ `ErrorResponse`
402
+
403
+ </td>
404
+ <td>
405
+
406
+ [libs/ngx-utils/src/lib/interfaces/http-error.interface.ts:6](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/interfaces/http-error.interface.ts#L6)
407
+
408
+ </td>
409
+ </tr>
410
+ <tr>
411
+ <td>
412
+
413
+ <a id="message"></a> `message`
414
+
415
+ </td>
416
+ <td>
417
+
418
+ `string`
419
+
420
+ </td>
421
+ <td>
422
+
423
+ [libs/ngx-utils/src/lib/interfaces/http-error.interface.ts:5](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/interfaces/http-error.interface.ts#L5)
424
+
425
+ </td>
426
+ </tr>
427
+ <tr>
428
+ <td>
429
+
430
+ <a id="status"></a> `status`
431
+
432
+ </td>
433
+ <td>
434
+
435
+ `number`
436
+
437
+ </td>
438
+ <td>
439
+
440
+ [libs/ngx-utils/src/lib/interfaces/http-error.interface.ts:4](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/interfaces/http-error.interface.ts#L4)
441
+
442
+ </td>
443
+ </tr>
444
+ </tbody>
445
+ </table>
446
+
447
+ ## Variables
448
+
449
+ ### AuthState
450
+
451
+ ```ts
452
+ const AuthState: Type<
453
+ object &
454
+ StateSource<{
455
+ accessToken: null | AccessToken;
456
+ accessTokenExpiresOn: null | Date;
457
+ refreshToken: null | RefreshToken;
458
+ refreshTokenExpiresOn: null | Date;
459
+ sessionId: null | string;
460
+ signedIn: boolean;
461
+ user: null | User;
462
+ }>
463
+ >;
464
+ ```
465
+
466
+ Defined in: [libs/ngx-utils/src/lib/state/auth.state.ts:33](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/state/auth.state.ts#L33)
467
+
468
+ ---
469
+
470
+ ### SKIPPED_ERRORS
471
+
472
+ ```ts
473
+ const SKIPPED_ERRORS: ErrorResponseCode[];
474
+ ```
475
+
476
+ Defined in: [libs/ngx-utils/src/lib/interceptors/auth.interceptor.ts:11](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/interceptors/auth.interceptor.ts#L11)
477
+
478
+ ## Functions
479
+
480
+ ### apiUrlInterceptor()
481
+
482
+ ```ts
483
+ function apiUrlInterceptor(apiBase): HttpInterceptorFn;
484
+ ```
485
+
486
+ Defined in: [libs/ngx-utils/src/lib/interceptors/api-url-interceptor.ts:6](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/interceptors/api-url-interceptor.ts#L6)
487
+
488
+ #### Parameters
489
+
490
+ <table>
491
+ <thead>
492
+ <tr>
493
+ <th>Parameter</th>
494
+ <th>Type</th>
495
+ </tr>
496
+ </thead>
497
+ <tbody>
498
+ <tr>
499
+ <td>
500
+
501
+ `apiBase`
502
+
503
+ </td>
504
+ <td>
505
+
506
+ `string`
507
+
508
+ </td>
509
+ </tr>
510
+ </tbody>
511
+ </table>
512
+
513
+ #### Returns
514
+
515
+ `HttpInterceptorFn`
516
+
517
+ ---
518
+
519
+ ### authInterceptor()
520
+
521
+ ```ts
522
+ function authInterceptor(redirect, onRedirect?): HttpInterceptorFn;
523
+ ```
524
+
525
+ Defined in: [libs/ngx-utils/src/lib/interceptors/auth.interceptor.ts:24](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/interceptors/auth.interceptor.ts#L24)
526
+
527
+ #### Parameters
528
+
529
+ <table>
530
+ <thead>
531
+ <tr>
532
+ <th>Parameter</th>
533
+ <th>Type</th>
534
+ </tr>
535
+ </thead>
536
+ <tbody>
537
+ <tr>
538
+ <td>
539
+
540
+ `redirect`
541
+
542
+ </td>
543
+ <td>
544
+
545
+ `string`
546
+
547
+ </td>
548
+ </tr>
549
+ <tr>
550
+ <td>
551
+
552
+ `onRedirect?`
553
+
554
+ </td>
555
+ <td>
556
+
557
+ () => `void`
558
+
559
+ </td>
560
+ </tr>
561
+ </tbody>
562
+ </table>
563
+
564
+ #### Returns
565
+
566
+ `HttpInterceptorFn`
567
+
568
+ ---
569
+
570
+ ### utils()
571
+
572
+ ```ts
573
+ function utils(): string;
574
+ ```
575
+
576
+ Defined in: [libs/ngx-utils/src/lib/utils/form.utils.ts:3](https://github.com/hichchidev/hichchi/blob/06777a67b73a055af108a17d7e01cf94eabb6608/libs/ngx-utils/src/lib/utils/form.utils.ts#L3)
577
+
578
+ #### Returns
579
+
580
+ `string`
@@ -1,23 +1,12 @@
1
- import { take, map, tap, catchError, EMPTY, ReplaySubject, throwError, switchMap, filter } from 'rxjs';
2
- import { AuthEndpoint, AuthErrorResponseCode } from '@hichchi/nest-connector/auth';
3
- import { Endpoint, HttpClientErrorStatus } from '@hichchi/nest-connector';
4
1
  import * as i0 from '@angular/core';
5
2
  import { inject, Injectable, computed } from '@angular/core';
6
- import { Router } from '@angular/router';
7
3
  import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
8
4
  import { withStorageSync } from '@angular-architects/ngrx-toolkit';
5
+ import { take, map, tap, catchError, EMPTY, ReplaySubject, throwError, switchMap, filter } from 'rxjs';
9
6
  import { HttpClient } from '@angular/common/http';
10
-
11
- // noinspection JSUnusedGlobalSymbols
12
- function apiUrlInterceptor(apiBase) {
13
- return (req, next) => {
14
- if (req.url.startsWith(apiBase) || req.url.startsWith("http")) {
15
- return next(req);
16
- }
17
- const apiReq = req.clone({ url: `${apiBase}/${req.url}` });
18
- return next(apiReq);
19
- };
20
- }
7
+ import { AuthEndpoint, AuthErrorResponseCode } from '@hichchi/nest-connector/auth';
8
+ import { Endpoint, HttpClientErrorStatus } from '@hichchi/nest-connector';
9
+ import { Router } from '@angular/router';
21
10
 
22
11
  // noinspection JSUnusedGlobalSymbols
23
12
  class AuthService {
@@ -115,6 +104,22 @@ const AuthState = signalStore({ providedIn: "root" }, withState(initialState), w
115
104
  },
116
105
  })));
117
106
 
107
+ // noinspection JSUnusedGlobalSymbols
108
+ function utils() {
109
+ return "Hello World";
110
+ }
111
+
112
+ // noinspection JSUnusedGlobalSymbols
113
+ function apiUrlInterceptor(apiBase) {
114
+ return (req, next) => {
115
+ if (req.url.startsWith(apiBase) || req.url.startsWith("http")) {
116
+ return next(req);
117
+ }
118
+ const apiReq = req.clone({ url: `${apiBase}/${req.url}` });
119
+ return next(apiReq);
120
+ };
121
+ }
122
+
118
123
  const SKIPPED_ERRORS = [
119
124
  AuthErrorResponseCode.AUTH_401_EXPIRED_TOKEN,
120
125
  AuthErrorResponseCode.AUTH_401_INVALID_TOKEN,
@@ -192,11 +197,6 @@ function authInterceptor(redirect, onRedirect) {
192
197
  };
193
198
  }
194
199
 
195
- // noinspection JSUnusedGlobalSymbols
196
- function utils() {
197
- return "Hello World";
198
- }
199
-
200
200
  /**
201
201
  * Generated bundle index. Do not edit.
202
202
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hichchi-ngx-utils.mjs","sources":["../../../../libs/ngx-utils/src/lib/interceptors/api-url-interceptor.ts","../../../../libs/ngx-utils/src/lib/services/auth.service.ts","../../../../libs/ngx-utils/src/lib/state/auth.state.ts","../../../../libs/ngx-utils/src/lib/interceptors/auth.interceptor.ts","../../../../libs/ngx-utils/src/lib/utils/form.utils.ts","../../../../libs/ngx-utils/src/hichchi-ngx-utils.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nimport { HttpEvent, HttpHandlerFn, HttpInterceptorFn, HttpRequest } from \"@angular/common/http\";\nimport { Observable } from \"rxjs\";\n\nexport function apiUrlInterceptor(apiBase: string): HttpInterceptorFn {\n return (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n if (req.url.startsWith(apiBase) || req.url.startsWith(\"http\")) {\n return next(req);\n }\n\n const apiReq = req.clone({ url: `${apiBase}/${req.url}` });\n\n return next(apiReq);\n };\n}\n","// noinspection JSUnusedGlobalSymbols\n\nimport { HttpClient } from \"@angular/common/http\";\nimport { inject, Injectable } from \"@angular/core\";\nimport { map, Observable, take } from \"rxjs\";\nimport {\n AccessToken,\n AuthEndpoint,\n AuthResponse,\n RefreshToken,\n SignInBody,\n SignUpBody,\n TokenResponse,\n User,\n} from \"@hichchi/nest-connector/auth\";\nimport { Endpoint, SuccessResponse } from \"@hichchi/nest-connector\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AuthService {\n http = inject(HttpClient);\n\n signIn(dto: SignInBody): Observable<AuthResponse> {\n return this.http.post<AuthResponse>(`${Endpoint.AUTH}/${AuthEndpoint.SIGN_IN}`, dto).pipe(\n take(1),\n map(res => ({\n ...res,\n accessTokenExpiresOn: new Date(res.accessTokenExpiresOn),\n refreshTokenExpiresOn: new Date(res.accessTokenExpiresOn),\n })),\n );\n }\n\n authenticateSocial(accessToken: AccessToken): Observable<AuthResponse> {\n return this.http\n .post<AuthResponse>(`${Endpoint.AUTH}/${AuthEndpoint.AUTHENTICATE_SOCIAL}`, {\n accessToken,\n })\n .pipe(\n take(1),\n map(res => ({\n ...res,\n accessTokenExpiresOn: new Date(res.accessTokenExpiresOn),\n refreshTokenExpiresOn: new Date(res.accessTokenExpiresOn),\n })),\n );\n }\n\n signUp(dto: SignUpBody): Observable<User> {\n return this.http.post<User>(`${Endpoint.AUTH}/${AuthEndpoint.SIGN_UP}`, dto).pipe(take(1));\n }\n\n refreshToken(refreshToken: RefreshToken): Observable<TokenResponse> {\n return this.http\n .post<AuthResponse>(`${Endpoint.AUTH}/${AuthEndpoint.REFRESH_TOKEN}`, {\n refreshToken,\n })\n .pipe(take(1));\n }\n\n signOut(): Observable<SuccessResponse | null> {\n // this.app.startSpinner();\n return this.http.post<SuccessResponse>(`${Endpoint.AUTH}/${AuthEndpoint.SIGN_OUT}`, {}).pipe(take(1));\n }\n}\n","/* eslint-disable */\n// noinspection JSUnusedGlobalSymbols\n\nimport { computed, inject } from \"@angular/core\";\nimport { patchState, signalStore, withComputed, withMethods, withState } from \"@ngrx/signals\";\nimport { withStorageSync } from \"@angular-architects/ngrx-toolkit\";\nimport { catchError, EMPTY, Observable, tap } from \"rxjs\";\nimport { AccessToken, AuthResponse, RefreshToken, SignInBody, TokenResponse, User } from \"@hichchi/nest-connector/auth\";\nimport { SuccessResponse } from \"@hichchi/nest-connector\";\nimport { AuthService } from \"../services\";\nimport { Router } from \"@angular/router\";\n\nexport interface AuthStateModel {\n signedIn: boolean;\n sessionId: string | null;\n user: User | null;\n accessToken: AccessToken | null;\n refreshToken: RefreshToken | null;\n accessTokenExpiresOn: Date | null;\n refreshTokenExpiresOn: Date | null;\n}\n\nconst initialState: AuthStateModel = {\n signedIn: false,\n sessionId: null,\n user: null,\n accessToken: null,\n refreshToken: null,\n accessTokenExpiresOn: null,\n refreshTokenExpiresOn: null,\n};\n\nexport const AuthState = signalStore(\n { providedIn: \"root\" },\n withState<AuthStateModel>(initialState),\n withStorageSync({ key: \"auth\" }),\n withComputed(({ accessToken, user }) => ({\n hasAccessToken: computed(() => Boolean(accessToken())),\n role: computed(() => user()?.role),\n emailVerified: computed((): boolean => Boolean(user()?.emailVerified)),\n })),\n withMethods((store, router = inject(Router), authService = inject(AuthService)) => ({\n reset(): void {\n patchState(store, initialState);\n },\n setTokens(tokenResponse: TokenResponse): void {\n const { accessToken, refreshToken, accessTokenExpiresOn, refreshTokenExpiresOn } = tokenResponse;\n patchState(store, state => ({\n ...state,\n accessToken,\n refreshToken,\n accessTokenExpiresOn,\n refreshTokenExpiresOn,\n }));\n },\n signIn(signInBody: SignInBody, redirect: string | ((res: AuthResponse) => string)): Observable<AuthResponse> {\n return authService.signIn(signInBody).pipe(\n tap((res: AuthResponse): void => {\n patchState(store, { ...res, signedIn: true });\n void router.navigateByUrl(typeof redirect === \"string\" ? redirect: redirect(res));\n }),\n );\n },\n authenticateSocial: (\n accessToken: AccessToken,\n redirect: string | ((res: AuthResponse) => string),\n ): Observable<AuthResponse> => {\n return authService.authenticateSocial(accessToken).pipe(\n tap((res: AuthResponse): void => {\n patchState(store, { ...res, signedIn: Boolean(res.user.role) });\n void router.navigateByUrl(typeof redirect === \"string\" ? redirect: redirect(res));\n }),\n catchError(() => EMPTY),\n );\n },\n signOut: (redirect: string): Observable<SuccessResponse | null> => {\n return authService.signOut().pipe(\n tap({\n next: (): void => {\n patchState(store, initialState);\n void router.navigateByUrl(redirect);\n },\n }),\n catchError(() => EMPTY),\n );\n },\n })),\n);\n","import { HttpEvent, HttpHandlerFn, HttpInterceptorFn, HttpRequest } from \"@angular/common/http\";\nimport { catchError, filter, Observable, ReplaySubject, switchMap, take, throwError } from \"rxjs\";\nimport { AccessToken, AuthEndpoint, AuthErrorResponseCode, TokenResponse } from \"@hichchi/nest-connector/auth\";\nimport { Endpoint, ErrorResponseCode, HttpClientErrorStatus } from \"@hichchi/nest-connector\";\nimport { inject } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { HttpError } from \"../interfaces\";\nimport { AuthState } from \"../state\";\nimport { AuthService } from \"../services\";\n\nexport const SKIPPED_ERRORS: ErrorResponseCode[] = [\n AuthErrorResponseCode.AUTH_401_EXPIRED_TOKEN,\n AuthErrorResponseCode.AUTH_401_INVALID_TOKEN,\n AuthErrorResponseCode.AUTH_401_NOT_LOGGED_IN,\n];\n\nlet refreshingInProgress = false;\n\nconst isRefreshTokenReq = (req: HttpRequest<unknown>): boolean =>\n req.url.includes(`${Endpoint.AUTH}/${AuthEndpoint.REFRESH_TOKEN}`);\n\nlet tokenSubject: ReplaySubject<AccessToken | null> = new ReplaySubject<AccessToken | null>(1);\n\nexport function authInterceptor(redirect: string, onRedirect?: () => void): HttpInterceptorFn {\n return (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n const authState = inject(AuthState);\n const authService = inject(AuthService);\n const router = inject(Router);\n\n const setAccessToken = (req: HttpRequest<unknown>, accessToken: AccessToken): HttpRequest<unknown> => {\n return req.clone({\n headers: req.headers.set(\"Authorization\", \"Bearer \" + accessToken),\n });\n };\n\n const gotoSignIn = (): void => {\n onRedirect?.();\n authState.reset();\n // eslint-disable-next-line no-void\n void router.navigateByUrl(redirect);\n };\n\n const refreshToken = (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n if (!refreshingInProgress) {\n refreshingInProgress = true;\n tokenSubject.next(null);\n\n const refreshToken = authState.refreshToken();\n\n if (!refreshToken) {\n refreshingInProgress = false;\n gotoSignIn();\n return throwError(() => new Error(\"Refresh token not found.\"));\n }\n\n return authService.refreshToken(refreshToken).pipe(\n switchMap((tokenResponse: TokenResponse) => {\n authState.setTokens(tokenResponse);\n tokenSubject.next(tokenResponse.accessToken);\n tokenSubject.complete();\n tokenSubject = new ReplaySubject<AccessToken | null>(1);\n refreshingInProgress = false;\n return next(setAccessToken(req, tokenResponse.accessToken));\n }),\n catchError((error: HttpError) => {\n refreshingInProgress = false;\n tokenSubject.error(error);\n tokenSubject.complete();\n tokenSubject = new ReplaySubject<AccessToken | null>(1);\n gotoSignIn();\n return throwError(() => error);\n }),\n );\n }\n\n return tokenSubject.pipe(\n filter(result => result !== null),\n take(1),\n switchMap(token => {\n return next(setAccessToken(req, token));\n }),\n );\n };\n\n const handleRequest = (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n return next(req).pipe(\n catchError((error: HttpError) => {\n if (\n error.status === HttpClientErrorStatus.UNAUTHORIZED &&\n error.error?.code &&\n SKIPPED_ERRORS.includes(error.error?.code) &&\n !isRefreshTokenReq(req)\n ) {\n if (authState.signedIn()) {\n return refreshToken(req, next);\n }\n }\n return throwError(() => error);\n }),\n );\n };\n\n if (authState.accessToken()) {\n const tokenizedRequest = req.clone({\n headers: req.headers.set(\"Authorization\", \"Bearer \" + authState.accessToken()),\n });\n return handleRequest(tokenizedRequest, next);\n }\n return handleRequest(req, next);\n };\n}\n","// noinspection JSUnusedGlobalSymbols\n\nexport function utils(): string {\n return \"Hello World\";\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":"hichchi-ngx-utils.mjs","sources":["../../../../libs/ngx-utils/src/lib/services/auth.service.ts","../../../../libs/ngx-utils/src/lib/state/auth.state.ts","../../../../libs/ngx-utils/src/lib/utils/form.utils.ts","../../../../libs/ngx-utils/src/lib/interceptors/api-url-interceptor.ts","../../../../libs/ngx-utils/src/lib/interceptors/auth.interceptor.ts","../../../../libs/ngx-utils/src/hichchi-ngx-utils.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nimport { HttpClient } from \"@angular/common/http\";\nimport { inject, Injectable } from \"@angular/core\";\nimport { map, Observable, take } from \"rxjs\";\nimport {\n AccessToken,\n AuthEndpoint,\n AuthResponse,\n RefreshToken,\n SignInBody,\n SignUpBody,\n TokenResponse,\n User,\n} from \"@hichchi/nest-connector/auth\";\nimport { Endpoint, SuccessResponse } from \"@hichchi/nest-connector\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AuthService {\n http = inject(HttpClient);\n\n signIn(dto: SignInBody): Observable<AuthResponse> {\n return this.http.post<AuthResponse>(`${Endpoint.AUTH}/${AuthEndpoint.SIGN_IN}`, dto).pipe(\n take(1),\n map(res => ({\n ...res,\n accessTokenExpiresOn: new Date(res.accessTokenExpiresOn),\n refreshTokenExpiresOn: new Date(res.accessTokenExpiresOn),\n })),\n );\n }\n\n authenticateSocial(accessToken: AccessToken): Observable<AuthResponse> {\n return this.http\n .post<AuthResponse>(`${Endpoint.AUTH}/${AuthEndpoint.AUTHENTICATE_SOCIAL}`, {\n accessToken,\n })\n .pipe(\n take(1),\n map(res => ({\n ...res,\n accessTokenExpiresOn: new Date(res.accessTokenExpiresOn),\n refreshTokenExpiresOn: new Date(res.accessTokenExpiresOn),\n })),\n );\n }\n\n signUp(dto: SignUpBody): Observable<User> {\n return this.http.post<User>(`${Endpoint.AUTH}/${AuthEndpoint.SIGN_UP}`, dto).pipe(take(1));\n }\n\n refreshToken(refreshToken: RefreshToken): Observable<TokenResponse> {\n return this.http\n .post<AuthResponse>(`${Endpoint.AUTH}/${AuthEndpoint.REFRESH_TOKEN}`, {\n refreshToken,\n })\n .pipe(take(1));\n }\n\n signOut(): Observable<SuccessResponse | null> {\n // this.app.startSpinner();\n return this.http.post<SuccessResponse>(`${Endpoint.AUTH}/${AuthEndpoint.SIGN_OUT}`, {}).pipe(take(1));\n }\n}\n","/* eslint-disable */\n// noinspection JSUnusedGlobalSymbols\n\nimport { computed, inject } from \"@angular/core\";\nimport { patchState, signalStore, withComputed, withMethods, withState } from \"@ngrx/signals\";\nimport { withStorageSync } from \"@angular-architects/ngrx-toolkit\";\nimport { catchError, EMPTY, Observable, tap } from \"rxjs\";\nimport { AccessToken, AuthResponse, RefreshToken, SignInBody, TokenResponse, User } from \"@hichchi/nest-connector/auth\";\nimport { SuccessResponse } from \"@hichchi/nest-connector\";\nimport { AuthService } from \"../services\";\nimport { Router } from \"@angular/router\";\n\nexport interface AuthStateModel {\n signedIn: boolean;\n sessionId: string | null;\n user: User | null;\n accessToken: AccessToken | null;\n refreshToken: RefreshToken | null;\n accessTokenExpiresOn: Date | null;\n refreshTokenExpiresOn: Date | null;\n}\n\nconst initialState: AuthStateModel = {\n signedIn: false,\n sessionId: null,\n user: null,\n accessToken: null,\n refreshToken: null,\n accessTokenExpiresOn: null,\n refreshTokenExpiresOn: null,\n};\n\nexport const AuthState = signalStore(\n { providedIn: \"root\" },\n withState<AuthStateModel>(initialState),\n withStorageSync({ key: \"auth\" }),\n withComputed(({ accessToken, user }) => ({\n hasAccessToken: computed(() => Boolean(accessToken())),\n role: computed(() => user()?.role),\n emailVerified: computed((): boolean => Boolean(user()?.emailVerified)),\n })),\n withMethods((store, router = inject(Router), authService = inject(AuthService)) => ({\n reset(): void {\n patchState(store, initialState);\n },\n setTokens(tokenResponse: TokenResponse): void {\n const { accessToken, refreshToken, accessTokenExpiresOn, refreshTokenExpiresOn } = tokenResponse;\n patchState(store, state => ({\n ...state,\n accessToken,\n refreshToken,\n accessTokenExpiresOn,\n refreshTokenExpiresOn,\n }));\n },\n signIn(signInBody: SignInBody, redirect: string | ((res: AuthResponse) => string)): Observable<AuthResponse> {\n return authService.signIn(signInBody).pipe(\n tap((res: AuthResponse): void => {\n patchState(store, { ...res, signedIn: true });\n void router.navigateByUrl(typeof redirect === \"string\" ? redirect: redirect(res));\n }),\n );\n },\n authenticateSocial: (\n accessToken: AccessToken,\n redirect: string | ((res: AuthResponse) => string),\n ): Observable<AuthResponse> => {\n return authService.authenticateSocial(accessToken).pipe(\n tap((res: AuthResponse): void => {\n patchState(store, { ...res, signedIn: Boolean(res.user.role) });\n void router.navigateByUrl(typeof redirect === \"string\" ? redirect: redirect(res));\n }),\n catchError(() => EMPTY),\n );\n },\n signOut: (redirect: string): Observable<SuccessResponse | null> => {\n return authService.signOut().pipe(\n tap({\n next: (): void => {\n patchState(store, initialState);\n void router.navigateByUrl(redirect);\n },\n }),\n catchError(() => EMPTY),\n );\n },\n })),\n);\n","// noinspection JSUnusedGlobalSymbols\n\nexport function utils(): string {\n return \"Hello World\";\n}\n","// noinspection JSUnusedGlobalSymbols\n\nimport { HttpEvent, HttpHandlerFn, HttpInterceptorFn, HttpRequest } from \"@angular/common/http\";\nimport { Observable } from \"rxjs\";\n\nexport function apiUrlInterceptor(apiBase: string): HttpInterceptorFn {\n return (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n if (req.url.startsWith(apiBase) || req.url.startsWith(\"http\")) {\n return next(req);\n }\n\n const apiReq = req.clone({ url: `${apiBase}/${req.url}` });\n\n return next(apiReq);\n };\n}\n","import { HttpEvent, HttpHandlerFn, HttpInterceptorFn, HttpRequest } from \"@angular/common/http\";\nimport { catchError, filter, Observable, ReplaySubject, switchMap, take, throwError } from \"rxjs\";\nimport { AccessToken, AuthEndpoint, AuthErrorResponseCode, TokenResponse } from \"@hichchi/nest-connector/auth\";\nimport { Endpoint, ErrorResponseCode, HttpClientErrorStatus } from \"@hichchi/nest-connector\";\nimport { inject } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { HttpError } from \"../interfaces\";\nimport { AuthState } from \"../state\";\nimport { AuthService } from \"../services\";\n\nexport const SKIPPED_ERRORS: ErrorResponseCode[] = [\n AuthErrorResponseCode.AUTH_401_EXPIRED_TOKEN,\n AuthErrorResponseCode.AUTH_401_INVALID_TOKEN,\n AuthErrorResponseCode.AUTH_401_NOT_LOGGED_IN,\n];\n\nlet refreshingInProgress = false;\n\nconst isRefreshTokenReq = (req: HttpRequest<unknown>): boolean =>\n req.url.includes(`${Endpoint.AUTH}/${AuthEndpoint.REFRESH_TOKEN}`);\n\nlet tokenSubject: ReplaySubject<AccessToken | null> = new ReplaySubject<AccessToken | null>(1);\n\nexport function authInterceptor(redirect: string, onRedirect?: () => void): HttpInterceptorFn {\n return (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n const authState = inject(AuthState);\n const authService = inject(AuthService);\n const router = inject(Router);\n\n const setAccessToken = (req: HttpRequest<unknown>, accessToken: AccessToken): HttpRequest<unknown> => {\n return req.clone({\n headers: req.headers.set(\"Authorization\", \"Bearer \" + accessToken),\n });\n };\n\n const gotoSignIn = (): void => {\n onRedirect?.();\n authState.reset();\n // eslint-disable-next-line no-void\n void router.navigateByUrl(redirect);\n };\n\n const refreshToken = (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n if (!refreshingInProgress) {\n refreshingInProgress = true;\n tokenSubject.next(null);\n\n const refreshToken = authState.refreshToken();\n\n if (!refreshToken) {\n refreshingInProgress = false;\n gotoSignIn();\n return throwError(() => new Error(\"Refresh token not found.\"));\n }\n\n return authService.refreshToken(refreshToken).pipe(\n switchMap((tokenResponse: TokenResponse) => {\n authState.setTokens(tokenResponse);\n tokenSubject.next(tokenResponse.accessToken);\n tokenSubject.complete();\n tokenSubject = new ReplaySubject<AccessToken | null>(1);\n refreshingInProgress = false;\n return next(setAccessToken(req, tokenResponse.accessToken));\n }),\n catchError((error: HttpError) => {\n refreshingInProgress = false;\n tokenSubject.error(error);\n tokenSubject.complete();\n tokenSubject = new ReplaySubject<AccessToken | null>(1);\n gotoSignIn();\n return throwError(() => error);\n }),\n );\n }\n\n return tokenSubject.pipe(\n filter(result => result !== null),\n take(1),\n switchMap(token => {\n return next(setAccessToken(req, token));\n }),\n );\n };\n\n const handleRequest = (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n return next(req).pipe(\n catchError((error: HttpError) => {\n if (\n error.status === HttpClientErrorStatus.UNAUTHORIZED &&\n error.error?.code &&\n SKIPPED_ERRORS.includes(error.error?.code) &&\n !isRefreshTokenReq(req)\n ) {\n if (authState.signedIn()) {\n return refreshToken(req, next);\n }\n }\n return throwError(() => error);\n }),\n );\n };\n\n if (authState.accessToken()) {\n const tokenizedRequest = req.clone({\n headers: req.headers.set(\"Authorization\", \"Bearer \" + authState.accessToken()),\n });\n return handleRequest(tokenizedRequest, next);\n }\n return handleRequest(req, next);\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1 @@
1
- export * from "./lib/interceptors";
2
- export * from "./lib/interfaces";
3
- export * from "./lib/services";
4
- export * from "./lib/state";
5
- export * from "./lib/utils";
1
+ export * from "./lib";
package/lib/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from "./state";
2
+ export * from "./utils";
3
+ export * from "./services";
4
+ export * from "./interfaces";
5
+ export * from "./interceptors";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hichchi/ngx-utils",
3
- "version": "0.0.1-alpha.0",
3
+ "version": "0.0.1-alpha.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },