@albi_scando/as-user-lib 0.0.1-rc8 → 0.0.1-rc9
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.
|
@@ -6,6 +6,7 @@ import { defaultUserLibSetup } from '../../default/default';
|
|
|
6
6
|
import { defaultUser } from '../../default/default-user';
|
|
7
7
|
// Constants
|
|
8
8
|
import { observableEmpty$, stringEmpty } from '@albi_scando/as-constants-lib';
|
|
9
|
+
import { LoggerService } from '@albi_scando/as-log-lib';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
/**
|
|
11
12
|
*
|
|
@@ -25,6 +26,10 @@ export class UserService {
|
|
|
25
26
|
* {@link HttpService}
|
|
26
27
|
*/
|
|
27
28
|
this._httpService = inject(HttpService);
|
|
29
|
+
/**
|
|
30
|
+
* {@link LoggerService}
|
|
31
|
+
*/
|
|
32
|
+
this._loggerService = inject(LoggerService);
|
|
28
33
|
/**
|
|
29
34
|
* PATCH user data api url
|
|
30
35
|
*/
|
|
@@ -68,6 +73,7 @@ export class UserService {
|
|
|
68
73
|
syncUserData$() {
|
|
69
74
|
return this.getUserData$().pipe(switchMap((user) => {
|
|
70
75
|
this.user = user;
|
|
76
|
+
this._loggerService.info('User info updated', this.user);
|
|
71
77
|
return observableEmpty$;
|
|
72
78
|
}));
|
|
73
79
|
}
|
|
@@ -90,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
90
96
|
providedIn: 'root',
|
|
91
97
|
}]
|
|
92
98
|
}], ctorParameters: () => [] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXMtdXNlci1saWIvc3JjL2xpYi9zZXJ2aWNlcy91c2VyL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsU0FBUztBQUNULE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxZQUFZO0FBQ1osT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBVTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFeEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQTBCdEI7Ozs7T0FJRztJQUNIO1FBOUJBOztXQUVHO1FBQ0ksU0FBSSxHQUFTLFdBQVcsQ0FBQztRQUVoQzs7V0FFRztRQUNLLGlCQUFZLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV4RDs7V0FFRztRQUNLLG1CQUFjLEdBQWtCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU5RDs7V0FFRztRQUNLLHlCQUFvQixHQUFXLFdBQVcsQ0FBQztRQUVuRDs7V0FFRztRQUNLLHVCQUFrQixHQUFXLFdBQVcsQ0FBQztRQVEvQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQTZCO1FBQ3pDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixJQUFJLFdBQVcsQ0FBQztRQUMxRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsSUFBSSxXQUFXLENBQUM7UUFFdEUsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjLENBQUMsSUFBbUI7UUFDdkMsTUFBTSxXQUFXLEdBQVU7WUFDekIsR0FBRyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDOUIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO1FBQ0YsTUFBTSxlQUFlLEdBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUMxQixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sZUFBZSxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUM3QixTQUFTLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNqQixNQUFNLFdBQVcsR0FBUTtZQUN2QixHQUFHLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUM3QixDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQXFCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7OEdBMUZVLFdBQVc7a0hBQVgsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnQGFsYmlfc2NhbmRvL2FzLWh0dHAtbGliJztcclxuXHJcbi8vIEFzc2V0c1xyXG5pbXBvcnQgeyBkZWZhdWx0VXNlckxpYlNldHVwIH0gZnJvbSAnLi4vLi4vZGVmYXVsdC9kZWZhdWx0JztcclxuaW1wb3J0IHsgZGVmYXVsdFVzZXIgfSBmcm9tICcuLi8uLi9kZWZhdWx0L2RlZmF1bHQtdXNlcic7XHJcblxyXG4vLyBDb25zdGFudHNcclxuaW1wb3J0IHsgb2JzZXJ2YWJsZUVtcHR5JCwgc3RyaW5nRW1wdHkgfSBmcm9tICdAYWxiaV9zY2FuZG8vYXMtY29uc3RhbnRzLWxpYic7XHJcblxyXG4vLyBFbnVtc1xyXG5cclxuLy8gSW50ZXJmYWNlc1xyXG5pbXBvcnQgeyBQYXRjaCB9IGZyb20gJ0BhbGJpX3NjYW5kby9hcy1odHRwLWxpYi9saWIvbW9kZWxzL3BhdGNoJztcclxuaW1wb3J0IHsgR2V0IH0gZnJvbSAnQGFsYmlfc2NhbmRvL2FzLWh0dHAtbGliL2xpYi9tb2RlbHMvZ2V0JztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdXNlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJVXNlclNlcnZpY2UgfSBmcm9tICcuL3VzZXIuc2VydmljZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJVXNlckxpYlNldHVwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zZXR1cC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnQGFsYmlfc2NhbmRvL2FzLWxvZy1saWInO1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2UgaW1wbGVtZW50cyBJVXNlclNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIHtAbGluayBJVXNlclNlcnZpY2UudXNlcn1cclxuICAgKi9cclxuICBwdWJsaWMgdXNlcjogVXNlciA9IGRlZmF1bHRVc2VyO1xyXG5cclxuICAvKipcclxuICAgKiB7QGxpbmsgSHR0cFNlcnZpY2V9XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlID0gaW5qZWN0KEh0dHBTZXJ2aWNlKTtcclxuXHJcbiAgLyoqXHJcbiAgICoge0BsaW5rIExvZ2dlclNlcnZpY2V9XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSA9IGluamVjdChMb2dnZXJTZXJ2aWNlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUEFUQ0ggdXNlciBkYXRhIGFwaSB1cmxcclxuICAgKi9cclxuICBwcml2YXRlIF9wYXRjaFVzZXJEYXRhQVBJVXJsOiBzdHJpbmcgPSBzdHJpbmdFbXB0eTtcclxuXHJcbiAgLyoqXHJcbiAgICogR0VUIHVzZXIgZGF0YSBhcGkgdXJsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZ2V0VXNlckRhdGFBUElVcmw6IHN0cmluZyA9IHN0cmluZ0VtcHR5O1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBjb25zdHJ1Y3RvclxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuc2V0dXAkKGRlZmF1bHRVc2VyTGliU2V0dXApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICoge0BsaW5rIElVc2VyU2VydmljZS5zZXR1cCR9XHJcbiAgICovXHJcbiAgcHVibGljIHNldHVwJChzZXR1cDogUGFydGlhbDxJVXNlckxpYlNldHVwPik6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgdGhpcy5fcGF0Y2hVc2VyRGF0YUFQSVVybCA9IHNldHVwLmFwaT8ucGF0Y2hVc2VyRGF0YUFQSVVybCB8fCBzdHJpbmdFbXB0eTtcclxuICAgIHRoaXMuX2dldFVzZXJEYXRhQVBJVXJsID0gc2V0dXAuYXBpPy5nZXRVc2VyRGF0YUFQSVVybCB8fCBzdHJpbmdFbXB0eTtcclxuXHJcbiAgICByZXR1cm4gb2JzZXJ2YWJsZUVtcHR5JDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHtAbGluayBJVXNlclNlcnZpY2UucGF0Y2hVc2VyRGF0YSR9XHJcbiAgICovXHJcbiAgcHVibGljIHBhdGNoVXNlckRhdGEkKHVzZXI6IFBhcnRpYWw8VXNlcj4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGh0dHBSZXF1ZXN0OiBQYXRjaCA9IHtcclxuICAgICAgdXJsOiB0aGlzLl9wYXRjaFVzZXJEYXRhQVBJVXJsLFxyXG4gICAgICBib2R5OiB1c2VyLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHVwZGF0ZVVzZXJEYXRhJDogT2JzZXJ2YWJsZTx2b2lkPiA9XHJcbiAgICAgIHRoaXMuX2h0dHBTZXJ2aWNlLnBhdGNoKGh0dHBSZXF1ZXN0KTtcclxuICAgIHJldHVybiBvYnNlcnZhYmxlRW1wdHkkLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKGh0dHBSZXF1ZXN0LnVybCkge1xyXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZVVzZXJEYXRhJDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy51c2VyID0geyAuLi50aGlzLnVzZXIsIC4uLnVzZXIgfTtcclxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlRW1wdHkkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnN5bmNVc2VyRGF0YSQoKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiB7QGxpbmsgSVVzZXJTZXJ2aWNlLnN5bmNVc2VyRGF0YSR9XHJcbiAgICovXHJcbiAgcHVibGljIHN5bmNVc2VyRGF0YSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyRGF0YSQoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKHVzZXI6IFVzZXIpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xyXG4gICAgICAgIHRoaXMuX2xvZ2dlclNlcnZpY2UuaW5mbygnVXNlciBpbmZvIHVwZGF0ZWQnLCB0aGlzLnVzZXIpO1xyXG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlRW1wdHkkO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHtAbGluayBJVXNlclNlcnZpY2UuZ2V0VXNlckRhdGEkfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRVc2VyRGF0YSQoKTogT2JzZXJ2YWJsZTxVc2VyPiB7XHJcbiAgICBjb25zdCBodHRwUmVxdWVzdDogR2V0ID0ge1xyXG4gICAgICB1cmw6IHRoaXMuX2dldFVzZXJEYXRhQVBJVXJsLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGdldFVzZXJEYXRhJDogT2JzZXJ2YWJsZTxVc2VyPiA9IHRoaXMuX2h0dHBTZXJ2aWNlLmdldChodHRwUmVxdWVzdCk7XHJcbiAgICByZXR1cm4gaHR0cFJlcXVlc3QudXJsID8gZ2V0VXNlckRhdGEkIDogb2YodGhpcy51c2VyKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -3,6 +3,7 @@ import { inject, Injectable } from '@angular/core';
|
|
|
3
3
|
import { switchMap, of } from 'rxjs';
|
|
4
4
|
import { HttpService } from '@albi_scando/as-http-lib';
|
|
5
5
|
import { stringEmpty, observableEmpty$ } from '@albi_scando/as-constants-lib';
|
|
6
|
+
import { LoggerService } from '@albi_scando/as-log-lib';
|
|
6
7
|
|
|
7
8
|
const defaultUserLibSetup = {
|
|
8
9
|
api: {
|
|
@@ -37,6 +38,10 @@ class UserService {
|
|
|
37
38
|
* {@link HttpService}
|
|
38
39
|
*/
|
|
39
40
|
this._httpService = inject(HttpService);
|
|
41
|
+
/**
|
|
42
|
+
* {@link LoggerService}
|
|
43
|
+
*/
|
|
44
|
+
this._loggerService = inject(LoggerService);
|
|
40
45
|
/**
|
|
41
46
|
* PATCH user data api url
|
|
42
47
|
*/
|
|
@@ -80,6 +85,7 @@ class UserService {
|
|
|
80
85
|
syncUserData$() {
|
|
81
86
|
return this.getUserData$().pipe(switchMap((user) => {
|
|
82
87
|
this.user = user;
|
|
88
|
+
this._loggerService.info('User info updated', this.user);
|
|
83
89
|
return observableEmpty$;
|
|
84
90
|
}));
|
|
85
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"albi_scando-as-user-lib.mjs","sources":["../../../projects/as-user-lib/src/lib/default/default.ts","../../../projects/as-user-lib/src/lib/default/default-user.ts","../../../projects/as-user-lib/src/lib/services/user/user.service.ts","../../../projects/as-user-lib/src/public-api.ts","../../../projects/as-user-lib/src/albi_scando-as-user-lib.ts"],"sourcesContent":["import { stringEmpty } from '@albi_scando/as-constants-lib';\r\n\r\n// interfaces\r\nimport { IUserLibSetup } from '../interfaces/setup.interface';\r\n\r\nexport const defaultUserLibSetup: IUserLibSetup = {\r\n api: {\r\n patchUserDataAPIUrl: stringEmpty,\r\n getUserDataAPIUrl: stringEmpty,\r\n },\r\n};\r\n","// enums\r\nimport { USER_LEVELS } from '../enums/user-levels.enum';\r\n\r\n// interface\r\nimport { User } from '../interfaces/user.interface';\r\n\r\nexport const DEFAULT_USERNAME: string = 'guest';\r\nexport const DEFAULT_LEVEL: USER_LEVELS = USER_LEVELS.GUEST;\r\n\r\nexport const defaultUser: User = {\r\n username: DEFAULT_USERNAME,\r\n level: DEFAULT_LEVEL as USER_LEVELS,\r\n language: undefined,\r\n};\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Observable, of, switchMap } from 'rxjs';\r\n\r\nimport { HttpService } from '@albi_scando/as-http-lib';\r\n\r\n// Assets\r\nimport { defaultUserLibSetup } from '../../default/default';\r\nimport { defaultUser } from '../../default/default-user';\r\n\r\n// Constants\r\nimport { observableEmpty$, stringEmpty } from '@albi_scando/as-constants-lib';\r\n\r\n// Enums\r\n\r\n// Interfaces\r\nimport { Patch } from '@albi_scando/as-http-lib/lib/models/patch';\r\nimport { Get } from '@albi_scando/as-http-lib/lib/models/get';\r\nimport { User } from '../../interfaces/user.interface';\r\nimport { IUserService } from './user.service.interface';\r\nimport { IUserLibSetup } from '../../interfaces/setup.interface';\r\n\r\n/**\r\n *\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserService implements IUserService {\r\n /**\r\n * {@link IUserService.user}\r\n */\r\n public user: User = defaultUser;\r\n\r\n /**\r\n * {@link HttpService}\r\n */\r\n private _httpService: HttpService = inject(HttpService);\r\n\r\n /**\r\n * PATCH user data api url\r\n */\r\n private _patchUserDataAPIUrl: string = stringEmpty;\r\n\r\n /**\r\n * GET user data api url\r\n */\r\n private _getUserDataAPIUrl: string = stringEmpty;\r\n\r\n /**\r\n * Constructor\r\n * @constructor\r\n * @ignore\r\n */\r\n constructor() {\r\n this.setup$(defaultUserLibSetup).subscribe();\r\n }\r\n\r\n /**\r\n * {@link IUserService.setup$}\r\n */\r\n public setup$(setup: Partial<IUserLibSetup>): Observable<void> {\r\n this._patchUserDataAPIUrl = setup.api?.patchUserDataAPIUrl || stringEmpty;\r\n this._getUserDataAPIUrl = setup.api?.getUserDataAPIUrl || stringEmpty;\r\n\r\n return observableEmpty$;\r\n }\r\n\r\n /**\r\n * {@link IUserService.patchUserData$}\r\n */\r\n public patchUserData$(user: Partial<User>): Observable<void> {\r\n const httpRequest: Patch = {\r\n url: this._patchUserDataAPIUrl,\r\n body: user,\r\n };\r\n const updateUserData$: Observable<void> =\r\n this._httpService.patch(httpRequest);\r\n return observableEmpty$.pipe(\r\n switchMap(() => {\r\n if (httpRequest.url) {\r\n return updateUserData$;\r\n } else {\r\n this.user = { ...this.user, ...user };\r\n return observableEmpty$;\r\n }\r\n }),\r\n switchMap(() => this.syncUserData$())\r\n );\r\n }\r\n\r\n /**\r\n * {@link IUserService.syncUserData$}\r\n */\r\n public syncUserData$(): Observable<void> {\r\n return this.getUserData$().pipe(\r\n switchMap((user: User) => {\r\n this.user = user;\r\n return observableEmpty$;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * {@link IUserService.getUserData$}\r\n */\r\n public getUserData$(): Observable<User> {\r\n const httpRequest: Get = {\r\n url: this._getUserDataAPIUrl,\r\n };\r\n const getUserData$: Observable<User> = this._httpService.get(httpRequest);\r\n return httpRequest.url ? getUserData$ : of(this.user);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of as-user-lib\r\n */\r\n\r\n// enums\r\n\r\n// services\r\nexport * from './lib/services/user/user.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"albi_scando-as-user-lib.mjs","sources":["../../../projects/as-user-lib/src/lib/default/default.ts","../../../projects/as-user-lib/src/lib/default/default-user.ts","../../../projects/as-user-lib/src/lib/services/user/user.service.ts","../../../projects/as-user-lib/src/public-api.ts","../../../projects/as-user-lib/src/albi_scando-as-user-lib.ts"],"sourcesContent":["import { stringEmpty } from '@albi_scando/as-constants-lib';\r\n\r\n// interfaces\r\nimport { IUserLibSetup } from '../interfaces/setup.interface';\r\n\r\nexport const defaultUserLibSetup: IUserLibSetup = {\r\n api: {\r\n patchUserDataAPIUrl: stringEmpty,\r\n getUserDataAPIUrl: stringEmpty,\r\n },\r\n};\r\n","// enums\r\nimport { USER_LEVELS } from '../enums/user-levels.enum';\r\n\r\n// interface\r\nimport { User } from '../interfaces/user.interface';\r\n\r\nexport const DEFAULT_USERNAME: string = 'guest';\r\nexport const DEFAULT_LEVEL: USER_LEVELS = USER_LEVELS.GUEST;\r\n\r\nexport const defaultUser: User = {\r\n username: DEFAULT_USERNAME,\r\n level: DEFAULT_LEVEL as USER_LEVELS,\r\n language: undefined,\r\n};\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Observable, of, switchMap } from 'rxjs';\r\n\r\nimport { HttpService } from '@albi_scando/as-http-lib';\r\n\r\n// Assets\r\nimport { defaultUserLibSetup } from '../../default/default';\r\nimport { defaultUser } from '../../default/default-user';\r\n\r\n// Constants\r\nimport { observableEmpty$, stringEmpty } from '@albi_scando/as-constants-lib';\r\n\r\n// Enums\r\n\r\n// Interfaces\r\nimport { Patch } from '@albi_scando/as-http-lib/lib/models/patch';\r\nimport { Get } from '@albi_scando/as-http-lib/lib/models/get';\r\nimport { User } from '../../interfaces/user.interface';\r\nimport { IUserService } from './user.service.interface';\r\nimport { IUserLibSetup } from '../../interfaces/setup.interface';\r\nimport { LoggerService } from '@albi_scando/as-log-lib';\r\n\r\n/**\r\n *\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserService implements IUserService {\r\n /**\r\n * {@link IUserService.user}\r\n */\r\n public user: User = defaultUser;\r\n\r\n /**\r\n * {@link HttpService}\r\n */\r\n private _httpService: HttpService = inject(HttpService);\r\n\r\n /**\r\n * {@link LoggerService}\r\n */\r\n private _loggerService: LoggerService = inject(LoggerService);\r\n\r\n /**\r\n * PATCH user data api url\r\n */\r\n private _patchUserDataAPIUrl: string = stringEmpty;\r\n\r\n /**\r\n * GET user data api url\r\n */\r\n private _getUserDataAPIUrl: string = stringEmpty;\r\n\r\n /**\r\n * Constructor\r\n * @constructor\r\n * @ignore\r\n */\r\n constructor() {\r\n this.setup$(defaultUserLibSetup).subscribe();\r\n }\r\n\r\n /**\r\n * {@link IUserService.setup$}\r\n */\r\n public setup$(setup: Partial<IUserLibSetup>): Observable<void> {\r\n this._patchUserDataAPIUrl = setup.api?.patchUserDataAPIUrl || stringEmpty;\r\n this._getUserDataAPIUrl = setup.api?.getUserDataAPIUrl || stringEmpty;\r\n\r\n return observableEmpty$;\r\n }\r\n\r\n /**\r\n * {@link IUserService.patchUserData$}\r\n */\r\n public patchUserData$(user: Partial<User>): Observable<void> {\r\n const httpRequest: Patch = {\r\n url: this._patchUserDataAPIUrl,\r\n body: user,\r\n };\r\n const updateUserData$: Observable<void> =\r\n this._httpService.patch(httpRequest);\r\n return observableEmpty$.pipe(\r\n switchMap(() => {\r\n if (httpRequest.url) {\r\n return updateUserData$;\r\n } else {\r\n this.user = { ...this.user, ...user };\r\n return observableEmpty$;\r\n }\r\n }),\r\n switchMap(() => this.syncUserData$())\r\n );\r\n }\r\n\r\n /**\r\n * {@link IUserService.syncUserData$}\r\n */\r\n public syncUserData$(): Observable<void> {\r\n return this.getUserData$().pipe(\r\n switchMap((user: User) => {\r\n this.user = user;\r\n this._loggerService.info('User info updated', this.user);\r\n return observableEmpty$;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * {@link IUserService.getUserData$}\r\n */\r\n public getUserData$(): Observable<User> {\r\n const httpRequest: Get = {\r\n url: this._getUserDataAPIUrl,\r\n };\r\n const getUserData$: Observable<User> = this._httpService.get(httpRequest);\r\n return httpRequest.url ? getUserData$ : of(this.user);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of as-user-lib\r\n */\r\n\r\n// enums\r\n\r\n// services\r\nexport * from './lib/services/user/user.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|