@albi_scando/as-user-lib 0.0.1-rc8 → 0.0.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/.editorconfig +16 -0
- package/.vscode/extensions.json +4 -0
- package/.vscode/launch.json +20 -0
- package/.vscode/tasks.json +42 -0
- package/README.md +11 -8
- package/angular.json +40 -0
- package/package.json +37 -20
- package/projects/as-user-lib/README.md +24 -0
- package/projects/as-user-lib/ng-package.json +7 -0
- package/projects/as-user-lib/package.json +12 -0
- package/projects/as-user-lib/src/lib/services/user/user.service.interface.ts +8 -0
- package/projects/as-user-lib/src/lib/services/user/user.service.spec.ts +16 -0
- package/projects/as-user-lib/src/lib/services/user/user.service.ts +16 -0
- package/{public-api.d.ts → projects/as-user-lib/src/public-api.ts} +5 -1
- package/projects/as-user-lib/tsconfig.lib.json +14 -0
- package/projects/as-user-lib/tsconfig.lib.prod.json +10 -0
- package/projects/as-user-lib/tsconfig.spec.json +14 -0
- package/tsconfig.json +38 -0
- package/esm2022/albi_scando-as-user-lib.mjs +0 -5
- package/esm2022/lib/default/default-user.mjs +0 -8
- package/esm2022/lib/default/default.mjs +0 -8
- package/esm2022/lib/enums/user-levels.enum.mjs +0 -2
- package/esm2022/lib/interfaces/setup.interface.mjs +0 -3
- package/esm2022/lib/interfaces/user.interface.mjs +0 -2
- package/esm2022/lib/services/user/user.service.interface.mjs +0 -2
- package/esm2022/lib/services/user/user.service.mjs +0 -93
- package/esm2022/public-api.mjs +0 -7
- package/fesm2022/albi_scando-as-user-lib.mjs +0 -117
- package/fesm2022/albi_scando-as-user-lib.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/default/default-user.d.ts +0 -5
- package/lib/default/default.d.ts +0 -2
- package/lib/enums/user-levels.enum.d.ts +0 -3
- package/lib/interfaces/setup.interface.d.ts +0 -10
- package/lib/interfaces/user.interface.d.ts +0 -7
- package/lib/services/user/user.service.d.ts +0 -50
- package/lib/services/user/user.service.interface.d.ts +0 -32
package/.editorconfig
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Editor configuration, see https://editorconfig.org
|
|
2
|
+
root = true
|
|
3
|
+
|
|
4
|
+
[*]
|
|
5
|
+
charset = utf-8
|
|
6
|
+
indent_style = space
|
|
7
|
+
indent_size = 2
|
|
8
|
+
insert_final_newline = true
|
|
9
|
+
trim_trailing_whitespace = true
|
|
10
|
+
|
|
11
|
+
[*.ts]
|
|
12
|
+
quote_type = single
|
|
13
|
+
|
|
14
|
+
[*.md]
|
|
15
|
+
max_line_length = off
|
|
16
|
+
trim_trailing_whitespace = false
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"configurations": [
|
|
5
|
+
{
|
|
6
|
+
"name": "ng serve",
|
|
7
|
+
"type": "chrome",
|
|
8
|
+
"request": "launch",
|
|
9
|
+
"preLaunchTask": "npm: start",
|
|
10
|
+
"url": "http://localhost:4200/"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "ng test",
|
|
14
|
+
"type": "chrome",
|
|
15
|
+
"request": "launch",
|
|
16
|
+
"preLaunchTask": "npm: test",
|
|
17
|
+
"url": "http://localhost:9876/debug.html"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"tasks": [
|
|
5
|
+
{
|
|
6
|
+
"type": "npm",
|
|
7
|
+
"script": "start",
|
|
8
|
+
"isBackground": true,
|
|
9
|
+
"problemMatcher": {
|
|
10
|
+
"owner": "typescript",
|
|
11
|
+
"pattern": "$tsc",
|
|
12
|
+
"background": {
|
|
13
|
+
"activeOnStart": true,
|
|
14
|
+
"beginsPattern": {
|
|
15
|
+
"regexp": "(.*?)"
|
|
16
|
+
},
|
|
17
|
+
"endsPattern": {
|
|
18
|
+
"regexp": "bundle generation complete"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "npm",
|
|
25
|
+
"script": "test",
|
|
26
|
+
"isBackground": true,
|
|
27
|
+
"problemMatcher": {
|
|
28
|
+
"owner": "typescript",
|
|
29
|
+
"pattern": "$tsc",
|
|
30
|
+
"background": {
|
|
31
|
+
"activeOnStart": true,
|
|
32
|
+
"beginsPattern": {
|
|
33
|
+
"regexp": "(.*?)"
|
|
34
|
+
},
|
|
35
|
+
"endsPattern": {
|
|
36
|
+
"regexp": "bundle generation complete"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
package/README.md
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
# AsUserLib
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.0.
|
|
4
|
+
|
|
5
|
+
## Development server
|
|
6
|
+
|
|
7
|
+
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
|
|
4
8
|
|
|
5
9
|
## Code scaffolding
|
|
6
10
|
|
|
7
|
-
Run `ng generate component component-name
|
|
8
|
-
> Note: Don't forget to add `--project as-user-lib` or else it will be added to the default project in your `angular.json` file.
|
|
11
|
+
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
|
|
9
12
|
|
|
10
13
|
## Build
|
|
11
14
|
|
|
12
|
-
Run `ng build
|
|
15
|
+
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
16
|
|
|
14
|
-
##
|
|
17
|
+
## Running unit tests
|
|
15
18
|
|
|
16
|
-
|
|
19
|
+
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
17
20
|
|
|
18
|
-
## Running
|
|
21
|
+
## Running end-to-end tests
|
|
19
22
|
|
|
20
|
-
Run `ng
|
|
23
|
+
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
|
|
21
24
|
|
|
22
25
|
## Further help
|
|
23
26
|
|
package/angular.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"newProjectRoot": "projects",
|
|
5
|
+
"projects": {
|
|
6
|
+
"as-user-lib": {
|
|
7
|
+
"projectType": "library",
|
|
8
|
+
"root": "projects/as-user-lib",
|
|
9
|
+
"sourceRoot": "projects/as-user-lib/src",
|
|
10
|
+
"prefix": "lib",
|
|
11
|
+
"architect": {
|
|
12
|
+
"build": {
|
|
13
|
+
"builder": "@angular-devkit/build-angular:ng-packagr",
|
|
14
|
+
"options": {
|
|
15
|
+
"project": "projects/as-user-lib/ng-package.json"
|
|
16
|
+
},
|
|
17
|
+
"configurations": {
|
|
18
|
+
"production": {
|
|
19
|
+
"tsConfig": "projects/as-user-lib/tsconfig.lib.prod.json"
|
|
20
|
+
},
|
|
21
|
+
"development": {
|
|
22
|
+
"tsConfig": "projects/as-user-lib/tsconfig.lib.json"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"defaultConfiguration": "production"
|
|
26
|
+
},
|
|
27
|
+
"test": {
|
|
28
|
+
"builder": "@angular-devkit/build-angular:karma",
|
|
29
|
+
"options": {
|
|
30
|
+
"tsConfig": "projects/as-user-lib/tsconfig.spec.json",
|
|
31
|
+
"polyfills": [
|
|
32
|
+
"zone.js",
|
|
33
|
+
"zone.js/testing"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/package.json
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@albi_scando/as-user-lib",
|
|
3
|
-
"version": "0.0.1
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"ng": "ng",
|
|
6
|
+
"start": "ng serve",
|
|
7
|
+
"build": "ng build",
|
|
8
|
+
"watch": "ng build --watch --configuration development",
|
|
9
|
+
"test": "ng test"
|
|
7
10
|
},
|
|
8
11
|
"dependencies": {
|
|
9
|
-
"
|
|
12
|
+
"@angular/animations": "^17.2.0",
|
|
13
|
+
"@angular/common": "^17.2.0",
|
|
14
|
+
"@angular/compiler": "^17.2.0",
|
|
15
|
+
"@angular/core": "^17.2.0",
|
|
16
|
+
"@angular/forms": "^17.2.0",
|
|
17
|
+
"@angular/platform-browser": "^17.2.0",
|
|
18
|
+
"@angular/platform-browser-dynamic": "^17.2.0",
|
|
19
|
+
"@angular/router": "^17.2.0",
|
|
20
|
+
"rxjs": "~7.8.0",
|
|
21
|
+
"tslib": "^2.3.0",
|
|
22
|
+
"zone.js": "~0.14.3"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@angular-devkit/build-angular": "^17.2.2",
|
|
26
|
+
"@angular/cli": "^17.2.0",
|
|
27
|
+
"@angular/compiler-cli": "^17.2.0",
|
|
28
|
+
"@types/jasmine": "~5.1.0",
|
|
29
|
+
"jasmine-core": "~5.1.0",
|
|
30
|
+
"karma": "~6.4.0",
|
|
31
|
+
"karma-chrome-launcher": "~3.2.0",
|
|
32
|
+
"karma-coverage": "~2.2.0",
|
|
33
|
+
"karma-jasmine": "~5.1.0",
|
|
34
|
+
"karma-jasmine-html-reporter": "~2.1.0",
|
|
35
|
+
"ng-packagr": "^17.2.0",
|
|
36
|
+
"typescript": "~5.3.2"
|
|
10
37
|
},
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"default": "./package.json"
|
|
17
|
-
},
|
|
18
|
-
".": {
|
|
19
|
-
"types": "./index.d.ts",
|
|
20
|
-
"esm2022": "./esm2022/albi_scando-as-user-lib.mjs",
|
|
21
|
-
"esm": "./esm2022/albi_scando-as-user-lib.mjs",
|
|
22
|
-
"default": "./fesm2022/albi_scando-as-user-lib.mjs"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
38
|
+
"description": "This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.0.",
|
|
39
|
+
"main": "index.js",
|
|
40
|
+
"author": "Alberto Scandolara",
|
|
41
|
+
"license": "ISC"
|
|
42
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# AsUserLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project as-user-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project as-user-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project as-user-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build as-user-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build as-user-lib`, go to the dist folder `cd dist/as-user-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test as-user-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { UserService } from './user.service';
|
|
4
|
+
|
|
5
|
+
describe('UserService', () => {
|
|
6
|
+
let service: UserService;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
TestBed.configureTestingModule({});
|
|
10
|
+
service = TestBed.inject(UserService);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('should be created', () => {
|
|
14
|
+
expect(service).toBeTruthy();
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Injectable, WritableSignal, signal } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
import { IUserService } from './user.service.interface';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
@Injectable({
|
|
9
|
+
providedIn: 'root',
|
|
10
|
+
})
|
|
11
|
+
export class UserService implements IUserService {
|
|
12
|
+
/**
|
|
13
|
+
* {@link IUserService.token}
|
|
14
|
+
*/
|
|
15
|
+
public token: WritableSignal<string> = signal('');
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/lib",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"declarationMap": true,
|
|
8
|
+
"inlineSources": true,
|
|
9
|
+
"types": []
|
|
10
|
+
},
|
|
11
|
+
"exclude": [
|
|
12
|
+
"**/*.spec.ts"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/spec",
|
|
6
|
+
"types": [
|
|
7
|
+
"jasmine"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"include": [
|
|
11
|
+
"**/*.spec.ts",
|
|
12
|
+
"**/*.d.ts"
|
|
13
|
+
]
|
|
14
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"compileOnSave": false,
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"paths": {
|
|
6
|
+
"as-user-lib": [
|
|
7
|
+
"./dist/as-user-lib"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"outDir": "./dist/out-tsc",
|
|
11
|
+
"forceConsistentCasingInFileNames": true,
|
|
12
|
+
"strict": true,
|
|
13
|
+
"noImplicitOverride": true,
|
|
14
|
+
"noPropertyAccessFromIndexSignature": true,
|
|
15
|
+
"noImplicitReturns": true,
|
|
16
|
+
"noFallthroughCasesInSwitch": true,
|
|
17
|
+
"skipLibCheck": true,
|
|
18
|
+
"esModuleInterop": true,
|
|
19
|
+
"sourceMap": true,
|
|
20
|
+
"declaration": false,
|
|
21
|
+
"experimentalDecorators": true,
|
|
22
|
+
"moduleResolution": "node",
|
|
23
|
+
"importHelpers": true,
|
|
24
|
+
"target": "ES2022",
|
|
25
|
+
"module": "ES2022",
|
|
26
|
+
"useDefineForClassFields": false,
|
|
27
|
+
"lib": [
|
|
28
|
+
"ES2022",
|
|
29
|
+
"dom"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"angularCompilerOptions": {
|
|
33
|
+
"enableI18nLegacyMessageIdFormat": false,
|
|
34
|
+
"strictInjectionParameters": true,
|
|
35
|
+
"strictInputAccessModifiers": true,
|
|
36
|
+
"strictTemplates": true
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiaV9zY2FuZG8tYXMtdXNlci1saWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hcy11c2VyLWxpYi9zcmMvYWxiaV9zY2FuZG8tYXMtdXNlci1saWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_USERNAME = 'guest';
|
|
2
|
-
export const DEFAULT_LEVEL = "guest" /* USER_LEVELS.GUEST */;
|
|
3
|
-
export const defaultUser = {
|
|
4
|
-
username: DEFAULT_USERNAME,
|
|
5
|
-
level: DEFAULT_LEVEL,
|
|
6
|
-
language: undefined,
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC11c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXMtdXNlci1saWIvc3JjL2xpYi9kZWZhdWx0L2RlZmF1bHQtdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBVyxPQUFPLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxrQ0FBaUMsQ0FBQztBQUU1RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVM7SUFDL0IsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixLQUFLLEVBQUUsYUFBNEI7SUFDbkMsUUFBUSxFQUFFLFNBQVM7Q0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVudW1zXHJcbmltcG9ydCB7IFVTRVJfTEVWRUxTIH0gZnJvbSAnLi4vZW51bXMvdXNlci1sZXZlbHMuZW51bSc7XHJcblxyXG4vLyBpbnRlcmZhY2VcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvdXNlci5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVNFUk5BTUU6IHN0cmluZyA9ICdndWVzdCc7XHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xFVkVMOiBVU0VSX0xFVkVMUyA9IFVTRVJfTEVWRUxTLkdVRVNUO1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRVc2VyOiBVc2VyID0ge1xyXG4gIHVzZXJuYW1lOiBERUZBVUxUX1VTRVJOQU1FLFxyXG4gIGxldmVsOiBERUZBVUxUX0xFVkVMIGFzIFVTRVJfTEVWRUxTLFxyXG4gIGxhbmd1YWdlOiB1bmRlZmluZWQsXHJcbn07XHJcbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { stringEmpty } from '@albi_scando/as-constants-lib';
|
|
2
|
-
export const defaultUserLibSetup = {
|
|
3
|
-
api: {
|
|
4
|
-
patchUserDataAPIUrl: stringEmpty,
|
|
5
|
-
getUserDataAPIUrl: stringEmpty,
|
|
6
|
-
},
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzLXVzZXItbGliL3NyYy9saWIvZGVmYXVsdC9kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUs1RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBa0I7SUFDaEQsR0FBRyxFQUFFO1FBQ0gsbUJBQW1CLEVBQUUsV0FBVztRQUNoQyxpQkFBaUIsRUFBRSxXQUFXO0tBQy9CO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0cmluZ0VtcHR5IH0gZnJvbSAnQGFsYmlfc2NhbmRvL2FzLWNvbnN0YW50cy1saWInO1xyXG5cclxuLy8gaW50ZXJmYWNlc1xyXG5pbXBvcnQgeyBJVXNlckxpYlNldHVwIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zZXR1cC5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRVc2VyTGliU2V0dXA6IElVc2VyTGliU2V0dXAgPSB7XHJcbiAgYXBpOiB7XHJcbiAgICBwYXRjaFVzZXJEYXRhQVBJVXJsOiBzdHJpbmdFbXB0eSxcclxuICAgIGdldFVzZXJEYXRhQVBJVXJsOiBzdHJpbmdFbXB0eSxcclxuICB9LFxyXG59O1xyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1sZXZlbHMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzLXVzZXItbGliL3NyYy9saWIvZW51bXMvdXNlci1sZXZlbHMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gVVNFUl9MRVZFTFMge1xyXG4gIEdVRVNUID0gJ2d1ZXN0JyxcclxufVxyXG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// enums
|
|
2
|
-
export {};
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXMtdXNlci1saWIvc3JjL2xpYi9pbnRlcmZhY2VzL3NldHVwLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZW51bXNcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVXNlckxpYlNldHVwIHtcclxuICBhcGk6IEFQSTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBUEkge1xyXG4gIHBhdGNoVXNlckRhdGFBUElVcmw6IHN0cmluZztcclxuICBnZXRVc2VyRGF0YUFQSVVybDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcy11c2VyLWxpYi9zcmMvbGliL2ludGVyZmFjZXMvdXNlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVudW1zXHJcbmltcG9ydCB7IExBTkdVQUdFUyB9IGZyb20gJ0BhbGJpX3NjYW5kby9hcy1jb25zdGFudHMtbGliJztcclxuaW1wb3J0IHsgVVNFUl9MRVZFTFMgfSBmcm9tICcuLi9lbnVtcy91c2VyLWxldmVscy5lbnVtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XHJcbiAgdXNlcm5hbWU6IHN0cmluZztcclxuICBsZXZlbDogVVNFUl9MRVZFTFM7XHJcbiAgbGFuZ3VhZ2U6IExBTkdVQUdFUyB8IHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzLXVzZXItbGliL3NyYy9saWIvc2VydmljZXMvdXNlci91c2VyLnNlcnZpY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vLyBJbnRlcmZhY2VzXHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3VzZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSVVzZXJMaWJTZXR1cCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2V0dXAuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVzZXJTZXJ2aWNlIHtcclxuICAvKipcclxuICAgKiBVc2VyIG9iamVjdFxyXG4gICAqL1xyXG4gIHVzZXI6IFVzZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAcGFyYW0ge1BhcnRpYWw8SVVzZXJMaWJTZXR1cD59IHNldHVwIGNvbmZpZ3VyYXRpb24gb2JqZWN0XHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8dm9pZD59XHJcbiAgICovXHJcbiAgc2V0dXAkKHNldHVwOiBQYXJ0aWFsPElVc2VyTGliU2V0dXA+KTogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHVzZXIgb2JqZWN0IHdpdGggcHJvdmlkZWQgZGF0YVxyXG4gICAqIEBwYXJhbSB7UGFydGlhbDxVc2VyPn0gdXNlciBwYXJ0aWFsIHVzZXIgaW5mbyB0byBtb2RpZnlcclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTx2b2lkPn1cclxuICAgKi9cclxuICBwYXRjaFVzZXJEYXRhJCh1c2VyOiBQYXJ0aWFsPFVzZXI+KTogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHVzZXIgZGF0YVxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFVzZXI+fSB1c2VyIGRhdGFcclxuICAgKi9cclxuICBnZXRVc2VyRGF0YSQoKTogT2JzZXJ2YWJsZTxVc2VyPjtcclxuXHJcbiAgLyoqXHJcbiAgICogSWYgdXNlciBkYXRhIHJlc2lkZSBvbiBhIGRiLCBmZXRjaCBpdCBhbmQgdXNlIGl0IHRvIHN5bmNocm9uaXplIHNlcnZpY2UgdXNlciBvYmplY3QuXHJcbiAgICogSWYgbm8gZGIgaXMgYXZhaWxhYmxlLCBzZXQgY3VycmVudCB1c2VyIGVxdWFsIHRvIGl0c2VsZi5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTx2b2lkPn1cclxuICAgKi9cclxuICBzeW5jVXNlckRhdGEkKCk6IE9ic2VydmFibGU8dm9pZD47XHJcbn1cclxuIl19
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { of, switchMap } from 'rxjs';
|
|
3
|
-
import { HttpService } from '@albi_scando/as-http-lib';
|
|
4
|
-
// Assets
|
|
5
|
-
import { defaultUserLibSetup } from '../../default/default';
|
|
6
|
-
import { defaultUser } from '../../default/default-user';
|
|
7
|
-
// Constants
|
|
8
|
-
import { observableEmpty$, stringEmpty } from '@albi_scando/as-constants-lib';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
export class UserService {
|
|
14
|
-
/**
|
|
15
|
-
* Constructor
|
|
16
|
-
* @constructor
|
|
17
|
-
* @ignore
|
|
18
|
-
*/
|
|
19
|
-
constructor() {
|
|
20
|
-
/**
|
|
21
|
-
* {@link IUserService.user}
|
|
22
|
-
*/
|
|
23
|
-
this.user = defaultUser;
|
|
24
|
-
/**
|
|
25
|
-
* {@link HttpService}
|
|
26
|
-
*/
|
|
27
|
-
this._httpService = inject(HttpService);
|
|
28
|
-
/**
|
|
29
|
-
* PATCH user data api url
|
|
30
|
-
*/
|
|
31
|
-
this._patchUserDataAPIUrl = stringEmpty;
|
|
32
|
-
/**
|
|
33
|
-
* GET user data api url
|
|
34
|
-
*/
|
|
35
|
-
this._getUserDataAPIUrl = stringEmpty;
|
|
36
|
-
this.setup$(defaultUserLibSetup).subscribe();
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* {@link IUserService.setup$}
|
|
40
|
-
*/
|
|
41
|
-
setup$(setup) {
|
|
42
|
-
this._patchUserDataAPIUrl = setup.api?.patchUserDataAPIUrl || stringEmpty;
|
|
43
|
-
this._getUserDataAPIUrl = setup.api?.getUserDataAPIUrl || stringEmpty;
|
|
44
|
-
return observableEmpty$;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* {@link IUserService.patchUserData$}
|
|
48
|
-
*/
|
|
49
|
-
patchUserData$(user) {
|
|
50
|
-
const httpRequest = {
|
|
51
|
-
url: this._patchUserDataAPIUrl,
|
|
52
|
-
body: user,
|
|
53
|
-
};
|
|
54
|
-
const updateUserData$ = this._httpService.patch(httpRequest);
|
|
55
|
-
return observableEmpty$.pipe(switchMap(() => {
|
|
56
|
-
if (httpRequest.url) {
|
|
57
|
-
return updateUserData$;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
this.user = { ...this.user, ...user };
|
|
61
|
-
return observableEmpty$;
|
|
62
|
-
}
|
|
63
|
-
}), switchMap(() => this.syncUserData$()));
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* {@link IUserService.syncUserData$}
|
|
67
|
-
*/
|
|
68
|
-
syncUserData$() {
|
|
69
|
-
return this.getUserData$().pipe(switchMap((user) => {
|
|
70
|
-
this.user = user;
|
|
71
|
-
return observableEmpty$;
|
|
72
|
-
}));
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* {@link IUserService.getUserData$}
|
|
76
|
-
*/
|
|
77
|
-
getUserData$() {
|
|
78
|
-
const httpRequest = {
|
|
79
|
-
url: this._getUserDataAPIUrl,
|
|
80
|
-
};
|
|
81
|
-
const getUserData$ = this._httpService.get(httpRequest);
|
|
82
|
-
return httpRequest.url ? getUserData$ : of(this.user);
|
|
83
|
-
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
85
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UserService, providedIn: 'root' }); }
|
|
86
|
-
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UserService, decorators: [{
|
|
88
|
-
type: Injectable,
|
|
89
|
-
args: [{
|
|
90
|
-
providedIn: 'root',
|
|
91
|
-
}]
|
|
92
|
-
}], ctorParameters: () => [] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXMtdXNlci1saWIvc3JjL2xpYi9zZXJ2aWNlcy91c2VyL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsU0FBUztBQUNULE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxZQUFZO0FBQ1osT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQVc5RTs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBcUJ0Qjs7OztPQUlHO0lBQ0g7UUF6QkE7O1dBRUc7UUFDSSxTQUFJLEdBQVMsV0FBVyxDQUFDO1FBRWhDOztXQUVHO1FBQ0ssaUJBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXhEOztXQUVHO1FBQ0sseUJBQW9CLEdBQVcsV0FBVyxDQUFDO1FBRW5EOztXQUVHO1FBQ0ssdUJBQWtCLEdBQVcsV0FBVyxDQUFDO1FBUS9DLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBNkI7UUFDekMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLElBQUksV0FBVyxDQUFDO1FBQzFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLGlCQUFpQixJQUFJLFdBQVcsQ0FBQztRQUV0RSxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxJQUFtQjtRQUN2QyxNQUFNLFdBQVcsR0FBVTtZQUN6QixHQUFHLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUM5QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7UUFDRixNQUFNLGVBQWUsR0FDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQzFCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixJQUFJLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxlQUFlLENBQUM7WUFDekIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDdEMsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQzdCLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLE9BQU8sZ0JBQWdCLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDakIsTUFBTSxXQUFXLEdBQVE7WUFDdkIsR0FBRyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7U0FDN0IsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFxQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRSxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQXBGVSxXQUFXO2tIQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJ0BhbGJpX3NjYW5kby9hcy1odHRwLWxpYic7XHJcblxyXG4vLyBBc3NldHNcclxuaW1wb3J0IHsgZGVmYXVsdFVzZXJMaWJTZXR1cCB9IGZyb20gJy4uLy4uL2RlZmF1bHQvZGVmYXVsdCc7XHJcbmltcG9ydCB7IGRlZmF1bHRVc2VyIH0gZnJvbSAnLi4vLi4vZGVmYXVsdC9kZWZhdWx0LXVzZXInO1xyXG5cclxuLy8gQ29uc3RhbnRzXHJcbmltcG9ydCB7IG9ic2VydmFibGVFbXB0eSQsIHN0cmluZ0VtcHR5IH0gZnJvbSAnQGFsYmlfc2NhbmRvL2FzLWNvbnN0YW50cy1saWInO1xyXG5cclxuLy8gRW51bXNcclxuXHJcbi8vIEludGVyZmFjZXNcclxuaW1wb3J0IHsgUGF0Y2ggfSBmcm9tICdAYWxiaV9zY2FuZG8vYXMtaHR0cC1saWIvbGliL21vZGVscy9wYXRjaCc7XHJcbmltcG9ydCB7IEdldCB9IGZyb20gJ0BhbGJpX3NjYW5kby9hcy1odHRwLWxpYi9saWIvbW9kZWxzL2dldCc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3VzZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSVVzZXJTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSVVzZXJMaWJTZXR1cCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2V0dXAuaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGltcGxlbWVudHMgSVVzZXJTZXJ2aWNlIHtcclxuICAvKipcclxuICAgKiB7QGxpbmsgSVVzZXJTZXJ2aWNlLnVzZXJ9XHJcbiAgICovXHJcbiAgcHVibGljIHVzZXI6IFVzZXIgPSBkZWZhdWx0VXNlcjtcclxuXHJcbiAgLyoqXHJcbiAgICoge0BsaW5rIEh0dHBTZXJ2aWNlfVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2h0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSA9IGluamVjdChIdHRwU2VydmljZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFBBVENIIHVzZXIgZGF0YSBhcGkgdXJsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfcGF0Y2hVc2VyRGF0YUFQSVVybDogc3RyaW5nID0gc3RyaW5nRW1wdHk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEdFVCB1c2VyIGRhdGEgYXBpIHVybFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2dldFVzZXJEYXRhQVBJVXJsOiBzdHJpbmcgPSBzdHJpbmdFbXB0eTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKiBAY29uc3RydWN0b3JcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnNldHVwJChkZWZhdWx0VXNlckxpYlNldHVwKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHtAbGluayBJVXNlclNlcnZpY2Uuc2V0dXAkfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXR1cCQoc2V0dXA6IFBhcnRpYWw8SVVzZXJMaWJTZXR1cD4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHRoaXMuX3BhdGNoVXNlckRhdGFBUElVcmwgPSBzZXR1cC5hcGk/LnBhdGNoVXNlckRhdGFBUElVcmwgfHwgc3RyaW5nRW1wdHk7XHJcbiAgICB0aGlzLl9nZXRVc2VyRGF0YUFQSVVybCA9IHNldHVwLmFwaT8uZ2V0VXNlckRhdGFBUElVcmwgfHwgc3RyaW5nRW1wdHk7XHJcblxyXG4gICAgcmV0dXJuIG9ic2VydmFibGVFbXB0eSQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiB7QGxpbmsgSVVzZXJTZXJ2aWNlLnBhdGNoVXNlckRhdGEkfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBwYXRjaFVzZXJEYXRhJCh1c2VyOiBQYXJ0aWFsPFVzZXI+KTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICBjb25zdCBodHRwUmVxdWVzdDogUGF0Y2ggPSB7XHJcbiAgICAgIHVybDogdGhpcy5fcGF0Y2hVc2VyRGF0YUFQSVVybCxcclxuICAgICAgYm9keTogdXNlcixcclxuICAgIH07XHJcbiAgICBjb25zdCB1cGRhdGVVc2VyRGF0YSQ6IE9ic2VydmFibGU8dm9pZD4gPVxyXG4gICAgICB0aGlzLl9odHRwU2VydmljZS5wYXRjaChodHRwUmVxdWVzdCk7XHJcbiAgICByZXR1cm4gb2JzZXJ2YWJsZUVtcHR5JC5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIGlmIChodHRwUmVxdWVzdC51cmwpIHtcclxuICAgICAgICAgIHJldHVybiB1cGRhdGVVc2VyRGF0YSQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudXNlciA9IHsgLi4udGhpcy51c2VyLCAuLi51c2VyIH07XHJcbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZUVtcHR5JDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zeW5jVXNlckRhdGEkKCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICoge0BsaW5rIElVc2VyU2VydmljZS5zeW5jVXNlckRhdGEkfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzeW5jVXNlckRhdGEkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlckRhdGEkKCkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKCh1c2VyOiBVc2VyKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VyID0gdXNlcjtcclxuICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZUVtcHR5JDtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiB7QGxpbmsgSVVzZXJTZXJ2aWNlLmdldFVzZXJEYXRhJH1cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0VXNlckRhdGEkKCk6IE9ic2VydmFibGU8VXNlcj4ge1xyXG4gICAgY29uc3QgaHR0cFJlcXVlc3Q6IEdldCA9IHtcclxuICAgICAgdXJsOiB0aGlzLl9nZXRVc2VyRGF0YUFQSVVybCxcclxuICAgIH07XHJcbiAgICBjb25zdCBnZXRVc2VyRGF0YSQ6IE9ic2VydmFibGU8VXNlcj4gPSB0aGlzLl9odHRwU2VydmljZS5nZXQoaHR0cFJlcXVlc3QpO1xyXG4gICAgcmV0dXJuIGh0dHBSZXF1ZXN0LnVybCA/IGdldFVzZXJEYXRhJCA6IG9mKHRoaXMudXNlcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of as-user-lib
|
|
3
|
-
*/
|
|
4
|
-
// enums
|
|
5
|
-
// services
|
|
6
|
-
export * from './lib/services/user/user.service';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FzLXVzZXItbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsUUFBUTtBQUVSLFdBQVc7QUFDWCxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFzLXVzZXItbGliXHJcbiAqL1xyXG5cclxuLy8gZW51bXNcclxuXHJcbi8vIHNlcnZpY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXIvdXNlci5zZXJ2aWNlJztcclxuIl19
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Injectable } from '@angular/core';
|
|
3
|
-
import { switchMap, of } from 'rxjs';
|
|
4
|
-
import { HttpService } from '@albi_scando/as-http-lib';
|
|
5
|
-
import { stringEmpty, observableEmpty$ } from '@albi_scando/as-constants-lib';
|
|
6
|
-
|
|
7
|
-
const defaultUserLibSetup = {
|
|
8
|
-
api: {
|
|
9
|
-
patchUserDataAPIUrl: stringEmpty,
|
|
10
|
-
getUserDataAPIUrl: stringEmpty,
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const DEFAULT_USERNAME = 'guest';
|
|
15
|
-
const DEFAULT_LEVEL = "guest" /* USER_LEVELS.GUEST */;
|
|
16
|
-
const defaultUser = {
|
|
17
|
-
username: DEFAULT_USERNAME,
|
|
18
|
-
level: DEFAULT_LEVEL,
|
|
19
|
-
language: undefined,
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
24
|
-
*/
|
|
25
|
-
class UserService {
|
|
26
|
-
/**
|
|
27
|
-
* Constructor
|
|
28
|
-
* @constructor
|
|
29
|
-
* @ignore
|
|
30
|
-
*/
|
|
31
|
-
constructor() {
|
|
32
|
-
/**
|
|
33
|
-
* {@link IUserService.user}
|
|
34
|
-
*/
|
|
35
|
-
this.user = defaultUser;
|
|
36
|
-
/**
|
|
37
|
-
* {@link HttpService}
|
|
38
|
-
*/
|
|
39
|
-
this._httpService = inject(HttpService);
|
|
40
|
-
/**
|
|
41
|
-
* PATCH user data api url
|
|
42
|
-
*/
|
|
43
|
-
this._patchUserDataAPIUrl = stringEmpty;
|
|
44
|
-
/**
|
|
45
|
-
* GET user data api url
|
|
46
|
-
*/
|
|
47
|
-
this._getUserDataAPIUrl = stringEmpty;
|
|
48
|
-
this.setup$(defaultUserLibSetup).subscribe();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* {@link IUserService.setup$}
|
|
52
|
-
*/
|
|
53
|
-
setup$(setup) {
|
|
54
|
-
this._patchUserDataAPIUrl = setup.api?.patchUserDataAPIUrl || stringEmpty;
|
|
55
|
-
this._getUserDataAPIUrl = setup.api?.getUserDataAPIUrl || stringEmpty;
|
|
56
|
-
return observableEmpty$;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* {@link IUserService.patchUserData$}
|
|
60
|
-
*/
|
|
61
|
-
patchUserData$(user) {
|
|
62
|
-
const httpRequest = {
|
|
63
|
-
url: this._patchUserDataAPIUrl,
|
|
64
|
-
body: user,
|
|
65
|
-
};
|
|
66
|
-
const updateUserData$ = this._httpService.patch(httpRequest);
|
|
67
|
-
return observableEmpty$.pipe(switchMap(() => {
|
|
68
|
-
if (httpRequest.url) {
|
|
69
|
-
return updateUserData$;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
this.user = { ...this.user, ...user };
|
|
73
|
-
return observableEmpty$;
|
|
74
|
-
}
|
|
75
|
-
}), switchMap(() => this.syncUserData$()));
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* {@link IUserService.syncUserData$}
|
|
79
|
-
*/
|
|
80
|
-
syncUserData$() {
|
|
81
|
-
return this.getUserData$().pipe(switchMap((user) => {
|
|
82
|
-
this.user = user;
|
|
83
|
-
return observableEmpty$;
|
|
84
|
-
}));
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* {@link IUserService.getUserData$}
|
|
88
|
-
*/
|
|
89
|
-
getUserData$() {
|
|
90
|
-
const httpRequest = {
|
|
91
|
-
url: this._getUserDataAPIUrl,
|
|
92
|
-
};
|
|
93
|
-
const getUserData$ = this._httpService.get(httpRequest);
|
|
94
|
-
return httpRequest.url ? getUserData$ : of(this.user);
|
|
95
|
-
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
97
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UserService, providedIn: 'root' }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UserService, decorators: [{
|
|
100
|
-
type: Injectable,
|
|
101
|
-
args: [{
|
|
102
|
-
providedIn: 'root',
|
|
103
|
-
}]
|
|
104
|
-
}], ctorParameters: () => [] });
|
|
105
|
-
|
|
106
|
-
/*
|
|
107
|
-
* Public API Surface of as-user-lib
|
|
108
|
-
*/
|
|
109
|
-
// enums
|
|
110
|
-
// services
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Generated bundle index. Do not edit.
|
|
114
|
-
*/
|
|
115
|
-
|
|
116
|
-
export { UserService };
|
|
117
|
-
//# sourceMappingURL=albi_scando-as-user-lib.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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":"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"}
|
package/index.d.ts
DELETED
package/lib/default/default.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { User } from '../../interfaces/user.interface';
|
|
3
|
-
import { IUserService } from './user.service.interface';
|
|
4
|
-
import { IUserLibSetup } from '../../interfaces/setup.interface';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
*/
|
|
9
|
-
export declare class UserService implements IUserService {
|
|
10
|
-
/**
|
|
11
|
-
* {@link IUserService.user}
|
|
12
|
-
*/
|
|
13
|
-
user: User;
|
|
14
|
-
/**
|
|
15
|
-
* {@link HttpService}
|
|
16
|
-
*/
|
|
17
|
-
private _httpService;
|
|
18
|
-
/**
|
|
19
|
-
* PATCH user data api url
|
|
20
|
-
*/
|
|
21
|
-
private _patchUserDataAPIUrl;
|
|
22
|
-
/**
|
|
23
|
-
* GET user data api url
|
|
24
|
-
*/
|
|
25
|
-
private _getUserDataAPIUrl;
|
|
26
|
-
/**
|
|
27
|
-
* Constructor
|
|
28
|
-
* @constructor
|
|
29
|
-
* @ignore
|
|
30
|
-
*/
|
|
31
|
-
constructor();
|
|
32
|
-
/**
|
|
33
|
-
* {@link IUserService.setup$}
|
|
34
|
-
*/
|
|
35
|
-
setup$(setup: Partial<IUserLibSetup>): Observable<void>;
|
|
36
|
-
/**
|
|
37
|
-
* {@link IUserService.patchUserData$}
|
|
38
|
-
*/
|
|
39
|
-
patchUserData$(user: Partial<User>): Observable<void>;
|
|
40
|
-
/**
|
|
41
|
-
* {@link IUserService.syncUserData$}
|
|
42
|
-
*/
|
|
43
|
-
syncUserData$(): Observable<void>;
|
|
44
|
-
/**
|
|
45
|
-
* {@link IUserService.getUserData$}
|
|
46
|
-
*/
|
|
47
|
-
getUserData$(): Observable<User>;
|
|
48
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<UserService, never>;
|
|
49
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
|
|
50
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { User } from '../../interfaces/user.interface';
|
|
3
|
-
import { IUserLibSetup } from '../../interfaces/setup.interface';
|
|
4
|
-
export interface IUserService {
|
|
5
|
-
/**
|
|
6
|
-
* User object
|
|
7
|
-
*/
|
|
8
|
-
user: User;
|
|
9
|
-
/**
|
|
10
|
-
* Set service configuration
|
|
11
|
-
* @param {Partial<IUserLibSetup>} setup configuration object
|
|
12
|
-
* @returns {Observable<void>}
|
|
13
|
-
*/
|
|
14
|
-
setup$(setup: Partial<IUserLibSetup>): Observable<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Update user object with provided data
|
|
17
|
-
* @param {Partial<User>} user partial user info to modify
|
|
18
|
-
* @returns {Observable<void>}
|
|
19
|
-
*/
|
|
20
|
-
patchUserData$(user: Partial<User>): Observable<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Get user data
|
|
23
|
-
* @returns {Observable<User>} user data
|
|
24
|
-
*/
|
|
25
|
-
getUserData$(): Observable<User>;
|
|
26
|
-
/**
|
|
27
|
-
* If user data reside on a db, fetch it and use it to synchronize service user object.
|
|
28
|
-
* If no db is available, set current user equal to itself.
|
|
29
|
-
* @returns {Observable<void>}
|
|
30
|
-
*/
|
|
31
|
-
syncUserData$(): Observable<void>;
|
|
32
|
-
}
|