http-request-manager 15.0.26 → 18.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.
- package/esm2022/http-request-manager.mjs +5 -0
- package/esm2022/lib/http-request-manager.module.mjs +146 -0
- package/esm2022/lib/http-request-services-demo/database-data-demo/database-data-demo.component.mjs +71 -0
- package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +41 -0
- package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +173 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +80 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +42 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +88 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.mjs +11 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.mjs +29 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.mjs +9 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.mjs +12 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.mjs +14 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +315 -0
- package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +270 -0
- package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +67 -0
- package/esm2022/lib/index.mjs +4 -0
- package/esm2022/lib/interceptors/credentials.interceptor.mjs +14 -0
- package/esm2022/lib/interceptors/index.mjs +5 -0
- package/esm2022/lib/interceptors/models/error-settings.model.mjs +10 -0
- package/esm2022/lib/interceptors/proxy-debugger.interceptor.mjs +47 -0
- package/esm2022/lib/interceptors/request-error.interceptor.mjs +49 -0
- package/esm2022/lib/interceptors/request-header.interceptor.mjs +41 -0
- package/esm2022/lib/models/config-http-options.model.mjs +18 -0
- package/esm2022/lib/models/config-local-storage-options.model.mjs +12 -0
- package/esm2022/lib/models/config-options.model.mjs +12 -0
- package/esm2022/lib/models/config-token.model.mjs +8 -0
- package/esm2022/lib/models/data-type.enum.mjs +7 -0
- package/esm2022/lib/models/database-storage.model.mjs +10 -0
- package/esm2022/lib/models/index.mjs +7 -0
- package/esm2022/lib/models/retry-options.model.mjs +10 -0
- package/esm2022/lib/services/database-manager-services/database.manager.service.mjs +119 -0
- package/esm2022/lib/services/database-manager-services/db.storage.service.mjs +143 -0
- package/esm2022/lib/services/database-manager-services/index.mjs +4 -0
- package/esm2022/lib/services/database-manager-services/models/table-schema.mjs +20 -0
- package/esm2022/lib/services/index.mjs +6 -0
- package/esm2022/lib/services/local-storage-manager-service/index.mjs +3 -0
- package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +302 -0
- package/esm2022/lib/services/local-storage-manager-service/models/global-store-options.model.mjs +13 -0
- package/esm2022/lib/services/local-storage-manager-service/models/index.mjs +6 -0
- package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +13 -0
- package/esm2022/lib/services/local-storage-manager-service/models/storage-data.model.mjs +10 -0
- package/esm2022/lib/services/local-storage-manager-service/models/storage-option.model.mjs +12 -0
- package/esm2022/lib/services/local-storage-manager-service/models/storage-type.enum.mjs +7 -0
- package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +207 -0
- package/esm2022/lib/services/request-manager-services/index.mjs +5 -0
- package/esm2022/lib/services/request-manager-services/request.service.mjs +189 -0
- package/esm2022/lib/services/request-manager-services/rxjs-operators/countdown.mjs +9 -0
- package/esm2022/lib/services/request-manager-services/rxjs-operators/delay-retry.mjs +10 -0
- package/esm2022/lib/services/request-manager-services/rxjs-operators/index.mjs +5 -0
- package/esm2022/lib/services/request-manager-services/rxjs-operators/request-polling.mjs +14 -0
- package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +19 -0
- package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +267 -0
- package/esm2022/lib/services/request-manager-state-service/index.mjs +3 -0
- package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +20 -0
- package/esm2022/lib/services/request-manager-state-service/models/index.mjs +3 -0
- package/esm2022/lib/services/request-manager-state-service/models/request-options.model.mjs +10 -0
- package/esm2022/lib/services/utils/app.service.mjs +26 -0
- package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +186 -0
- package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +35 -0
- package/esm2022/lib/services/utils/encryption/index.mjs +4 -0
- package/esm2022/lib/services/utils/encryption/random.mjs +52 -0
- package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +77 -0
- package/esm2022/lib/services/utils/headers.service.mjs +21 -0
- package/esm2022/lib/services/utils/index.mjs +6 -0
- package/esm2022/lib/services/utils/object-merger.service.mjs +50 -0
- package/esm2022/lib/services/utils/path-query.service.mjs +54 -0
- package/esm2022/lib/services/utils/utils.service.mjs +155 -0
- package/esm2022/public-api.mjs +11 -0
- package/fesm2022/http-request-manager.mjs +3444 -0
- package/fesm2022/http-request-manager.mjs.map +1 -0
- package/http-request-manager-18.0.2.tgz +0 -0
- package/index.d.ts +5 -0
- package/lib/http-request-manager.module.d.ts +33 -0
- package/lib/http-request-services-demo/database-data-demo/database-data-demo.component.d.ts +19 -0
- package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +24 -0
- package/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.d.ts +56 -0
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +26 -0
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +13 -0
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +27 -0
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.d.ts +12 -0
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.d.ts +16 -0
- package/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.d.ts +8 -0
- package/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.d.ts +14 -0
- package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +14 -0
- package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +107 -0
- package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +122 -0
- package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +15 -0
- package/lib/index.d.ts +3 -0
- package/lib/interceptors/credentials.interceptor.d.ts +8 -0
- package/{src/lib/interceptors/index.ts → lib/interceptors/index.d.ts} +0 -2
- package/lib/interceptors/models/error-settings.model.d.ts +10 -0
- package/lib/interceptors/proxy-debugger.interceptor.d.ts +12 -0
- package/lib/interceptors/request-error.interceptor.d.ts +10 -0
- package/lib/interceptors/request-header.interceptor.d.ts +15 -0
- package/lib/models/config-http-options.model.d.ts +21 -0
- package/lib/models/config-local-storage-options.model.d.ts +13 -0
- package/lib/models/config-options.model.d.ts +12 -0
- package/{src/lib/models/config-token.model.ts → lib/models/config-token.model.d.ts} +1 -2
- package/lib/models/data-type.enum.d.ts +5 -0
- package/lib/models/database-storage.model.d.ts +10 -0
- package/lib/models/index.d.ts +6 -0
- package/lib/models/retry-options.model.d.ts +10 -0
- package/lib/services/database-manager-services/database.manager.service.d.ts +31 -0
- package/lib/services/database-manager-services/db.storage.service.d.ts +26 -0
- package/{src/lib/services/database-manager-services/index.ts → lib/services/database-manager-services/index.d.ts} +0 -1
- package/lib/services/database-manager-services/models/table-schema.d.ts +11 -0
- package/{src/lib/services/index.ts → lib/services/index.d.ts} +0 -4
- package/lib/services/local-storage-manager-service/index.d.ts +2 -0
- package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +86 -0
- package/lib/services/local-storage-manager-service/models/global-store-options.model.d.ts +15 -0
- package/{src/lib/services/local-storage-manager-service/models/index.ts → lib/services/local-storage-manager-service/models/index.d.ts} +1 -2
- package/lib/services/local-storage-manager-service/models/setting-options.model.d.ts +15 -0
- package/lib/services/local-storage-manager-service/models/storage-data.model.d.ts +10 -0
- package/lib/services/local-storage-manager-service/models/storage-option.model.d.ts +13 -0
- package/lib/services/local-storage-manager-service/models/storage-type.enum.d.ts +5 -0
- package/lib/services/request-manager-services/http-manager.service.d.ts +41 -0
- package/{src/lib/services/request-manager-services/index.ts → lib/services/request-manager-services/index.d.ts} +0 -2
- package/lib/services/request-manager-services/request.service.d.ts +27 -0
- package/lib/services/request-manager-services/rxjs-operators/countdown.d.ts +2 -0
- package/lib/services/request-manager-services/rxjs-operators/delay-retry.d.ts +2 -0
- package/lib/services/request-manager-services/rxjs-operators/request-polling.d.ts +7 -0
- package/lib/services/request-manager-services/rxjs-operators/request-streaming.d.ts +2 -0
- package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +51 -0
- package/{src/lib/services/request-manager-state-service/index.ts → lib/services/request-manager-state-service/index.d.ts} +0 -1
- package/lib/services/request-manager-state-service/models/api-request.model.d.ts +27 -0
- package/{src/lib/services/request-manager-state-service/models/index.ts → lib/services/request-manager-state-service/models/index.d.ts} +0 -1
- package/lib/services/request-manager-state-service/models/request-options.model.d.ts +10 -0
- package/lib/services/utils/app.service.d.ts +8 -0
- package/lib/services/utils/encryption/asymmetrical-encryption.service.d.ts +17 -0
- package/lib/services/utils/encryption/encryption-test.service.d.ts +10 -0
- package/{src/lib/services/utils/encryption/index.ts → lib/services/utils/encryption/index.d.ts} +0 -2
- package/lib/services/utils/encryption/random.d.ts +7 -0
- package/lib/services/utils/encryption/symmetrical-encryption.service.d.ts +14 -0
- package/lib/services/utils/headers.service.d.ts +10 -0
- package/{src/lib/services/utils/index.ts → lib/services/utils/index.d.ts} +0 -2
- package/lib/services/utils/object-merger.service.d.ts +12 -0
- package/lib/services/utils/path-query.service.d.ts +11 -0
- package/lib/services/utils/utils.service.d.ts +24 -0
- package/package.json +14 -1
- package/{src/public-api.ts → public-api.d.ts} +0 -7
- package/ng-package.json +0 -8
- package/src/lib/http-request-manager.module.ts +0 -101
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -3
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -105
- package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -64
- package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
- package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -34
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -205
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -59
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -71
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -99
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -25
- package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -336
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -24
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -403
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -328
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -347
- package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -88
- package/src/lib/index.ts +0 -3
- package/src/lib/interceptors/credentials.interceptor.ts +0 -18
- package/src/lib/interceptors/models/error-settings.model.ts +0 -22
- package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
- package/src/lib/interceptors/request-error.interceptor.ts +0 -65
- package/src/lib/interceptors/request-header.interceptor.ts +0 -58
- package/src/lib/models/config-http-options.model.ts +0 -42
- package/src/lib/models/config-local-storage-options.model.ts +0 -27
- package/src/lib/models/config-options.model.ts +0 -27
- package/src/lib/models/data-type.enum.ts +0 -5
- package/src/lib/models/database-storage.model.ts +0 -24
- package/src/lib/models/index.ts +0 -9
- package/src/lib/models/retry-options.model.ts +0 -22
- package/src/lib/services/database-manager-services/database.manager.service.ts +0 -193
- package/src/lib/services/database-manager-services/db.storage.service.ts +0 -191
- package/src/lib/services/database-manager-services/models/table-schema.ts +0 -35
- package/src/lib/services/local-storage-manager-service/index.ts +0 -2
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -421
- package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
- package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -30
- package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
- package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -29
- package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
- package/src/lib/services/request-manager-services/README.md +0 -268
- package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -230
- package/src/lib/services/request-manager-services/http-manager.service.ts +0 -274
- package/src/lib/services/request-manager-services/request.service.ts +0 -261
- package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
- package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
- package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -21
- package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -32
- package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -402
- package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -50
- package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -22
- package/src/lib/services/utils/app.service.spec.ts +0 -25
- package/src/lib/services/utils/app.service.ts +0 -21
- package/src/lib/services/utils/encryption/README.md +0 -79
- package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
- package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
- package/src/lib/services/utils/encryption/random.ts +0 -69
- package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -93
- package/src/lib/services/utils/headers.service.spec.ts +0 -80
- package/src/lib/services/utils/headers.service.ts +0 -18
- package/src/lib/services/utils/object-merger.service.spec.ts +0 -16
- package/src/lib/services/utils/object-merger.service.ts +0 -60
- package/src/lib/services/utils/path-query.service.spec.ts +0 -117
- package/src/lib/services/utils/path-query.service.ts +0 -69
- package/src/lib/services/utils/utils.service.spec.ts +0 -164
- package/src/lib/services/utils/utils.service.ts +0 -192
- package/tsconfig.lib.json +0 -32
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/{src/lib/services/request-manager-services/rxjs-operators/index.ts → lib/services/request-manager-services/rxjs-operators/index.d.ts} +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { catchError, throwError } from 'rxjs';
|
|
3
|
+
import { ToastMessageDisplayService, ToastDisplay, ToastColors } from 'toast-message-display';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class RequestErrorInterceptor {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.toastMessage = inject(ToastMessageDisplayService);
|
|
8
|
+
}
|
|
9
|
+
intercept(req, next) {
|
|
10
|
+
return next.handle(req).pipe(catchError((error) => {
|
|
11
|
+
const displayError = ToastDisplay.adapt({
|
|
12
|
+
message: 'This is a toast message. This is an Error!!',
|
|
13
|
+
action: 'OK',
|
|
14
|
+
color: ToastColors.SUCCESS,
|
|
15
|
+
icon: 'info',
|
|
16
|
+
duration: 5 * 1000, //5 seconds
|
|
17
|
+
});
|
|
18
|
+
if (error.status >= 400 && error.status < 500) {
|
|
19
|
+
displayError.color = ToastColors.WARN;
|
|
20
|
+
displayError.message = error.error || `${error.status}: ${error.statusText}`;
|
|
21
|
+
console.error('Client Error:', {
|
|
22
|
+
status: error.status,
|
|
23
|
+
message: error.message,
|
|
24
|
+
error: error.error,
|
|
25
|
+
text: error.statusText,
|
|
26
|
+
});
|
|
27
|
+
this.toastMessage.toastMessage(displayError);
|
|
28
|
+
}
|
|
29
|
+
else if (error.status >= 500) {
|
|
30
|
+
displayError.color = ToastColors.ERROR;
|
|
31
|
+
displayError.message = error.error || `${error.status}: ${error.statusText}`;
|
|
32
|
+
console.error('Server Error:', {
|
|
33
|
+
status: error.status,
|
|
34
|
+
message: error.message,
|
|
35
|
+
error: error.error,
|
|
36
|
+
text: error.statusText,
|
|
37
|
+
});
|
|
38
|
+
this.toastMessage.toastMessage(displayError);
|
|
39
|
+
}
|
|
40
|
+
return throwError(() => error);
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestErrorInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestErrorInterceptor }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestErrorInterceptor, decorators: [{
|
|
47
|
+
type: Injectable
|
|
48
|
+
}] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1lcnJvci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaW50ZXJjZXB0b3JzL3JlcXVlc3QtZXJyb3IuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTs7QUFHN0YsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUdFLGlCQUFZLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7S0FxRGxEO0lBbkRDLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBRWhELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBRTFCLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUV0QyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO2dCQUN0QyxPQUFPLEVBQUUsNkNBQTZDO2dCQUN0RCxNQUFNLEVBQUUsSUFBSTtnQkFDWixLQUFLLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzFCLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLFdBQVc7YUFDaEMsQ0FBQyxDQUFBO1lBRUYsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUU5QyxZQUFZLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUE7Z0JBQ3JDLFlBQVksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFBO2dCQUU1RSxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRTtvQkFDN0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO29CQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87b0JBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztvQkFDbEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVO2lCQUN2QixDQUFDLENBQUE7Z0JBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUE7WUFFOUMsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBRS9CLFlBQVksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQTtnQkFDdEMsWUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUE7Z0JBRTVFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFO29CQUM3QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztvQkFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7aUJBQ3ZCLENBQUMsQ0FBQTtnQkFFRixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUU5QyxDQUFDO1lBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFaEMsQ0FBQyxDQUFDLENBRUgsQ0FBQTtJQUNILENBQUM7K0dBckRVLHVCQUF1QjttSEFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgVG9hc3RNZXNzYWdlRGlzcGxheVNlcnZpY2UsIFRvYXN0RGlzcGxheSwgVG9hc3RDb2xvcnMgfSBmcm9tICd0b2FzdC1tZXNzYWdlLWRpc3BsYXknXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0RXJyb3JJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgdG9hc3RNZXNzYWdlID0gaW5qZWN0KFRvYXN0TWVzc2FnZURpc3BsYXlTZXJ2aWNlKVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcblxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG5cbiAgICAgICAgY29uc3QgZGlzcGxheUVycm9yID0gVG9hc3REaXNwbGF5LmFkYXB0KHtcbiAgICAgICAgICBtZXNzYWdlOiAnVGhpcyBpcyBhIHRvYXN0IG1lc3NhZ2UuIFRoaXMgaXMgYW4gRXJyb3IhIScsXG4gICAgICAgICAgYWN0aW9uOiAnT0snLFxuICAgICAgICAgIGNvbG9yOiBUb2FzdENvbG9ycy5TVUNDRVNTLFxuICAgICAgICAgIGljb246ICdpbmZvJyxcbiAgICAgICAgICBkdXJhdGlvbjogNSAqIDEwMDAsIC8vNSBzZWNvbmRzXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA+PSA0MDAgJiYgZXJyb3Iuc3RhdHVzIDwgNTAwKSB7XG5cbiAgICAgICAgICBkaXNwbGF5RXJyb3IuY29sb3IgPSBUb2FzdENvbG9ycy5XQVJOXG4gICAgICAgICAgZGlzcGxheUVycm9yLm1lc3NhZ2UgPSBlcnJvci5lcnJvciB8fCBgJHtlcnJvci5zdGF0dXN9OiAke2Vycm9yLnN0YXR1c1RleHR9YFxuXG4gICAgICAgICAgY29uc29sZS5lcnJvcignQ2xpZW50IEVycm9yOicsIHtcbiAgICAgICAgICAgIHN0YXR1czogZXJyb3Iuc3RhdHVzLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvci5lcnJvcixcbiAgICAgICAgICAgIHRleHQ6IGVycm9yLnN0YXR1c1RleHQsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHRoaXMudG9hc3RNZXNzYWdlLnRvYXN0TWVzc2FnZShkaXNwbGF5RXJyb3IpXG5cbiAgICAgICAgfSBlbHNlIGlmIChlcnJvci5zdGF0dXMgPj0gNTAwKSB7XG5cbiAgICAgICAgICBkaXNwbGF5RXJyb3IuY29sb3IgPSBUb2FzdENvbG9ycy5FUlJPUlxuICAgICAgICAgIGRpc3BsYXlFcnJvci5tZXNzYWdlID0gZXJyb3IuZXJyb3IgfHwgYCR7ZXJyb3Iuc3RhdHVzfTogJHtlcnJvci5zdGF0dXNUZXh0fWBcblxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NlcnZlciBFcnJvcjonLCB7XG4gICAgICAgICAgICBzdGF0dXM6IGVycm9yLnN0YXR1cyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICBlcnJvcjogZXJyb3IuZXJyb3IsXG4gICAgICAgICAgICB0ZXh0OiBlcnJvci5zdGF0dXNUZXh0LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICB0aGlzLnRvYXN0TWVzc2FnZS50b2FzdE1lc3NhZ2UoZGlzcGxheUVycm9yKVxuXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcilcblxuICAgICAgfSlcblxuICAgIClcbiAgfVxuXG59XG5cblxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subscription } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ngx-translate/core";
|
|
5
|
+
export class RequestHeadersInterceptor {
|
|
6
|
+
get currentDate() {
|
|
7
|
+
const date = new Date();
|
|
8
|
+
const year = date.getFullYear();
|
|
9
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
10
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
11
|
+
return `${year}-${month}-${day}`;
|
|
12
|
+
}
|
|
13
|
+
constructor(translate) {
|
|
14
|
+
this.translate = translate;
|
|
15
|
+
this.subscriptions = new Subscription();
|
|
16
|
+
this.language = 'en-CA';
|
|
17
|
+
this.subscriptions.add(this.translate.onLangChange
|
|
18
|
+
.subscribe((params) => {
|
|
19
|
+
this.language = `${params.lang}-CA`;
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
intercept(request, next) {
|
|
23
|
+
request = request.clone({
|
|
24
|
+
setHeaders: {
|
|
25
|
+
'Content-Type': 'application/json',
|
|
26
|
+
'Accept-Language': this.language || 'en-CA',
|
|
27
|
+
'Current-Date': this.currentDate
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return next.handle(request);
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this.subscriptions.unsubscribe();
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestHeadersInterceptor, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestHeadersInterceptor }); }
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestHeadersInterceptor, decorators: [{
|
|
39
|
+
type: Injectable
|
|
40
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oZWFkZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2ludGVyY2VwdG9ycy9yZXF1ZXN0LWhlYWRlci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUloRCxNQUFNLE9BQU8seUJBQXlCO0lBS3BDLElBQUksV0FBVztRQUViLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFFdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUMxRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUVuRCxPQUFPLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUVsQyxDQUFDO0lBRUQsWUFDVSxTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWhCckMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2xDLGFBQVEsR0FBRyxPQUFPLENBQUE7UUFpQmhCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVk7YUFDMUIsU0FBUyxDQUFDLENBQUMsTUFBdUIsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUE7UUFDdkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUVwRCxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QixVQUFVLEVBQUU7Z0JBQ1YsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPO2dCQUMzQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDakM7U0FDRixDQUFDLENBQUE7UUFFRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ2xDLENBQUM7K0dBNUNVLHlCQUF5QjttSEFBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGFuZ0NoYW5nZUV2ZW50LCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0SGVhZGVyc0ludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpXG4gIGxhbmd1YWdlID0gJ2VuLUNBJ1xuXG4gIGdldCBjdXJyZW50RGF0ZSgpIHtcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG5cbiAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpXG4gICAgY29uc3QgbW9udGggPSBTdHJpbmcoZGF0ZS5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKVxuICAgIGNvbnN0IGRheSA9IFN0cmluZyhkYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKVxuXG4gICAgcmV0dXJuIGAke3llYXJ9LSR7bW9udGh9LSR7ZGF5fWBcblxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMudHJhbnNsYXRlLm9uTGFuZ0NoYW5nZVxuICAgICAgLnN1YnNjcmliZSgocGFyYW1zOiBMYW5nQ2hhbmdlRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlID0gYCR7cGFyYW1zLmxhbmd9LUNBYFxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG5cbiAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiB0aGlzLmxhbmd1YWdlIHx8ICdlbi1DQScsXG4gICAgICAgICdDdXJyZW50LURhdGUnOiB0aGlzLmN1cnJlbnREYXRlXG4gICAgICB9XG4gICAgfSlcblxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KVxuXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKVxuICB9XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RetryOptions } from "./retry-options.model";
|
|
2
|
+
export class ConfigHTTPOptions {
|
|
3
|
+
constructor(server = '', path, headers, polling, retry, stream, displayError) {
|
|
4
|
+
this.server = server;
|
|
5
|
+
this.path = path;
|
|
6
|
+
this.headers = headers;
|
|
7
|
+
this.polling = polling;
|
|
8
|
+
this.retry = retry;
|
|
9
|
+
this.stream = stream;
|
|
10
|
+
this.displayError = displayError;
|
|
11
|
+
}
|
|
12
|
+
static adapt(item) {
|
|
13
|
+
const server = Array.isArray(item?.server) ? item.server.join('/') : item?.server || '';
|
|
14
|
+
const retryOptions = item?.retry ? RetryOptions.adapt(item.retry) : RetryOptions.adapt();
|
|
15
|
+
return new ConfigHTTPOptions(server, (item?.path) ? item.path : [], (item?.headers) ? item.headers : {}, item?.polling ? Math.floor(item.polling) : 0, retryOptions, (item?.stream) ? item.stream : false, (item?.displayError) ? item.displayError : false);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWh0dHAtb3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvbW9kZWxzL2NvbmZpZy1odHRwLW9wdGlvbnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBWXBELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFDUyxTQUFTLEVBQUUsRUFDWCxJQUFZLEVBQ1osT0FBYSxFQUNiLE9BQWdCLEVBQ2hCLEtBQW9CLEVBQ3BCLE1BQWdCLEVBQ2hCLFlBQXNCO1FBTnRCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDWCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBTTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFVO0lBQzVCLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFFckIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN4RixNQUFNLFlBQVksR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpGLE9BQU8sSUFBSSxpQkFBaUIsQ0FDMUIsTUFBTSxFQUNOLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQzdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ25DLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzVDLFlBQVksRUFDWixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUNwQyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUNqRCxDQUFBO0lBRUgsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmV0cnlPcHRpb25zIH0gZnJvbSBcIi4vcmV0cnktb3B0aW9ucy5tb2RlbFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnSFRUUE9wdGlvbnNJbnRlcmZhY2Uge1xuICBzZXJ2ZXI6IHN0cmluZ1xuICBwYXRoPzogYW55W11cbiAgaGVhZGVycz86IGFueVxuICBwb2xsaW5nPzogbnVtYmVyIC8vIHNlY29uZHMgKHVuZGVmaW5lZCB8IDAgPSBub25lKVxuICByZXRyeT86IFJldHJ5T3B0aW9uc1xuICBzdHJlYW0/OiBib29sZWFuXG4gIGRpc3BsYXlFcnJvcj86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZ0hUVFBPcHRpb25zIGltcGxlbWVudHMgQ29uZmlnSFRUUE9wdGlvbnNJbnRlcmZhY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2ZXIgPSAnJyxcbiAgICBwdWJsaWMgcGF0aD86IGFueVtdLFxuICAgIHB1YmxpYyBoZWFkZXJzPzogYW55LFxuICAgIHB1YmxpYyBwb2xsaW5nPzogbnVtYmVyLFxuICAgIHB1YmxpYyByZXRyeT86IFJldHJ5T3B0aW9ucyxcbiAgICBwdWJsaWMgc3RyZWFtPzogYm9vbGVhbixcbiAgICBwdWJsaWMgZGlzcGxheUVycm9yPzogYm9vbGVhbixcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KTogQ29uZmlnSFRUUE9wdGlvbnMge1xuXG4gICAgY29uc3Qgc2VydmVyID0gQXJyYXkuaXNBcnJheShpdGVtPy5zZXJ2ZXIpID8gaXRlbS5zZXJ2ZXIuam9pbignLycpIDogaXRlbT8uc2VydmVyIHx8ICcnO1xuICAgIGNvbnN0IHJldHJ5T3B0aW9ucyA9IGl0ZW0/LnJldHJ5ID8gUmV0cnlPcHRpb25zLmFkYXB0KGl0ZW0ucmV0cnkpIDogUmV0cnlPcHRpb25zLmFkYXB0KCk7XG5cbiAgICByZXR1cm4gbmV3IENvbmZpZ0hUVFBPcHRpb25zKFxuICAgICAgc2VydmVyLFxuICAgICAgKGl0ZW0/LnBhdGgpID8gaXRlbS5wYXRoIDogW10sXG4gICAgICAoaXRlbT8uaGVhZGVycykgPyBpdGVtLmhlYWRlcnMgOiB7fSxcbiAgICAgIGl0ZW0/LnBvbGxpbmcgPyBNYXRoLmZsb29yKGl0ZW0ucG9sbGluZykgOiAwLFxuICAgICAgcmV0cnlPcHRpb25zLFxuICAgICAgKGl0ZW0/LnN0cmVhbSkgPyBpdGVtLnN0cmVhbSA6IGZhbHNlLFxuICAgICAgKGl0ZW0/LmRpc3BsYXlFcnJvcikgPyBpdGVtLmRpc3BsYXlFcnJvciA6IGZhbHNlLFxuICAgIClcblxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SettingOptions } from "../services";
|
|
2
|
+
export class LocalStorageOptions {
|
|
3
|
+
constructor(storageName, storageSettingsName, options) {
|
|
4
|
+
this.storageName = storageName;
|
|
5
|
+
this.storageSettingsName = storageSettingsName;
|
|
6
|
+
this.options = options;
|
|
7
|
+
}
|
|
8
|
+
static adapt(item) {
|
|
9
|
+
return new LocalStorageOptions((item?.storageName) ? item.storageName : 'storage', (item?.storageSettingsName) ? item.storageSettingsName : 'global-storage', (item?.options) ? SettingOptions.adapt(item.options) : SettingOptions.adapt());
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWxvY2FsLXN0b3JhZ2Utb3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvbW9kZWxzL2NvbmZpZy1sb2NhbC1zdG9yYWdlLW9wdGlvbnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVE1QyxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQ1MsV0FBb0IsRUFDcEIsbUJBQTRCLEVBQzVCLE9BQXdCO1FBRnhCLGdCQUFXLEdBQVgsV0FBVyxDQUFTO1FBQ3BCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBUztRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUM5QixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFVO1FBRXJCLE9BQU8sSUFBSSxtQkFBbUIsQ0FDNUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDbEQsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFDekUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQzlFLENBQUE7SUFFSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXR0aW5nT3B0aW9ucyB9IGZyb20gXCIuLi9zZXJ2aWNlc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxTdG9yYWdlT3B0aW9uc0ludGVyZmFjZSB7XG4gIHN0b3JhZ2VOYW1lPzogc3RyaW5nXG4gIHN0b3JhZ2VTZXR0aW5nc05hbWU/OiBzdHJpbmdcbiAgb3B0aW9ucz86IFNldHRpbmdPcHRpb25zLFxufVxuXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlT3B0aW9ucyBpbXBsZW1lbnRzIExvY2FsU3RvcmFnZU9wdGlvbnNJbnRlcmZhY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdG9yYWdlTmFtZT86IHN0cmluZyxcbiAgICBwdWJsaWMgc3RvcmFnZVNldHRpbmdzTmFtZT86IHN0cmluZyxcbiAgICBwdWJsaWMgb3B0aW9ucz86IFNldHRpbmdPcHRpb25zLFxuICApIHt9XG5cbiAgc3RhdGljIGFkYXB0KGl0ZW0/OiBhbnkpOiBMb2NhbFN0b3JhZ2VPcHRpb25zIHtcblxuICAgIHJldHVybiBuZXcgTG9jYWxTdG9yYWdlT3B0aW9ucyhcbiAgICAgIChpdGVtPy5zdG9yYWdlTmFtZSkgPyBpdGVtLnN0b3JhZ2VOYW1lIDogJ3N0b3JhZ2UnLFxuICAgICAgKGl0ZW0/LnN0b3JhZ2VTZXR0aW5nc05hbWUpID8gaXRlbS5zdG9yYWdlU2V0dGluZ3NOYW1lIDogJ2dsb2JhbC1zdG9yYWdlJyxcbiAgICAgIChpdGVtPy5vcHRpb25zKSA/IFNldHRpbmdPcHRpb25zLmFkYXB0KGl0ZW0ub3B0aW9ucykgOiBTZXR0aW5nT3B0aW9ucy5hZGFwdCgpLFxuICAgIClcblxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ConfigHTTPOptions } from "./config-http-options.model";
|
|
2
|
+
import { LocalStorageOptions } from "./config-local-storage-options.model";
|
|
3
|
+
export class ConfigOptions {
|
|
4
|
+
constructor(httpRequestOptions, LocalStorageOptions) {
|
|
5
|
+
this.httpRequestOptions = httpRequestOptions;
|
|
6
|
+
this.LocalStorageOptions = LocalStorageOptions;
|
|
7
|
+
}
|
|
8
|
+
static adapt(item) {
|
|
9
|
+
return new ConfigOptions((item?.httpRequestOptions) ? ConfigHTTPOptions.adapt(item.httpRequestOptions) : undefined, (item?.LocalStorageOptions) ? LocalStorageOptions.adapt(item.LocalStorageOptions) : undefined);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL21vZGVscy9jb25maWctb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQVEzRSxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUNTLGtCQUFzQyxFQUN0QyxtQkFBeUM7UUFEekMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO0lBRS9DLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFDckIsT0FBTyxJQUFJLGFBQWEsQ0FDdEIsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3pGLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUU5RixDQUFBO0lBRUgsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnSFRUUE9wdGlvbnMgfSBmcm9tIFwiLi9jb25maWctaHR0cC1vcHRpb25zLm1vZGVsXCI7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VPcHRpb25zIH0gZnJvbSBcIi4vY29uZmlnLWxvY2FsLXN0b3JhZ2Utb3B0aW9ucy5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ09wdGlvbnNJbnRlcmZhY2Uge1xuICBodHRwUmVxdWVzdE9wdGlvbnM/OiBDb25maWdIVFRQT3B0aW9uc1xuICBMb2NhbFN0b3JhZ2VPcHRpb25zPzogTG9jYWxTdG9yYWdlT3B0aW9uc1xuICAvLyBEYXRhYmFzZU9wdGlvbnM6IGFueVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnT3B0aW9ucyBpbXBsZW1lbnRzIENvbmZpZ09wdGlvbnNJbnRlcmZhY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBodHRwUmVxdWVzdE9wdGlvbnM/OiBDb25maWdIVFRQT3B0aW9ucyxcbiAgICBwdWJsaWMgTG9jYWxTdG9yYWdlT3B0aW9ucz86IExvY2FsU3RvcmFnZU9wdGlvbnMsXG4gICAgLy8gcHVibGljIERhdGFiYXNlT3B0aW9ucz86IGFueSxcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KTogQ29uZmlnT3B0aW9ucyB7XG4gICAgcmV0dXJuIG5ldyBDb25maWdPcHRpb25zKFxuICAgICAgKGl0ZW0/Lmh0dHBSZXF1ZXN0T3B0aW9ucykgPyBDb25maWdIVFRQT3B0aW9ucy5hZGFwdChpdGVtLmh0dHBSZXF1ZXN0T3B0aW9ucykgOiB1bmRlZmluZWQsXG4gICAgICAoaXRlbT8uTG9jYWxTdG9yYWdlT3B0aW9ucykgPyBMb2NhbFN0b3JhZ2VPcHRpb25zLmFkYXB0KGl0ZW0uTG9jYWxTdG9yYWdlT3B0aW9ucykgOiB1bmRlZmluZWQsXG4gICAgICAvLyBpdGVtPy5EYXRhYmFzZU9wdGlvbnMsXG4gICAgKVxuXG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* An injection token that provides the configuration settings for the application.
|
|
4
|
+
* This token can be used to inject the `ConfigSettings` instance into components or services
|
|
5
|
+
* that require access to the application configuration.
|
|
6
|
+
*/
|
|
7
|
+
export const CONFIG_SETTINGS_TOKEN = new InjectionToken('http.config');
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXRva2VuLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9tb2RlbHMvY29uZmlnLXRva2VuLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0M7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFnQixhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi9jb25maWctb3B0aW9ucy5tb2RlbFwiO1xuXG4vKipcbiAqIEFuIGluamVjdGlvbiB0b2tlbiB0aGF0IHByb3ZpZGVzIHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciB0aGUgYXBwbGljYXRpb24uXG4gKiBUaGlzIHRva2VuIGNhbiBiZSB1c2VkIHRvIGluamVjdCB0aGUgYENvbmZpZ1NldHRpbmdzYCBpbnN0YW5jZSBpbnRvIGNvbXBvbmVudHMgb3Igc2VydmljZXNcbiAqIHRoYXQgcmVxdWlyZSBhY2Nlc3MgdG8gdGhlIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBDT05GSUdfU0VUVElOR1NfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnT3B0aW9ucz4oJ2h0dHAuY29uZmlnJyk7XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var DataType;
|
|
2
|
+
(function (DataType) {
|
|
3
|
+
DataType[DataType["ANY"] = 0] = "ANY";
|
|
4
|
+
DataType[DataType["ARRAY"] = 1] = "ARRAY";
|
|
5
|
+
DataType[DataType["OBJECT"] = 2] = "OBJECT";
|
|
6
|
+
})(DataType || (DataType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL21vZGVscy9kYXRhLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxRQUlYO0FBSkQsV0FBWSxRQUFRO0lBQ2xCLHFDQUFPLENBQUE7SUFDUCx5Q0FBSyxDQUFBO0lBQ0wsMkNBQU0sQ0FBQTtBQUNSLENBQUMsRUFKVyxRQUFRLEtBQVIsUUFBUSxRQUluQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERhdGFUeXBlIHtcbiAgQU5ZID0gMCxcbiAgQVJSQVksXG4gIE9CSkVDVFxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class DatabaseStorage {
|
|
2
|
+
constructor(table = '', expiresIn) {
|
|
3
|
+
this.table = table;
|
|
4
|
+
this.expiresIn = expiresIn;
|
|
5
|
+
}
|
|
6
|
+
static adapt(item) {
|
|
7
|
+
return new DatabaseStorage(item?.table, item?.expiresIn);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2Utc3RvcmFnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvbW9kZWxzL2RhdGFiYXNlLXN0b3JhZ2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDUyxRQUFRLEVBQUUsRUFDVixTQUFhO1FBRGIsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNWLGNBQVMsR0FBVCxTQUFTLENBQUk7SUFDbkIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVTtRQUVyQixPQUFPLElBQUksZUFBZSxDQUN4QixJQUFJLEVBQUUsS0FBSyxFQUNYLElBQUksRUFBRSxTQUFTLENBQ2hCLENBQUE7SUFFSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gXCIuL2RhdGEtdHlwZS5lbnVtXCJcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVN0b3JhZ2VJbnRlcmZhY2Uge1xuICB0YWJsZTogc3RyaW5nXG4gIGV4cGlyZXNJbjogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhYmFzZVN0b3JhZ2UgaW1wbGVtZW50cyBEYXRhYmFzZVN0b3JhZ2VJbnRlcmZhY2Uge1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhYmxlID0gJycsXG4gICAgcHVibGljIGV4cGlyZXNJbjogJycsXG4gICkge31cblxuICBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSk6IERhdGFiYXNlU3RvcmFnZSB7XG5cbiAgICByZXR1cm4gbmV3IERhdGFiYXNlU3RvcmFnZShcbiAgICAgIGl0ZW0/LnRhYmxlLFxuICAgICAgaXRlbT8uZXhwaXJlc0luLFxuICAgIClcblxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './database-storage.model';
|
|
2
|
+
export * from './retry-options.model';
|
|
3
|
+
export * from './data-type.enum';
|
|
4
|
+
export * from './config-http-options.model';
|
|
5
|
+
export * from './config-local-storage-options.model';
|
|
6
|
+
export * from './config-options.model';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUE7QUFFckMsY0FBYyxrQkFBa0IsQ0FBQTtBQUVoQyxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YWJhc2Utc3RvcmFnZS5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vcmV0cnktb3B0aW9ucy5tb2RlbCdcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXR5cGUuZW51bSdcblxuZXhwb3J0ICogZnJvbSAnLi9jb25maWctaHR0cC1vcHRpb25zLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWctbG9jYWwtc3RvcmFnZS1vcHRpb25zLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWctb3B0aW9ucy5tb2RlbCdcblxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class RetryOptions {
|
|
2
|
+
constructor(times = 0, delay = 3) {
|
|
3
|
+
this.times = times;
|
|
4
|
+
this.delay = delay;
|
|
5
|
+
}
|
|
6
|
+
static adapt(item) {
|
|
7
|
+
return new RetryOptions(item?.times, item?.delay);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnktb3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvbW9kZWxzL3JldHJ5LW9wdGlvbnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFDUyxRQUFRLENBQUMsRUFDVCxRQUFRLENBQUM7UUFEVCxVQUFLLEdBQUwsS0FBSyxDQUFJO1FBQ1QsVUFBSyxHQUFMLEtBQUssQ0FBSTtJQUNmLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFFckIsT0FBTyxJQUFJLFlBQVksQ0FDckIsSUFBSSxFQUFFLEtBQUssRUFDWCxJQUFJLEVBQUUsS0FBSyxDQUNaLENBQUE7SUFFSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJldHJ5T3B0aW9uc0ludGVyZmFjZSB7XG4gIHRpbWVzPzogbnVtYmVyIC8vIHRvdGFsIHJlcXVlc3QgdG8gYmUgbWFkZSBpbmNsdWRpbmcgaW5pdGlhbCByZXF1ZXN0XG4gIGRlbGF5PzogbnVtYmVyIC8vIHNlY29uZHMgKDw9IDMgZGVmYXVsdCAzIHNlY29uZHMpXG59XG5cbmV4cG9ydCBjbGFzcyBSZXRyeU9wdGlvbnMgaW1wbGVtZW50cyBSZXRyeU9wdGlvbnNJbnRlcmZhY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0aW1lcyA9IDAsXG4gICAgcHVibGljIGRlbGF5ID0gMyxcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KTogUmV0cnlPcHRpb25zIHtcblxuICAgIHJldHVybiBuZXcgUmV0cnlPcHRpb25zKFxuICAgICAgaXRlbT8udGltZXMsXG4gICAgICBpdGVtPy5kZWxheVxuICAgIClcblxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { DbService } from './db.storage.service';
|
|
3
|
+
import { EMPTY, from } from 'rxjs';
|
|
4
|
+
import { map, mergeMap, switchMap } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DatabaseManagerService extends DbService {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.createNewDatabase();
|
|
10
|
+
}
|
|
11
|
+
getDatabaseTables() {
|
|
12
|
+
return from(this.DBOpened()).pipe(map(() => this.db.tables.map(item => item.name)));
|
|
13
|
+
}
|
|
14
|
+
hasDatabaseTable(table) {
|
|
15
|
+
return from(this.DBOpened()).pipe(map(() => {
|
|
16
|
+
return this.tableExists(this.clean(table));
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
getDatabaseTable(table) {
|
|
20
|
+
return from(this.DBOpened()).pipe(map((res) => {
|
|
21
|
+
this.hasDatabase().then((res) => {
|
|
22
|
+
const tables = this.db.tables;
|
|
23
|
+
const found = tables.find(item => item.name === this.clean(table)) || null;
|
|
24
|
+
if (!found) {
|
|
25
|
+
console.warn('No Such Table:', this.clean(table));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return found;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
getDatabaseTableSchema(table) {
|
|
35
|
+
return from(this.DBOpened()).pipe(mergeMap((res) => this.getDatabaseTable(table)), map((dbTable) => {
|
|
36
|
+
if (!dbTable)
|
|
37
|
+
return [];
|
|
38
|
+
const cols = dbTable.schema.indexes.map((col) => col.name);
|
|
39
|
+
const pri = dbTable.schema.primKey.name;
|
|
40
|
+
return [pri, ...cols];
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
createDatabaseTable(tableDef) {
|
|
44
|
+
this.createTable(tableDef.table, tableDef.schema);
|
|
45
|
+
return from(this.DBOpened());
|
|
46
|
+
}
|
|
47
|
+
updateDatabaseTableSchema(tableDef) {
|
|
48
|
+
}
|
|
49
|
+
// CRUD
|
|
50
|
+
findTableRecords(table, column, value) {
|
|
51
|
+
}
|
|
52
|
+
findTableRecord(table, column, value) {
|
|
53
|
+
}
|
|
54
|
+
getTableRecords(table) {
|
|
55
|
+
}
|
|
56
|
+
getTableRecord(table, id) {
|
|
57
|
+
}
|
|
58
|
+
createTableRecord(table, record) {
|
|
59
|
+
return this.createTableRecords(table, [record])
|
|
60
|
+
.pipe(map((item) => item ? item[0] : null));
|
|
61
|
+
}
|
|
62
|
+
createTableRecords(table, records) {
|
|
63
|
+
return this.getDatabaseTable(table).pipe(switchMap((tableData) => {
|
|
64
|
+
if (!tableData)
|
|
65
|
+
return EMPTY;
|
|
66
|
+
return this.getDatabaseTableSchema(table).pipe(map((schema) => {
|
|
67
|
+
const insertRecords = records.map((record) => {
|
|
68
|
+
const objectFromSchema = {};
|
|
69
|
+
schema.forEach((field) => {
|
|
70
|
+
const data = record[field] ?? null;
|
|
71
|
+
objectFromSchema[field] = data;
|
|
72
|
+
});
|
|
73
|
+
return objectFromSchema;
|
|
74
|
+
});
|
|
75
|
+
tableData.bulkPut(insertRecords);
|
|
76
|
+
return insertRecords;
|
|
77
|
+
}));
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
updateTableRecord(table, record) {
|
|
81
|
+
return this.updateTableRecords(table, [record])
|
|
82
|
+
.pipe(map(item => item.length > 0 ? item[0] : null));
|
|
83
|
+
}
|
|
84
|
+
updateTableRecords(table, records) {
|
|
85
|
+
return this.getDatabaseTable(table).pipe(switchMap((tableData) => {
|
|
86
|
+
return this.getDatabaseTableSchema(table).pipe(map((schema) => {
|
|
87
|
+
const insertRecords = records.map((record) => {
|
|
88
|
+
const objectFromSchema = {};
|
|
89
|
+
schema.forEach((field) => {
|
|
90
|
+
const data = record[field] ?? null;
|
|
91
|
+
objectFromSchema[field] = data;
|
|
92
|
+
});
|
|
93
|
+
return objectFromSchema;
|
|
94
|
+
});
|
|
95
|
+
tableData.bulkPut(insertRecords).then(() => console.log('Updated DB'));
|
|
96
|
+
return insertRecords;
|
|
97
|
+
}));
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
deleteTableRecord(table, id) {
|
|
101
|
+
}
|
|
102
|
+
clean(str) {
|
|
103
|
+
const cleanStr = str
|
|
104
|
+
.replace(/[^a-zA-Z0-9\s]/g, '_') // Replace non-alphanumeric characters except spaces with underscores
|
|
105
|
+
.replace(/\s+/g, '_') // Replace spaces with underscores
|
|
106
|
+
.toLowerCase() // Convert to lowercase
|
|
107
|
+
.trim(); // Trim leading or trailing spaces
|
|
108
|
+
return cleanStr;
|
|
109
|
+
}
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatabaseManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
111
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatabaseManagerService, providedIn: 'root' }); }
|
|
112
|
+
}
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatabaseManagerService, decorators: [{
|
|
114
|
+
type: Injectable,
|
|
115
|
+
args: [{
|
|
116
|
+
providedIn: 'root'
|
|
117
|
+
}]
|
|
118
|
+
}], ctorParameters: () => [] });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UubWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9kYXRhYmFzZS1tYW5hZ2VyLXNlcnZpY2VzL2RhdGFiYXNlLm1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLMUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFNBQVM7SUFFbkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQy9CLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDakQsQ0FBQTtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0IsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7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LENBQUMsQ0FBeUIsa0NBQWtDO1FBRXJFLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7K0dBcExVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYlNlcnZpY2UgfSBmcm9tICcuL2RiLnN0b3JhZ2Uuc2VydmljZSc7XG5cbmltcG9ydCB7IFRhYmxlU2NoZW1hRGVmIH0gZnJvbSAnLi9tb2RlbHMvdGFibGUtc2NoZW1hJztcbmltcG9ydCB7IEVNUFRZLCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGFiYXNlTWFuYWdlclNlcnZpY2UgZXh0ZW5kcyBEYlNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyBcbiAgICBzdXBlcigpXG4gICAgdGhpcy5jcmVhdGVOZXdEYXRhYmFzZSgpXG4gIH1cblxuICBnZXREYXRhYmFzZVRhYmxlcygpIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLkRCT3BlbmVkKCkpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5kYi50YWJsZXMubWFwKGl0ZW0gPT4gaXRlbS5uYW1lKSlcbiAgICApXG4gIH1cblxuICBoYXNEYXRhYmFzZVRhYmxlKHRhYmxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLkRCT3BlbmVkKCkpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUV4aXN0cyh0aGlzLmNsZWFuKHRhYmxlKSlcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0RGF0YWJhc2VUYWJsZSh0YWJsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLkRCT3BlbmVkKCkpLnBpcGUoXG4gICAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmhhc0RhdGFiYXNlKCkudGhlbigocmVzKSA9PiB7XG5cbiAgICAgICAgICBjb25zdCB0YWJsZXMgPSB0aGlzLmRiLnRhYmxlc1xuICAgICAgICAgIGNvbnN0IGZvdW5kID0gdGFibGVzLmZpbmQoaXRlbSA9PiBpdGVtLm5hbWUgPT09IHRoaXMuY2xlYW4odGFibGUpKSB8fCBudWxsXG5cbiAgICAgICAgICBpZighZm91bmQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignTm8gU3VjaCBUYWJsZTonLCB0aGlzLmNsZWFuKHRhYmxlKSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH0gZWxzZSB7IFxuICAgICAgICAgICAgcmV0dXJuIGZvdW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBnZXREYXRhYmFzZVRhYmxlU2NoZW1hKHRhYmxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG5cbiAgICByZXR1cm4gZnJvbSh0aGlzLkRCT3BlbmVkKCkpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgocmVzKSA9PiB0aGlzLmdldERhdGFiYXNlVGFibGUodGFibGUpKSxcbiAgICAgIG1hcCgoZGJUYWJsZTogYW55KSA9PiB7XG4gICAgICAgIGlmKCFkYlRhYmxlKSByZXR1cm4gW11cbiAgICAgICAgY29uc3QgY29scyA9IGRiVGFibGUuc2NoZW1hLmluZGV4ZXMubWFwKChjb2w6IGFueSkgPT4gY29sLm5hbWUpXG4gICAgICAgIGNvbnN0IHByaSA9IGRiVGFibGUuc2NoZW1hLnByaW1LZXkubmFtZVxuICAgICAgICByZXR1cm4gW3ByaSwgLi4uY29sc11cbiAgICAgIH0pXG4gICAgKVxuXG4gIH1cblxuICBjcmVhdGVEYXRhYmFzZVRhYmxlKHRhYmxlRGVmOiBUYWJsZVNjaGVtYURlZikge1xuICAgIHRoaXMuY3JlYXRlVGFibGUodGFibGVEZWYudGFibGUsIHRhYmxlRGVmLnNjaGVtYSlcbiAgICByZXR1cm4gZnJvbSh0aGlzLkRCT3BlbmVkKCkpXG4gIH1cblxuICB1cGRhdGVEYXRhYmFzZVRhYmxlU2NoZW1hKHRhYmxlRGVmOiBUYWJsZVNjaGVtYURlZikge1xuXG4gIH1cblxuICAvLyBDUlVEXG4gIGZpbmRUYWJsZVJlY29yZHModGFibGU6IHN0cmluZywgY29sdW1uOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgXG4gIH1cblxuICBmaW5kVGFibGVSZWNvcmQodGFibGU6IHN0cmluZywgY29sdW1uOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICBcbiAgfVxuXG4gIGdldFRhYmxlUmVjb3Jkcyh0YWJsZTogc3RyaW5nKSB7XG4gICAgXG4gIH1cblxuICBnZXRUYWJsZVJlY29yZCh0YWJsZTogc3RyaW5nLCBpZDogbnVtYmVyKSB7XG4gICAgXG4gIH1cblxuICBjcmVhdGVUYWJsZVJlY29yZCh0YWJsZTogc3RyaW5nLCByZWNvcmQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZVRhYmxlUmVjb3Jkcyh0YWJsZSwgW3JlY29yZF0pXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKGl0ZW06IGFueSkgPT4gaXRlbSA/IGl0ZW1bMF0gOiBudWxsKSlcbiAgfVxuXG4gIGNyZWF0ZVRhYmxlUmVjb3Jkcyh0YWJsZTogc3RyaW5nLCByZWNvcmRzOiBhbnlbXSkge1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0RGF0YWJhc2VUYWJsZSh0YWJsZSkucGlwZShcblxuICAgICAgc3dpdGNoTWFwKCh0YWJsZURhdGE6IGFueSkgPT4ge1xuICAgICAgICBcbiAgICAgICAgaWYoIXRhYmxlRGF0YSkgcmV0dXJuIEVNUFRZXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF0YWJhc2VUYWJsZVNjaGVtYSh0YWJsZSkucGlwZShcblxuICAgICAgICAgIG1hcCgoc2NoZW1hOiBzdHJpbmdbXSkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBpbnNlcnRSZWNvcmRzID0gcmVjb3Jkcy5tYXAoKHJlY29yZDogYW55KSA9PiB7XG5cbiAgICAgICAgICAgICAgY29uc3Qgb2JqZWN0RnJvbVNjaGVtYTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9XG5cbiAgICAgICAgICAgICAgc2NoZW1hLmZvckVhY2goKGZpZWxkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gKHJlY29yZCBhcyBhbnkpW2ZpZWxkXSA/PyBudWxsXG4gICAgICAgICAgICAgICAgb2JqZWN0RnJvbVNjaGVtYVtmaWVsZF0gPSBkYXRhXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgcmV0dXJuIG9iamVjdEZyb21TY2hlbWFcblxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgdGFibGVEYXRhLmJ1bGtQdXQoaW5zZXJ0UmVjb3JkcylcbiAgICAgICAgICAgIHJldHVybiBpbnNlcnRSZWNvcmRzXG5cbiAgICAgICAgICB9KVxuXG4gICAgICAgIClcblxuICAgICAgfSlcblxuICAgIClcblxuICB9XG5cbiAgdXBkYXRlVGFibGVSZWNvcmQodGFibGU6IHN0cmluZywgcmVjb3JkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVUYWJsZVJlY29yZHModGFibGUsIFtyZWNvcmRdKVxuICAgIC5waXBlKFxuICAgICAgbWFwKGl0ZW0gPT4gaXRlbS5sZW5ndGggPiAwID8gaXRlbVswXSA6IG51bGwpXG4gICAgKVxuICB9XG5cbiAgdXBkYXRlVGFibGVSZWNvcmRzKHRhYmxlOiBzdHJpbmcsIHJlY29yZHM6IGFueVtdKSB7XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuZ2V0RGF0YWJhc2VUYWJsZSh0YWJsZSkucGlwZShcblxuICAgICAgc3dpdGNoTWFwKCh0YWJsZURhdGE6IGFueSkgPT4ge1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGFiYXNlVGFibGVTY2hlbWEodGFibGUpLnBpcGUoXG5cbiAgICAgICAgICBtYXAoKHNjaGVtYTogc3RyaW5nW10pID0+IHtcblxuICAgICAgICAgICAgY29uc3QgaW5zZXJ0UmVjb3JkcyA9IHJlY29yZHMubWFwKChyZWNvcmQ6IGFueSkgPT4ge1xuXG4gICAgICAgICAgICAgIGNvbnN0IG9iamVjdEZyb21TY2hlbWE6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fVxuXG4gICAgICAgICAgICAgIHNjaGVtYS5mb3JFYWNoKChmaWVsZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IChyZWNvcmQgYXMgYW55KVtmaWVsZF0gPz8gbnVsbFxuICAgICAgICAgICAgICAgIG9iamVjdEZyb21TY2hlbWFbZmllbGRdID0gZGF0YVxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIHJldHVybiBvYmplY3RGcm9tU2NoZW1hXG5cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIHRhYmxlRGF0YS5idWxrUHV0KGluc2VydFJlY29yZHMpLnRoZW4oKCkgPT4gY29uc29sZS5sb2coJ1VwZGF0ZWQgREInKSlcbiAgICAgICAgICAgIHJldHVybiBpbnNlcnRSZWNvcmRzXG5cbiAgICAgICAgICB9KVxuXG4gICAgICAgIClcblxuICAgICAgfSlcblxuICAgIClcblxuICB9XG5cbiAgZGVsZXRlVGFibGVSZWNvcmQ8VD4odGFibGU6IHN0cmluZywgaWQ6IG51bWJlcikge1xuICAgIFxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhbihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY2xlYW5TdHIgPSBzdHJcbiAgICAgIC5yZXBsYWNlKC9bXmEtekEtWjAtOVxcc10vZywgJ18nKSAvLyBSZXBsYWNlIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVycyBleGNlcHQgc3BhY2VzIHdpdGggdW5kZXJzY29yZXNcbiAgICAgIC5yZXBsYWNlKC9cXHMrL2csICdfJykgICAgICAgICAgICAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIHVuZGVyc2NvcmVzXG4gICAgICAudG9Mb3dlckNhc2UoKSAgICAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IHRvIGxvd2VyY2FzZVxuICAgICAgLnRyaW0oKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVHJpbSBsZWFkaW5nIG9yIHRyYWlsaW5nIHNwYWNlc1xuICBcbiAgICByZXR1cm4gY2xlYW5TdHI7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import Dexie from 'dexie';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DbService extends Dexie {
|
|
5
|
+
get vr() {
|
|
6
|
+
return (this.db.verno === 0) ? 1 : this.db.verno + 1;
|
|
7
|
+
}
|
|
8
|
+
get nextVr() {
|
|
9
|
+
return this.vr + 1;
|
|
10
|
+
}
|
|
11
|
+
get getTables() {
|
|
12
|
+
return this.db.tables.map(item => item.name);
|
|
13
|
+
}
|
|
14
|
+
async hasDatabase() {
|
|
15
|
+
return await Dexie.exists(this.storageDB).then((res) => {
|
|
16
|
+
this.createNewDatabase();
|
|
17
|
+
return res;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
constructor() {
|
|
21
|
+
super("global_storage_db");
|
|
22
|
+
this.storageDB = "global_storage_db";
|
|
23
|
+
this.db = new Dexie(this.storageDB);
|
|
24
|
+
this.getTable = (table) => {
|
|
25
|
+
return this.db.tables.find(item => item.name === table);
|
|
26
|
+
};
|
|
27
|
+
this.tableExists = (table) => {
|
|
28
|
+
return (this.getTables.find(item => item === table)) ? true : false;
|
|
29
|
+
};
|
|
30
|
+
this.db = this;
|
|
31
|
+
this.open().then(data => {
|
|
32
|
+
}).catch(err => {
|
|
33
|
+
this.createNewDatabase();
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async updateTable(table, find, data) {
|
|
37
|
+
const tableSource = this.getTable(table);
|
|
38
|
+
if (!tableSource || !find || !(find.key || find.value))
|
|
39
|
+
return false;
|
|
40
|
+
await tableSource?.where(find.key).equals(find.value).first()
|
|
41
|
+
.then(async (rec) => {
|
|
42
|
+
const newRec = this.updateObjectKeys(rec, data);
|
|
43
|
+
await tableSource?.update(rec.id, newRec);
|
|
44
|
+
});
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
async createNewDatabase() {
|
|
48
|
+
const db = new Dexie('global_storage_db');
|
|
49
|
+
if (!await Dexie.exists(db.name)) {
|
|
50
|
+
db.version(1).stores({});
|
|
51
|
+
}
|
|
52
|
+
await db.open();
|
|
53
|
+
}
|
|
54
|
+
// async createTable(table: string, schema: string) {
|
|
55
|
+
async createTable(table, schema) {
|
|
56
|
+
// console.log('createTable:', table, schema)
|
|
57
|
+
this.hasDatabase().then(async (res) => {
|
|
58
|
+
const tableDef = this.normalizeString(table);
|
|
59
|
+
const schemaDef = this.normalizeString(schema);
|
|
60
|
+
table = tableDef || '';
|
|
61
|
+
schema = schemaDef || '';
|
|
62
|
+
if (table === '' || schema === '')
|
|
63
|
+
return;
|
|
64
|
+
if (!this.db.isOpen()) {
|
|
65
|
+
await this.db.open()
|
|
66
|
+
.then(async () => {
|
|
67
|
+
this.create(table, schema);
|
|
68
|
+
// console.log('OPENED', table)
|
|
69
|
+
})
|
|
70
|
+
.catch(() => {
|
|
71
|
+
// console.log('FAILED', table)
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.create(table, schema);
|
|
76
|
+
}
|
|
77
|
+
const hasTable = this.getTable(table);
|
|
78
|
+
if (!hasTable) {
|
|
79
|
+
setTimeout(() => {
|
|
80
|
+
this.createTable.bind(this, table, schema);
|
|
81
|
+
this.create(table, schema);
|
|
82
|
+
}, 300);
|
|
83
|
+
}
|
|
84
|
+
// console.log('DB HAS', table, hasTable)
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
async create(table, schema) {
|
|
88
|
+
// console.log('OPEN', this.db.name, this.vr, this.db.verno, 'OPEN',this.db.isOpen())
|
|
89
|
+
if (!this.tableExists(table)) {
|
|
90
|
+
if (this.db.isOpen())
|
|
91
|
+
await this.db.close();
|
|
92
|
+
const newSchema = { [table]: schema };
|
|
93
|
+
await this.db.version(this.nextVr).stores(newSchema);
|
|
94
|
+
// console.log('Created New Table: ', table, schema)
|
|
95
|
+
if (!this.db.isOpen())
|
|
96
|
+
await this.db.open();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
updateObjectKeys(obj1, obj2) {
|
|
100
|
+
return Object.keys(obj1).reduce((updatedObj, key) => {
|
|
101
|
+
updatedObj[key] = obj2.hasOwnProperty(key) ? obj2[key] : obj1[key];
|
|
102
|
+
return updatedObj;
|
|
103
|
+
}, {});
|
|
104
|
+
}
|
|
105
|
+
async DBOpened() {
|
|
106
|
+
if (!this.db.isOpen()) {
|
|
107
|
+
await this.db.open()
|
|
108
|
+
.then(async () => {
|
|
109
|
+
// console.log('OPENED')
|
|
110
|
+
})
|
|
111
|
+
.catch(async (err) => {
|
|
112
|
+
// console.log('OPENED ERR')
|
|
113
|
+
return false;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// console.log('OPENED')
|
|
118
|
+
}
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
normalizeString(item) {
|
|
122
|
+
if (!item)
|
|
123
|
+
return;
|
|
124
|
+
return Array.isArray(item) ?
|
|
125
|
+
item.map((item) => this.cleanString(item)).join()
|
|
126
|
+
: item.split(',').map((item) => this.cleanString(item)).join();
|
|
127
|
+
}
|
|
128
|
+
cleanString(str) {
|
|
129
|
+
const cleanStr = str
|
|
130
|
+
.replace(/[^a-zA-Z0-9\s]/g, '')
|
|
131
|
+
.replace(/\s+/g, '_');
|
|
132
|
+
return cleanStr.trim().toLowerCase();
|
|
133
|
+
}
|
|
134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
135
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbService, providedIn: 'root' }); }
|
|
136
|
+
}
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbService, decorators: [{
|
|
138
|
+
type: Injectable,
|
|
139
|
+
args: [{
|
|
140
|
+
providedIn: 'root',
|
|
141
|
+
}]
|
|
142
|
+
}], ctorParameters: () => [] });
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9kYXRhYmFzZS1tYW5hZ2VyLXNlcnZpY2VzL2RiLnN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBYyxNQUFNLE9BQU8sQ0FBQzs7QUFLbkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBTWxDLElBQUksRUFBRTtRQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLE9BQU8sTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtZQUN4QixPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQVVEO1FBRUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFqQzlCLGNBQVMs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TyxJQUFJLENBQUE7SUFFYixDQUFDO0lBRU8sZUFBZSxDQUFDLElBQXFCO1FBRTNDLElBQUcsQ0FBQyxJQUFJO1lBQUUsT0FBTTtRQUVoQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ3pELENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBRTFFLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBVztRQUU3QixNQUFNLFFBQVEsR0FBRyxHQUFHO2FBQ2pCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7YUFDOUIsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUVyQixPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUV4QyxDQUFDOytHQXRMVSxTQUFTO21IQUFULFNBQVMsY0FGUixNQUFNOzs0RkFFUCxTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBEZXhpZSwge1RhYmxlfSBmcm9tICdkZXhpZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEYlNlcnZpY2UgZXh0ZW5kcyBEZXhpZSB7XG5cbiAgc3RvcmFnZURCID0gXCJnbG9iYWxfc3RvcmFnZV9kYlwiXG5cbiAgZGIgPSBuZXcgRGV4aWUodGhpcy5zdG9yYWdlREIpXG5cbiAgZ2V0IHZyKCkge1xuICAgIHJldHVybiAodGhpcy5kYi52ZXJubyA9PT0gMCkgPyAxIDogdGhpcy5kYi52ZXJubyArIDFcbiAgfVxuXG4gIGdldCBuZXh0VnIoKSB7XG4gICAgcmV0dXJuIHRoaXMudnIgKyAxXG4gIH1cblxuICBnZXQgZ2V0VGFibGVzKCkge1xuICAgIHJldHVybiB0aGlzLmRiLnRhYmxlcy5tYXAoaXRlbSA9PiBpdGVtLm5hbWUpXG4gIH1cblxuICBhc3luYyBoYXNEYXRhYmFzZSgpIHtcbiAgICByZXR1cm4gYXdhaXQgRGV4aWUuZXhpc3RzKHRoaXMuc3RvcmFnZURCKS50aGVuKChyZXMpID0+IHtcbiAgICAgIHRoaXMuY3JlYXRlTmV3RGF0YWJhc2UoKVxuICAgICAgcmV0dXJuIHJlc1xuICAgIH0pXG4gIH1cblxuICBnZXRUYWJsZSA9ICh0YWJsZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZGIudGFibGVzLmZpbmQoaXRlbSA9PiBpdGVtLm5hbWUgPT09IHRhYmxlKVxuICB9XG5cbiAgdGFibGVFeGlzdHMgPSAodGFibGU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAodGhpcy5nZXRUYWJsZXMuZmluZChpdGVtID0+IGl0ZW0gPT09IHRhYmxlKSkgPyB0cnVlIDogZmFsc2VcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgICBzdXBlcihcImdsb2JhbF9zdG9yYWdlX2RiXCIpXG5cbiAgICAgIHRoaXMuZGIgPSB0aGlzXG4gICAgICB0aGlzLm9wZW4oKS50aGVuKGRhdGEgPT4ge1xuXG4gICAgICB9KS5jYXRjaChlcnIgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZU5ld0RhdGFiYXNlKClcbiAgICAgIH0pXG5cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyB1cGRhdGVUYWJsZSh0YWJsZTogc3RyaW5nLCBmaW5kOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfG51bWJlciB9LCBkYXRhOiBhbnkpIHtcblxuICAgIGNvbnN0IHRhYmxlU291cmNlID0gdGhpcy5nZXRUYWJsZSh0YWJsZSlcblxuICAgIGlmKCF0YWJsZVNvdXJjZSB8fCAhZmluZCB8fCAhKGZpbmQua2V5IHx8IGZpbmQudmFsdWUpKSByZXR1cm4gZmFsc2VcblxuICAgIGF3YWl0IHRhYmxlU291cmNlPy53aGVyZShmaW5kLmtleSkuZXF1YWxzKGZpbmQudmFsdWUpLmZpcnN0KClcbiAgICAudGhlbihhc3luYyAocmVjOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IG5ld1JlYyA9IHRoaXMudXBkYXRlT2JqZWN0S2V5cyhyZWMsIGRhdGEpXG4gICAgICBhd2FpdCB0YWJsZVNvdXJjZT8udXBkYXRlKHJlYy5pZCwgbmV3UmVjKVxuICAgIH0pXG5cbiAgICByZXR1cm4gdHJ1ZVxuXG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlTmV3RGF0YWJhc2UoKSB7XG5cbiAgICBjb25zdCBkYiA9IG5ldyBEZXhpZSgnZ2xvYmFsX3N0b3JhZ2VfZGInKTtcblxuICAgIGlmICghYXdhaXQgRGV4aWUuZXhpc3RzKGRiLm5hbWUpKSB7XG4gICAgICBkYi52ZXJzaW9uKDEpLnN0b3Jlcyh7fSlcbiAgICB9XG5cbiAgICBhd2FpdCBkYi5vcGVuKClcblxuICB9XG5cbiAgLy8gYXN5bmMgY3JlYXRlVGFibGUodGFibGU6IHN0cmluZywgc2NoZW1hOiBzdHJpbmcpIHtcbiAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZVRhYmxlKHRhYmxlOiBzdHJpbmcsIHNjaGVtYTogc3RyaW5nKSB7XG5cbiAgICAvLyBjb25zb2xlLmxvZygnY3JlYXRlVGFibGU6JywgdGFibGUsIHNjaGVtYSlcblxuICAgIHRoaXMuaGFzRGF0YWJhc2UoKS50aGVuKGFzeW5jKHJlcykgPT4ge1xuXG4gICAgICBjb25zdCB0YWJsZURlZiA9IHRoaXMubm9ybWFsaXplU3RyaW5nKHRhYmxlKVxuICAgICAgY29uc3Qgc2NoZW1hRGVmID0gdGhpcy5ub3JtYWxpemVTdHJpbmcoc2NoZW1hKVxuXG4gICAgICB0YWJsZSA9IHRhYmxlRGVmIHx8ICcnXG4gICAgICBzY2hlbWEgPSBzY2hlbWFEZWYgfHwgJydcblxuICAgICAgaWYodGFibGUgPT09ICcnIHx8IHNjaGVtYSA9PT0gJycpIHJldHVyblxuXG4gICAgICBpZighdGhpcy5kYi5pc09wZW4oKSkge1xuICAgICAgICBhd2FpdCB0aGlzLmRiLm9wZW4oKVxuICAgICAgICAudGhlbiggYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY3JlYXRlKHRhYmxlLCBzY2hlbWEpXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ09QRU5FRCcsIHRhYmxlKVxuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdGQUlMRUQnLCB0YWJsZSlcbiAgICAgICAgfSlcblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVhdGUodGFibGUsIHNjaGVtYSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFzVGFibGUgPSB0aGlzLmdldFRhYmxlKHRhYmxlKVxuXG4gICAgICBpZighaGFzVGFibGUpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jcmVhdGVUYWJsZS5iaW5kKHRoaXMsIHRhYmxlLCBzY2hlbWEpXG4gICAgICAgICAgdGhpcy5jcmVhdGUodGFibGUsIHNjaGVtYSlcbiAgICAgICAgfSwgMzAwKVxuICAgICAgfVxuXG4gICAgICAvLyBjb25zb2xlLmxvZygnREIgSEFTJywgdGFibGUsIGhhc1RhYmxlKVxuXG4gICAgfSlcblxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGUodGFibGU6IHN0cmluZywgc2NoZW1hOiBzdHJpbmcpIHtcblxuICAgIC8vIGNvbnNvbGUubG9nKCdPUEVOJywgdGhpcy5kYi5uYW1lLCB0aGlzLnZyLCB0aGlzLmRiLnZlcm5vLCAnT1BFTicsdGhpcy5kYi5pc09wZW4oKSlcblxuICAgIGlmKCF0aGlzLnRhYmxlRXhpc3RzKHRhYmxlKSkge1xuXG4gICAgICBpZih0aGlzLmRiLmlzT3BlbigpKSBhd2FpdCB0aGlzLmRiLmNsb3NlKClcblxuICAgICAgY29uc3QgbmV3U2NoZW1hOiBhbnkgPSB7IFt0YWJsZV06IHNjaGVtYSB9XG4gICAgICBhd2FpdCB0aGlzLmRiLnZlcnNpb24odGhpcy5uZXh0VnIpLnN0b3JlcyhuZXdTY2hlbWEpXG5cbiAgICAgIC8vIGNvbnNvbGUubG9nKCdDcmVhdGVkIE5ldyBUYWJsZTogJywgdGFibGUsIHNjaGVtYSlcblxuICAgICAgaWYoIXRoaXMuZGIuaXNPcGVuKCkpIGF3YWl0IHRoaXMuZGIub3BlbigpXG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU9iamVjdEtleXMob2JqMTogYW55LCBvYmoyOiBhbnkpIHtcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmoxKS5yZWR1Y2UoKHVwZGF0ZWRPYmo6IGFueSwga2V5OiBhbnkpID0+IHtcbiAgICAgIHVwZGF0ZWRPYmpba2V5XSA9IG9iajIuaGFzT3duUHJvcGVydHkoa2V5KSA/IG9iajJba2V5XSA6IG9iajFba2V5XVxuICAgICAgcmV0dXJuIHVwZGF0ZWRPYmpcbiAgICB9LCB7fSlcblxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIERCT3BlbmVkKCkge1xuXG4gICAgaWYoIXRoaXMuZGIuaXNPcGVuKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGIub3BlbigpXG4gICAgICAudGhlbiggYXN5bmMgKCkgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnT1BFTkVEJylcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goYXN5bmMgKGVycikgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnT1BFTkVEIEVSUicpXG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29uc29sZS5sb2coJ09QRU5FRCcpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcblxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVTdHJpbmcoaXRlbTogc3RyaW5nfHN0cmluZ1tdKSB7XG5cbiAgICBpZighaXRlbSkgcmV0dXJuXG5cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShpdGVtKSA/XG4gICAgICBpdGVtLm1hcCgoaXRlbTogc3RyaW5nKSA9PiB0aGlzLmNsZWFuU3RyaW5nKGl0ZW0pKS5qb2luKClcbiAgICAgIDogaXRlbS5zcGxpdCgnLCcpLm1hcCgoaXRlbTogc3RyaW5nKSA9PiB0aGlzLmNsZWFuU3RyaW5nKGl0ZW0pKS5qb2luKClcblxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhblN0cmluZyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgICBjb25zdCBjbGVhblN0ciA9IHN0clxuICAgICAgLnJlcGxhY2UoL1teYS16QS1aMC05XFxzXS9nLCAnJylcbiAgICAgIC5yZXBsYWNlKC9cXHMrL2csICdfJylcblxuICAgICAgcmV0dXJuIGNsZWFuU3RyLnRyaW0oKS50b0xvd2VyQ2FzZSgpXG5cbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./models/table-schema";
|
|
2
|
+
export * from "./database.manager.service";
|
|
3
|
+
export * from "./db.storage.service";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2RhdGFiYXNlLW1hbmFnZXItc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvdGFibGUtc2NoZW1hXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlLm1hbmFnZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGIuc3RvcmFnZS5zZXJ2aWNlXCI7XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class TableSchemaDef {
|
|
2
|
+
constructor(table = 'unknown', schema = '') {
|
|
3
|
+
this.table = table;
|
|
4
|
+
this.schema = schema;
|
|
5
|
+
}
|
|
6
|
+
static adapt(item) {
|
|
7
|
+
const schemaArray = (item?.schema && Array.isArray(item.schema)) ? item.schema : item.schema.split(',');
|
|
8
|
+
const schema = schemaArray.map((item) => this.cleanString(item)).join();
|
|
9
|
+
return new TableSchemaDef((item?.table) ? this.cleanString(item.table) : 'unknown', schema);
|
|
10
|
+
}
|
|
11
|
+
static cleanString(str) {
|
|
12
|
+
const camelCaseSplit = str.replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
13
|
+
const cleanStr = camelCaseSplit
|
|
14
|
+
.replace(/[^a-zA-Z0-9\s]/g, '') // Remove non-alphanumeric characters except spaces
|
|
15
|
+
.toLowerCase() // Convert to lowercase
|
|
16
|
+
.trim(); // Trim any leading or trailing spaces
|
|
17
|
+
return cleanStr;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9kYXRhYmFzZS1tYW5hZ2VyLXNlcnZpY2VzL21vZGVscy90YWJsZS1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDUyxRQUFRLFNBQVMsRUFDakIsU0FBaUIsRUFBRTtRQURuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQWE7SUFDekIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVTtRQUVyQixNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDdkcsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRS9FLE9BQU8sSUFBSSxjQUFjLENBQ3ZCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUN4RCxNQUFNLENBQ1AsQ0FBQTtJQUVILENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQVc7UUFDNUIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUU5RCxNQUFNLFFBQVEsR0FBRyxjQUFjO2FBQzVCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBRSxtREFBbUQ7YUFDbkYsV0FBVyxFQUFFLENBQW1CLHVCQUF1QjthQUN2RCxJQUFJLEVBQUUsQ0FBQyxDQUF5QixzQ0FBc0M7UUFFekUsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUYWJsZVNjaGVtYURlZkludGVyZmFjZSB7XG4gIHRhYmxlOiBzdHJpbmdcbiAgc2NoZW1hOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlU2NoZW1hRGVmIGltcGxlbWVudHMgVGFibGVTY2hlbWFEZWZJbnRlcmZhY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGFibGUgPSAndW5rbm93bicsXG4gICAgcHVibGljIHNjaGVtYTogc3RyaW5nID0gJycsXG4gICkge31cblxuICBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSk6IFRhYmxlU2NoZW1hRGVmIHtcblxuICAgIGNvbnN0IHNjaGVtYUFycmF5ID0gKGl0ZW0/LnNjaGVtYSAmJiBBcnJheS5pc0FycmF5KGl0ZW0uc2NoZW1hKSkgPyBpdGVtLnNjaGVtYSA6IGl0ZW0uc2NoZW1hLnNwbGl0KCcsJylcbiAgICBjb25zdCBzY2hlbWEgPSBzY2hlbWFBcnJheS5tYXAoKGl0ZW06IHN0cmluZykgPT4gdGhpcy5jbGVhblN0cmluZyhpdGVtKSkuam9pbigpXG5cbiAgICByZXR1cm4gbmV3IFRhYmxlU2NoZW1hRGVmKFxuICAgICAgKGl0ZW0/LnRhYmxlKSA/IHRoaXMuY2xlYW5TdHJpbmcoaXRlbS50YWJsZSkgOiAndW5rbm93bicsXG4gICAgICBzY2hlbWEsXG4gICAgKVxuXG4gIH1cblxuICBzdGF0aWMgY2xlYW5TdHJpbmcoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNhbWVsQ2FzZVNwbGl0ID0gc3RyLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csICckMSAkMicpXG4gIFxuICAgIGNvbnN0IGNsZWFuU3RyID0gY2FtZWxDYXNlU3BsaXRcbiAgICAgIC5yZXBsYWNlKC9bXmEtekEtWjAtOVxcc10vZywgJycpICAvLyBSZW1vdmUgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGV4Y2VwdCBzcGFjZXNcbiAgICAgIC50b0xvd2VyQ2FzZSgpICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgdG8gbG93ZXJjYXNlXG4gICAgICAudHJpbSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmltIGFueSBsZWFkaW5nIG9yIHRyYWlsaW5nIHNwYWNlc1xuICBcbiAgICByZXR1cm4gY2xlYW5TdHI7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// export * from "./database-manager-services/index";
|
|
2
|
+
export * from "./local-storage-manager-service/index";
|
|
3
|
+
export * from "./request-manager-services/index";
|
|
4
|
+
export * from "./request-manager-state-service/index";
|
|
5
|
+
export * from "./utils/index";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLHFEQUFxRDtBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UtbWFuYWdlci1zZXJ2aWNlcy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWwtc3RvcmFnZS1tYW5hZ2VyLXNlcnZpY2UvaW5kZXhcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vcmVxdWVzdC1tYW5hZ2VyLXNlcnZpY2VzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXF1ZXN0LW1hbmFnZXItc3RhdGUtc2VydmljZS9pbmRleFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy9pbmRleFwiO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./models/index";
|
|
2
|
+
export * from "./local-storage-manager.service";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2UtbWFuYWdlci1zZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL21vZGVscy9pbmRleFwiXG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbC1zdG9yYWdlLW1hbmFnZXIuc2VydmljZVwiOyJdfQ==
|