@goat-bravos/shared-lib-client 1.0.1 → 1.0.2

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.
Files changed (45) hide show
  1. package/LICENSE.txt +21 -21
  2. package/README.md +145 -579
  3. package/dist/enums/error-code.enum.d.ts +2 -1
  4. package/dist/enums/error-code.enum.d.ts.map +1 -1
  5. package/dist/enums/error-code.enum.js +3 -5
  6. package/dist/enums/http-status.enum.js +2 -5
  7. package/dist/enums/language.enum.d.ts +5 -0
  8. package/dist/enums/language.enum.d.ts.map +1 -0
  9. package/dist/enums/language.enum.js +5 -0
  10. package/dist/enums/localstorage-key.enum.d.ts +3 -1
  11. package/dist/enums/localstorage-key.enum.d.ts.map +1 -1
  12. package/dist/enums/localstorage-key.enum.js +4 -5
  13. package/dist/index.d.ts +10 -10
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +14 -29
  16. package/dist/interceptors/auth.interceptor.d.ts +12 -0
  17. package/dist/interceptors/auth.interceptor.d.ts.map +1 -0
  18. package/dist/interceptors/auth.interceptor.js +78 -0
  19. package/dist/interfaces/api-response.interface.d.ts +0 -10
  20. package/dist/interfaces/api-response.interface.d.ts.map +1 -1
  21. package/dist/interfaces/api-response.interface.js +1 -2
  22. package/dist/interfaces/http-heades.interface.js +1 -2
  23. package/dist/interfaces/pagination.interface.js +1 -2
  24. package/dist/store/global-store.service.d.ts +35 -0
  25. package/dist/store/global-store.service.d.ts.map +1 -0
  26. package/dist/store/global-store.service.js +55 -0
  27. package/dist/utils/storage.util.d.ts +20 -0
  28. package/dist/utils/storage.util.d.ts.map +1 -0
  29. package/dist/utils/storage.util.js +62 -0
  30. package/package.json +45 -43
  31. package/dist/enums/error-code.enum.js.map +0 -1
  32. package/dist/enums/http-status.enum.js.map +0 -1
  33. package/dist/enums/localstorage-key.enum.js.map +0 -1
  34. package/dist/index.js.map +0 -1
  35. package/dist/interfaces/api-response.interface.js.map +0 -1
  36. package/dist/interfaces/http-heades.interface.js.map +0 -1
  37. package/dist/interfaces/pagination.interface.js.map +0 -1
  38. package/dist/services/rest/rest.config.d.ts +0 -12
  39. package/dist/services/rest/rest.config.d.ts.map +0 -1
  40. package/dist/services/rest/rest.config.js +0 -5
  41. package/dist/services/rest/rest.config.js.map +0 -1
  42. package/dist/services/rest/rest.service.d.ts +0 -64
  43. package/dist/services/rest/rest.service.d.ts.map +0 -1
  44. package/dist/services/rest/rest.service.js +0 -112
  45. package/dist/services/rest/rest.service.js.map +0 -1
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.REST_CONFIG = void 0;
4
- const core_1 = require("@angular/core");
5
- exports.REST_CONFIG = new core_1.InjectionToken('REST_CONFIG');
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest.config.js","sourceRoot":"","sources":["../../../src/services/rest/rest.config.ts"],"names":[],"mappings":";;;AAAA,wCAA6C;AAYhC,QAAA,WAAW,GAAG,IAAI,qBAAc,CAAa,aAAa,CAAC,CAAC"}
@@ -1,64 +0,0 @@
1
- import { HttpBackend, HttpClient } from "@angular/common/http";
2
- import { Observable } from "rxjs";
3
- import { Router } from "@angular/router";
4
- import type { RestConfig } from "./rest.config";
5
- export declare class RestService {
6
- private config;
7
- private router;
8
- private readonly httpBackend;
9
- private readonly httpClient;
10
- constructor(config: RestConfig, router: Router, httpClient: HttpClient, httpBackend: HttpBackend);
11
- private requestWithoutInterceptor;
12
- get<T>(path: string, params?: {
13
- [param: string]: string | string[];
14
- }, headers?: {
15
- [header: string]: string;
16
- }): Observable<T>;
17
- post<T>(path: string, body: unknown, params?: {
18
- [param: string]: string | string[];
19
- }, headers?: {
20
- [header: string]: string;
21
- }): Observable<T>;
22
- put<T>(path: string, body: unknown, params?: {
23
- [param: string]: string | string[];
24
- }, headers?: {
25
- [header: string]: string;
26
- }): Observable<T>;
27
- patch<T>(path: string, body: unknown, params?: {
28
- [param: string]: string | string[];
29
- }, headers?: {
30
- [header: string]: string;
31
- }): Observable<T>;
32
- delete<T>(path: string, params?: {
33
- [param: string]: string | string[];
34
- }, headers?: {
35
- [header: string]: string;
36
- }): Observable<T>;
37
- private requestWithInterceptor;
38
- getInternal<T>(path: string, credentials?: boolean, params?: {
39
- [param: string]: string | string[];
40
- }, headers?: {
41
- [header: string]: string;
42
- }): Observable<T>;
43
- postInternal<T>(path: string, body: unknown, credentials?: boolean, params?: {
44
- [param: string]: string | string[];
45
- }, headers?: {
46
- [header: string]: string;
47
- }): Observable<T>;
48
- putInternal<T>(path: string, body: unknown, credentials?: boolean, params?: {
49
- [param: string]: string | string[];
50
- }, headers?: {
51
- [header: string]: string;
52
- }): Observable<T>;
53
- patchInternal<T>(path: string, body: unknown, credentials?: boolean, params?: {
54
- [param: string]: string | string[];
55
- }, headers?: {
56
- [header: string]: string;
57
- }): Observable<T>;
58
- deleteInternal<T>(path: string, credentials?: boolean, params?: {
59
- [param: string]: string | string[];
60
- }, headers?: {
61
- [header: string]: string;
62
- }): Observable<T>;
63
- }
64
- //# sourceMappingURL=rest.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest.service.d.ts","sourceRoot":"","sources":["../../../src/services/rest/rest.service.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.RestService = void 0;
16
- const http_1 = require("@angular/common/http");
17
- const rxjs_1 = require("rxjs");
18
- const operators_1 = require("rxjs/operators");
19
- const core_1 = require("@angular/core");
20
- const router_1 = require("@angular/router");
21
- const rest_config_1 = require("./rest.config");
22
- let RestService = class RestService {
23
- config;
24
- router;
25
- httpBackend;
26
- httpClient;
27
- constructor(config, router, httpClient, httpBackend) {
28
- this.config = config;
29
- this.router = router;
30
- this.httpClient = httpClient;
31
- this.httpBackend = new http_1.HttpClient(httpBackend);
32
- }
33
- requestWithoutInterceptor(method, path, body, params, headers = { 'Content-Type': 'application/json' }) {
34
- const httpParams = new http_1.HttpParams({
35
- fromObject: params || {}
36
- });
37
- return this.httpBackend.request(method, path, {
38
- headers: headers,
39
- body: body,
40
- params: httpParams,
41
- });
42
- }
43
- get(path, params, headers = { 'Content-Type': 'application/json' }) {
44
- return this.requestWithoutInterceptor('GET', path, undefined, params, headers);
45
- }
46
- post(path, body, params, headers = { 'Content-Type': 'application/json' }) {
47
- return this.requestWithoutInterceptor('POST', path, body, params, headers);
48
- }
49
- put(path, body, params, headers = { 'Content-Type': 'application/json' }) {
50
- return this.requestWithoutInterceptor('PUT', path, body, params, headers);
51
- }
52
- patch(path, body, params, headers = { 'Content-Type': 'application/json' }) {
53
- return this.requestWithoutInterceptor('PATCH', path, body, params, headers);
54
- }
55
- delete(path, params, headers = { 'Content-Type': 'application/json' }) {
56
- return this.requestWithoutInterceptor('DELETE', path, undefined, params, headers);
57
- }
58
- requestWithInterceptor(method, path, credentials = false, body, params, headers = { 'Content-Type': 'application/json' }) {
59
- const httpParams = new http_1.HttpParams({
60
- fromObject: params || {}
61
- });
62
- if (credentials) {
63
- const token = localStorage.getItem(this.config.tokenKey);
64
- if (!token) {
65
- this.router.navigate([this.config.loginPath]);
66
- return (0, rxjs_1.throwError)(() => new Error('No authentication token found'));
67
- }
68
- headers = { ...headers, 'Authorization': `Bearer ${token}` };
69
- }
70
- let request$ = this.httpClient.request(method, this.config.apiBaseUrl + path, {
71
- headers: headers,
72
- body: body,
73
- params: httpParams,
74
- });
75
- // Handle auto retry if enabled
76
- if (this.config.internalAutoRetry && this.config.retryAttempts > 0) {
77
- request$ = request$.pipe((0, operators_1.retry)({
78
- count: this.config.retryAttempts,
79
- delay: this.config.retryIntervalMs
80
- }), (0, operators_1.catchError)((error) => {
81
- if (this.config.enableLogging) {
82
- console.error(`Request failed after ${this.config.retryAttempts} retries:`, error);
83
- }
84
- return (0, rxjs_1.throwError)(() => error);
85
- }));
86
- }
87
- return request$;
88
- }
89
- getInternal(path, credentials = false, params, headers = { 'Content-Type': 'application/json' }) {
90
- return this.requestWithInterceptor('GET', path, credentials, undefined, params, headers);
91
- }
92
- postInternal(path, body, credentials = false, params, headers = { 'Content-Type': 'application/json' }) {
93
- return this.requestWithInterceptor('POST', path, credentials, body, params, headers);
94
- }
95
- putInternal(path, body, credentials = false, params, headers = { 'Content-Type': 'application/json' }) {
96
- return this.requestWithInterceptor('PUT', path, credentials, body, params, headers);
97
- }
98
- patchInternal(path, body, credentials = false, params, headers = { 'Content-Type': 'application/json' }) {
99
- return this.requestWithInterceptor('PATCH', path, credentials, body, params, headers);
100
- }
101
- deleteInternal(path, credentials = false, params, headers = { 'Content-Type': 'application/json' }) {
102
- return this.requestWithInterceptor('DELETE', path, credentials, undefined, params, headers);
103
- }
104
- };
105
- exports.RestService = RestService;
106
- exports.RestService = RestService = __decorate([
107
- (0, core_1.Injectable)({ providedIn: 'root' }),
108
- __param(0, (0, core_1.Inject)(rest_config_1.REST_CONFIG)),
109
- __metadata("design:paramtypes", [Object, router_1.Router,
110
- http_1.HttpClient,
111
- http_1.HttpBackend])
112
- ], RestService);
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest.service.js","sourceRoot":"","sources":["../../../src/services/rest/rest.service.ts"],"names":[],"mappings":"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"}