@techextensor/tab-core-utility 2.1.6 → 2.1.7
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/.eslintrc.json +92 -0
- package/README.md +7 -0
- package/jest.config.ts +22 -0
- package/ng-package.json +7 -0
- package/package.json +18 -31
- package/project.json +42 -0
- package/{index.d.ts → src/index.ts} +77 -53
- package/src/lib/tab-core-utility/app/constants/api-constants.ts +33 -0
- package/src/lib/tab-core-utility/app/constants/common.ts +34 -0
- package/src/lib/tab-core-utility/app/constants/error-messages.ts +21 -0
- package/src/lib/tab-core-utility/app/constants/storage-constants.ts +17 -0
- package/src/lib/tab-core-utility/app/crud/tab-delete.service.ts +144 -0
- package/src/lib/tab-core-utility/app/crud/tab-get.service.ts +160 -0
- package/src/lib/tab-core-utility/app/crud/tab-insert.service.ts +75 -0
- package/src/lib/tab-core-utility/app/crud/tab-update.service.ts +105 -0
- package/src/lib/tab-core-utility/app/crud/tab-workflow.service.ts +39 -0
- package/src/lib/tab-core-utility/app/enums/controllers.enum.ts +24 -0
- package/src/lib/tab-core-utility/app/enums/dsq.enum.ts +46 -0
- package/src/lib/tab-core-utility/app/enums/permission.enum.ts +18 -0
- package/src/lib/tab-core-utility/app/enums/query.enum.ts +12 -0
- package/src/lib/tab-core-utility/app/enums/workflow.enum.ts +35 -0
- package/src/lib/tab-core-utility/app/helpers/common/app.helpers.ts +65 -0
- package/src/lib/tab-core-utility/app/helpers/common/dsq.helpers.ts +80 -0
- package/src/lib/tab-core-utility/app/helpers/common/req-res.helpers.ts +75 -0
- package/src/lib/tab-core-utility/app/helpers/common/where-clause.helpers.ts +262 -0
- package/src/lib/tab-core-utility/app/helpers/screen/forms.helpers.ts +33 -0
- package/src/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.ts +88 -0
- package/src/lib/tab-core-utility/app/helpers/screen/grid.helpers.ts +113 -0
- package/src/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.ts +74 -0
- package/src/lib/tab-core-utility/app/helpers/screen/plugin.helpers.ts +52 -0
- package/src/lib/tab-core-utility/app/helpers/screen/screen.helpers.ts +20 -0
- package/{lib/tab-core-utility/app/interfaces/auth.interface.d.ts → src/lib/tab-core-utility/app/interfaces/auth.interface.ts} +18 -15
- package/src/lib/tab-core-utility/app/interfaces/common-api.interface.ts +27 -0
- package/src/lib/tab-core-utility/app/interfaces/grid.interface.ts +118 -0
- package/src/lib/tab-core-utility/app/interfaces/orgInfo.interface.ts +34 -0
- package/src/lib/tab-core-utility/app/interfaces/schema.interface.ts +11 -0
- package/src/lib/tab-core-utility/app/interfaces/user.interface.ts +91 -0
- package/src/lib/tab-core-utility/app/models/api-query.class.ts +92 -0
- package/src/lib/tab-core-utility/app/models/app-object.class.ts +87 -0
- package/src/lib/tab-core-utility/app/models/common.class.ts +30 -0
- package/src/lib/tab-core-utility/app/models/data-source-queries.class.ts +114 -0
- package/src/lib/tab-core-utility/app/utils/filter.util.ts +78 -0
- package/src/lib/tab-core-utility/app/utils/form-builder.util.ts +31 -0
- package/src/lib/tab-core-utility/app/utils/json.util.ts +137 -0
- package/src/lib/tab-core-utility/app/utils/operators.util.ts +129 -0
- package/src/lib/tab-core-utility/app/utils/req-res.util.ts +189 -0
- package/src/lib/tab-core-utility/app/utils/tab-app.util.ts +131 -0
- package/src/lib/tab-core-utility/auth/auth.service.spec.ts +167 -0
- package/src/lib/tab-core-utility/auth/auth.service.ts +91 -0
- package/src/lib/tab-core-utility/auth/idb-storage.service.ts +77 -0
- package/src/lib/tab-core-utility/auth/local-storage.service.spec.ts +47 -0
- package/src/lib/tab-core-utility/auth/local-storage.service.ts +46 -0
- package/src/lib/tab-core-utility/auth/session-storage.service.spec.ts +47 -0
- package/src/lib/tab-core-utility/auth/session-storage.service.ts +46 -0
- package/src/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.ts +32 -0
- package/src/lib/tab-core-utility/core/error-handler/error-handler.store.spec.ts +16 -0
- package/src/lib/tab-core-utility/core/error-handler/error-handler.store.ts +26 -0
- package/src/lib/tab-core-utility/core/error-handler/models/error-handler.state.ts +9 -0
- package/src/lib/tab-core-utility/core/http-client/api-url.token.ts +4 -0
- package/src/lib/tab-core-utility/core/http-client/api.service.spec.ts +18 -0
- package/src/lib/tab-core-utility/core/http-client/api.service.ts +105 -0
- package/src/lib/tab-core-utility/core/util/auth.utils.ts +22 -0
- package/src/lib/tab-core-utility/store/auth.store.ts +54 -0
- package/src/lib/tab-core-utility/store/orginfo.store.ts +57 -0
- package/src/lib/tab-core-utility/store/schema.store.ts +85 -0
- package/src/test-setup.ts +8 -0
- package/tsconfig.json +29 -0
- package/tsconfig.lib.json +17 -0
- package/tsconfig.lib.prod.json +7 -0
- package/tsconfig.spec.json +16 -0
- package/esm2022/index.mjs +0 -64
- package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +0 -33
- package/esm2022/lib/tab-core-utility/app/constants/common.mjs +0 -25
- package/esm2022/lib/tab-core-utility/app/constants/error-messages.mjs +0 -13
- package/esm2022/lib/tab-core-utility/app/constants/storage-constants.mjs +0 -16
- package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +0 -145
- package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +0 -131
- package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +0 -77
- package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +0 -105
- package/esm2022/lib/tab-core-utility/app/crud/tab-workflow.service.mjs +0 -43
- package/esm2022/lib/tab-core-utility/app/enums/controllers.enum.mjs +0 -26
- package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +0 -48
- package/esm2022/lib/tab-core-utility/app/enums/permission.enum.mjs +0 -20
- package/esm2022/lib/tab-core-utility/app/enums/query.enum.mjs +0 -14
- package/esm2022/lib/tab-core-utility/app/enums/workflow.enum.mjs +0 -37
- package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +0 -68
- package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +0 -70
- package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +0 -64
- package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +0 -208
- package/esm2022/lib/tab-core-utility/app/helpers/screen/forms.helpers.mjs +0 -38
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.mjs +0 -78
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +0 -112
- package/esm2022/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.mjs +0 -77
- package/esm2022/lib/tab-core-utility/app/helpers/screen/plugin.helpers.mjs +0 -55
- package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +0 -26
- package/esm2022/lib/tab-core-utility/app/interfaces/auth.interface.mjs +0 -2
- package/esm2022/lib/tab-core-utility/app/interfaces/common-api.interface.mjs +0 -2
- package/esm2022/lib/tab-core-utility/app/interfaces/grid.interface.mjs +0 -3
- package/esm2022/lib/tab-core-utility/app/interfaces/orgInfo.interface.mjs +0 -2
- package/esm2022/lib/tab-core-utility/app/interfaces/schema.interface.mjs +0 -2
- package/esm2022/lib/tab-core-utility/app/interfaces/user.interface.mjs +0 -2
- package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +0 -47
- package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +0 -30
- package/esm2022/lib/tab-core-utility/app/models/common.class.mjs +0 -12
- package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +0 -31
- package/esm2022/lib/tab-core-utility/app/utils/filter.util.mjs +0 -75
- package/esm2022/lib/tab-core-utility/app/utils/form-builder.util.mjs +0 -39
- package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +0 -138
- package/esm2022/lib/tab-core-utility/app/utils/operators.util.mjs +0 -129
- package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +0 -168
- package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +0 -99
- package/esm2022/lib/tab-core-utility/auth/auth.service.mjs +0 -74
- package/esm2022/lib/tab-core-utility/auth/idb-storage.service.mjs +0 -69
- package/esm2022/lib/tab-core-utility/auth/local-storage.service.mjs +0 -52
- package/esm2022/lib/tab-core-utility/auth/session-storage.service.mjs +0 -52
- package/esm2022/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.mjs +0 -26
- package/esm2022/lib/tab-core-utility/core/error-handler/error-handler.store.mjs +0 -21
- package/esm2022/lib/tab-core-utility/core/error-handler/models/error-handler.state.mjs +0 -5
- package/esm2022/lib/tab-core-utility/core/http-client/api-url.token.mjs +0 -4
- package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +0 -99
- package/esm2022/lib/tab-core-utility/core/util/auth.utils.mjs +0 -21
- package/esm2022/lib/tab-core-utility/store/auth.store.mjs +0 -43
- package/esm2022/lib/tab-core-utility/store/orginfo.store.mjs +0 -42
- package/esm2022/lib/tab-core-utility/store/schema.store.mjs +0 -68
- package/esm2022/techextensor-tab-core-utility.mjs +0 -5
- package/lib/tab-core-utility/app/constants/api-constants.d.ts +0 -30
- package/lib/tab-core-utility/app/constants/common.d.ts +0 -8
- package/lib/tab-core-utility/app/constants/error-messages.d.ts +0 -6
- package/lib/tab-core-utility/app/constants/storage-constants.d.ts +0 -15
- package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +0 -51
- package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +0 -58
- package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +0 -37
- package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +0 -14
- package/lib/tab-core-utility/app/crud/tab-workflow.service.d.ts +0 -20
- package/lib/tab-core-utility/app/enums/controllers.enum.d.ts +0 -24
- package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +0 -42
- package/lib/tab-core-utility/app/enums/permission.enum.d.ts +0 -16
- package/lib/tab-core-utility/app/enums/query.enum.d.ts +0 -11
- package/lib/tab-core-utility/app/enums/workflow.enum.d.ts +0 -30
- package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +0 -31
- package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +0 -32
- package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +0 -62
- package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -82
- package/lib/tab-core-utility/app/helpers/screen/forms.helpers.d.ts +0 -11
- package/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.d.ts +0 -33
- package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +0 -63
- package/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.d.ts +0 -38
- package/lib/tab-core-utility/app/helpers/screen/plugin.helpers.d.ts +0 -25
- package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -11
- package/lib/tab-core-utility/app/interfaces/common-api.interface.d.ts +0 -24
- package/lib/tab-core-utility/app/interfaces/grid.interface.d.ts +0 -110
- package/lib/tab-core-utility/app/interfaces/orgInfo.interface.d.ts +0 -31
- package/lib/tab-core-utility/app/interfaces/schema.interface.d.ts +0 -11
- package/lib/tab-core-utility/app/interfaces/user.interface.d.ts +0 -84
- package/lib/tab-core-utility/app/models/api-query.class.d.ts +0 -69
- package/lib/tab-core-utility/app/models/app-object.class.d.ts +0 -74
- package/lib/tab-core-utility/app/models/common.class.d.ts +0 -24
- package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +0 -95
- package/lib/tab-core-utility/app/utils/filter.util.d.ts +0 -30
- package/lib/tab-core-utility/app/utils/form-builder.util.d.ts +0 -13
- package/lib/tab-core-utility/app/utils/json.util.d.ts +0 -25
- package/lib/tab-core-utility/app/utils/operators.util.d.ts +0 -21
- package/lib/tab-core-utility/app/utils/req-res.util.d.ts +0 -61
- package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +0 -48
- package/lib/tab-core-utility/auth/auth.service.d.ts +0 -53
- package/lib/tab-core-utility/auth/idb-storage.service.d.ts +0 -14
- package/lib/tab-core-utility/auth/local-storage.service.d.ts +0 -22
- package/lib/tab-core-utility/auth/session-storage.service.d.ts +0 -22
- package/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.d.ts +0 -3
- package/lib/tab-core-utility/core/error-handler/error-handler.store.d.ts +0 -10
- package/lib/tab-core-utility/core/error-handler/models/error-handler.state.d.ts +0 -5
- package/lib/tab-core-utility/core/http-client/api-url.token.d.ts +0 -3
- package/lib/tab-core-utility/core/http-client/api.service.d.ts +0 -65
- package/lib/tab-core-utility/core/util/auth.utils.d.ts +0 -9
- package/lib/tab-core-utility/store/auth.store.d.ts +0 -19
- package/lib/tab-core-utility/store/orginfo.store.d.ts +0 -22
- package/lib/tab-core-utility/store/schema.store.d.ts +0 -32
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-prototype-builtins */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
4
|
-
import { Common } from '../constants/common';
|
|
5
|
-
import { getAppObject, getDsqIdfromSelectedAppObjectDSQArray, } from './tab-app.util';
|
|
6
|
-
import { API } from '../constants/api-constants';
|
|
7
|
-
import { getFormBuilderType } from './form-builder.util';
|
|
8
|
-
import { StorageConstants } from '../constants/storage-constants';
|
|
9
|
-
// import { inject } from '@angular/core';
|
|
10
|
-
import { SessionStorageService } from '../../auth/session-storage.service';
|
|
11
|
-
import { API_URL } from '../../core/http-client/api-url.token';
|
|
12
|
-
// const sessionStorageService = inject(SessionStorageService);
|
|
13
|
-
const sessionStorageService = new SessionStorageService();
|
|
14
|
-
/**
|
|
15
|
-
* Delete a key from the response object
|
|
16
|
-
*
|
|
17
|
-
* @param response - The response object
|
|
18
|
-
* @param key - The key to be deleted
|
|
19
|
-
* @returns any - The updated response object
|
|
20
|
-
*/
|
|
21
|
-
export function deleteKeyFromResponse(response, key) {
|
|
22
|
-
delete response[key];
|
|
23
|
-
return response;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Remove the primary key from the response object
|
|
27
|
-
*
|
|
28
|
-
* @param response - The response object
|
|
29
|
-
* @param field - The field to be removed as primary key
|
|
30
|
-
* @returns any - The updated response object
|
|
31
|
-
*/
|
|
32
|
-
export function removePrimaryKey(response, field) {
|
|
33
|
-
if (field) {
|
|
34
|
-
deleteKeyFromResponse(response, field);
|
|
35
|
-
}
|
|
36
|
-
return response;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Remove multiple primary keys from the response object
|
|
40
|
-
*
|
|
41
|
-
* @param response - The response object
|
|
42
|
-
* @param fields - The array of fields to be removed as primary keys
|
|
43
|
-
* @returns any - The updated response object
|
|
44
|
-
*/
|
|
45
|
-
export function removeMultiplePrimaryKey(response, fields) {
|
|
46
|
-
fields.forEach((element) => {
|
|
47
|
-
delete response[element.FieldName];
|
|
48
|
-
});
|
|
49
|
-
return response;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get the HttpHeaders for API requests
|
|
53
|
-
*
|
|
54
|
-
* @returns HttpHeaders | null - The HttpHeaders object or null
|
|
55
|
-
*/
|
|
56
|
-
export function getHeaders() {
|
|
57
|
-
const token = sessionStorageService.getSessionStorage(StorageConstants.token);
|
|
58
|
-
const staticToken = sessionStorageService.getSessionStorage(StorageConstants.staticToken);
|
|
59
|
-
if (!token && staticToken) {
|
|
60
|
-
// Token is empty but staticToken is not
|
|
61
|
-
return new HttpHeaders({
|
|
62
|
-
'Content-Type': 'application/json',
|
|
63
|
-
Authorization: staticToken,
|
|
64
|
-
ApplicationCode: Common.applicationCode,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
else if (token) {
|
|
68
|
-
// Token is not empty
|
|
69
|
-
return new HttpHeaders({
|
|
70
|
-
'Content-Type': 'application/json',
|
|
71
|
-
Authorization: token,
|
|
72
|
-
ApplicationCode: Common.applicationCode,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
// Handle the case when both tokens are empty
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Get the primary key fields from the AppObject
|
|
80
|
-
*
|
|
81
|
-
* @param appObject - The AppObject
|
|
82
|
-
* @returns AppFields[] | null - The array of primary key fields or null
|
|
83
|
-
*/
|
|
84
|
-
export function getPrimaryKeyFields(appObject) {
|
|
85
|
-
if (appObject.Fields.length) {
|
|
86
|
-
return appObject.Fields.filter((field) => field.IsPrimaryKey);
|
|
87
|
-
}
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Get the edit record ID from the response object
|
|
92
|
-
*
|
|
93
|
-
* @param response - The response object
|
|
94
|
-
* @param fieldName - The field name for the edit record ID
|
|
95
|
-
* @returns any - The edit record ID
|
|
96
|
-
*/
|
|
97
|
-
export function getEditRecordId(response, fieldName) {
|
|
98
|
-
let recordId = null;
|
|
99
|
-
if (fieldName) {
|
|
100
|
-
recordId = response[fieldName] || null;
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
recordId = response.Id || response.ID || null;
|
|
104
|
-
}
|
|
105
|
-
return recordId;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Generate the fields schema based on the AppFields
|
|
109
|
-
*
|
|
110
|
-
* @param fields - The AppFields object
|
|
111
|
-
* @returns any - The generated fields schema
|
|
112
|
-
*/
|
|
113
|
-
export function generateFieldsSchema(fields) {
|
|
114
|
-
let schema = {};
|
|
115
|
-
if (fields.hasOwnProperty('LookUpDetails')) {
|
|
116
|
-
const selectedAppObject = getAppObject(fields.LookUpDetails.LookupObject);
|
|
117
|
-
const dsqID = getDsqIdfromSelectedAppObjectDSQArray(selectedAppObject?.DataSourceQueries, fields.LookUpDetails.LookupObject, 'List');
|
|
118
|
-
schema = {
|
|
119
|
-
label: fields.DisplayName,
|
|
120
|
-
type: 'select',
|
|
121
|
-
key: fields.SystemDBFieldName,
|
|
122
|
-
input: true,
|
|
123
|
-
dataSrc: 'url',
|
|
124
|
-
valueProperty: fields.LookUpDetails.LookupField,
|
|
125
|
-
template: `<span>{{ item.${fields.LookUpDetails.DisplayField} }}</span>`,
|
|
126
|
-
selectValues: 'Result',
|
|
127
|
-
data: {
|
|
128
|
-
url: `${API_URL}${API.getListFromDsq}${dsqID}`, // API.getListFromDsq + dsqID,
|
|
129
|
-
headers: [
|
|
130
|
-
{
|
|
131
|
-
"key": "Applicationcode",
|
|
132
|
-
"value": sessionStorageService.getSessionStorage(StorageConstants.applicationCode)
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
"key": "Authorization",
|
|
136
|
-
"value": sessionStorageService.getSessionStorage(StorageConstants.token)
|
|
137
|
-
}
|
|
138
|
-
],
|
|
139
|
-
},
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
schema = {
|
|
144
|
-
label: fields.DisplayName,
|
|
145
|
-
type: getFormBuilderType(fields.FieldType.DataType),
|
|
146
|
-
key: fields.SystemDBFieldName,
|
|
147
|
-
input: true,
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
return schema;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Get the HttpHeaders for form data requests
|
|
154
|
-
*
|
|
155
|
-
* @returns HttpHeaders | null - The HttpHeaders object or null
|
|
156
|
-
*/
|
|
157
|
-
export function getFormDataHeaders() {
|
|
158
|
-
const isToken = sessionStorageService.getSessionStorage(StorageConstants.token);
|
|
159
|
-
if (isToken) {
|
|
160
|
-
return new HttpHeaders({
|
|
161
|
-
Accept: '*/*',
|
|
162
|
-
Authorization: isToken,
|
|
163
|
-
ApplicationCode: Common.applicationCode,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
return null;
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3JlcS1yZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUNMLFlBQVksRUFDWixxQ0FBcUMsR0FDdEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRCwrREFBK0Q7QUFDL0QsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7QUFFMUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWEsRUFBRSxHQUFXO0lBQzlELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBYSxFQUFFLEtBQWE7SUFDM0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxD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QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uL2NvbnN0YW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBcHBPYmplY3QgfSBmcm9tICcuLi9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgZ2V0QXBwT2JqZWN0LFxyXG4gIGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXksXHJcbn0gZnJvbSAnLi90YWItYXBwLnV0aWwnO1xyXG5pbXBvcnQgeyBBcHBGaWVsZHMgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0Rm9ybUJ1aWxkZXJUeXBlIH0gZnJvbSAnLi9mb3JtLWJ1aWxkZXIudXRpbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2VDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xyXG4vLyBpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFQSV9VUkwgfSBmcm9tICcuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS11cmwudG9rZW4nO1xyXG5cclxuLy8gY29uc3Qgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KFNlc3Npb25TdG9yYWdlU2VydmljZSk7XHJcbmNvbnN0IHNlc3Npb25TdG9yYWdlU2VydmljZSA9IG5ldyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UoKTtcclxuXHJcbi8qKlxyXG4gKiBEZWxldGUgYSBrZXkgZnJvbSB0aGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gYmUgZGVsZXRlZFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgdXBkYXRlZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVLZXlGcm9tUmVzcG9uc2UocmVzcG9uc2U6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICBkZWxldGUgcmVzcG9uc2Vba2V5XTtcclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIHByaW1hcnkga2V5IGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBmaWVsZCAtIFRoZSBmaWVsZCB0byBiZSByZW1vdmVkIGFzIHByaW1hcnkga2V5XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSB1cGRhdGVkIHJlc3BvbnNlIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVByaW1hcnlLZXkocmVzcG9uc2U6IGFueSwgZmllbGQ6IHN0cmluZykge1xyXG4gIGlmIChmaWVsZCkge1xyXG4gICAgZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlLCBmaWVsZCk7XHJcbiAgfVxyXG4gIHJldHVybiByZXNwb25zZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBtdWx0aXBsZSBwcmltYXJ5IGtleXMgZnJvbSB0aGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGZpZWxkcyAtIFRoZSBhcnJheSBvZiBmaWVsZHMgdG8gYmUgcmVtb3ZlZCBhcyBwcmltYXJ5IGtleXNcclxuICogQHJldHVybnMgYW55IC0gVGhlIHVwZGF0ZWQgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTXVsdGlwbGVQcmltYXJ5S2V5KHJlc3BvbnNlOiBhbnksIGZpZWxkczogYW55KSB7XHJcbiAgZmllbGRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgZGVsZXRlIHJlc3BvbnNlW2VsZW1lbnQuRmllbGROYW1lXTtcclxuICB9KTtcclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEh0dHBIZWFkZXJzIGZvciBBUEkgcmVxdWVzdHNcclxuICpcclxuICogQHJldHVybnMgSHR0cEhlYWRlcnMgfCBudWxsIC0gVGhlIEh0dHBIZWFkZXJzIG9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVhZGVycygpIHtcclxuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnRva2VuKTtcclxuICBjb25zdCBzdGF0aWNUb2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnN0YXRpY1Rva2VuKTtcclxuICBcclxuICBpZiAoIXRva2VuICYmIHN0YXRpY1Rva2VuKSB7XHJcbiAgICAgIC8vIFRva2VuIGlzIGVtcHR5IGJ1dCBzdGF0aWNUb2tlbiBpcyBub3RcclxuICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogc3RhdGljVG9rZW4sXHJcbiAgICAgICAgICBBcHBsaWNhdGlvbkNvZGU6IENvbW1vbi5hcHBsaWNhdGlvbkNvZGUsXHJcbiAgICAgIH0pO1xyXG4gIH0gZWxzZSBpZiAodG9rZW4pIHtcclxuICAgICAgLy8gVG9rZW4gaXMgbm90IGVtcHR5XHJcbiAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgIEF1dGhvcml6YXRpb246IHRva2VuLFxyXG4gICAgICAgICAgQXBwbGljYXRpb25Db2RlOiBDb21tb24uYXBwbGljYXRpb25Db2RlLFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLy8gSGFuZGxlIHRoZSBjYXNlIHdoZW4gYm90aCB0b2tlbnMgYXJlIGVtcHR5XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIHByaW1hcnkga2V5IGZpZWxkcyBmcm9tIHRoZSBBcHBPYmplY3RcclxuICpcclxuICogQHBhcmFtIGFwcE9iamVjdCAtIFRoZSBBcHBPYmplY3RcclxuICogQHJldHVybnMgQXBwRmllbGRzW10gfCBudWxsIC0gVGhlIGFycmF5IG9mIHByaW1hcnkga2V5IGZpZWxkcyBvciBudWxsXHJcbiAqL1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFByaW1hcnlLZXlGaWVsZHMoYXBwT2JqZWN0OiBBcHBPYmplY3QpIHtcclxuICBpZiAoYXBwT2JqZWN0LkZpZWxkcy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBhcHBPYmplY3QuRmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLklzUHJpbWFyeUtleSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBlZGl0IHJlY29yZCBJRCBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGROYW1lIC0gVGhlIGZpZWxkIG5hbWUgZm9yIHRoZSBlZGl0IHJlY29yZCBJRFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZWRpdCByZWNvcmQgSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0UmVjb3JkSWQocmVzcG9uc2U6IGFueSwgZmllbGROYW1lOiBhbnkpIHtcclxuICBsZXQgcmVjb3JkSWQgPSBudWxsO1xyXG4gIGlmIChmaWVsZE5hbWUpIHtcclxuICAgIHJlY29yZElkID0gcmVzcG9uc2VbZmllbGROYW1lXSB8fCBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZWNvcmRJZCA9IHJlc3BvbnNlLklkIHx8IHJlc3BvbnNlLklEIHx8IG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiByZWNvcmRJZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIHRoZSBmaWVsZHMgc2NoZW1hIGJhc2VkIG9uIHRoZSBBcHBGaWVsZHNcclxuICpcclxuICogQHBhcmFtIGZpZWxkcyAtIFRoZSBBcHBGaWVsZHMgb2JqZWN0XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSBnZW5lcmF0ZWQgZmllbGRzIHNjaGVtYVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRmllbGRzU2NoZW1hKGZpZWxkczogQXBwRmllbGRzKSB7XHJcbiAgbGV0IHNjaGVtYSA9IHt9O1xyXG4gIGlmIChmaWVsZHMuaGFzT3duUHJvcGVydHkoJ0xvb2tVcERldGFpbHMnKSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRBcHBPYmplY3Q6IEFwcE9iamVjdCA9IGdldEFwcE9iamVjdChcclxuICAgICAgZmllbGRzLkxvb2tVcERldGFpbHMuTG9va3VwT2JqZWN0XHJcbiAgICApO1xyXG4gICAgY29uc3QgZHNxSUQgPSBnZXREc3FJZGZyb21TZWxlY3RlZEFwcE9iamVjdERTUUFycmF5KFxyXG4gICAgICBzZWxlY3RlZEFwcE9iamVjdD8uRGF0YVNvdXJjZVF1ZXJpZXMsXHJcbiAgICAgIGZpZWxkcy5Mb29rVXBEZXRhaWxzLkxvb2t1cE9iamVjdCxcclxuICAgICAgJ0xpc3QnXHJcbiAgICApO1xyXG4gICAgc2NoZW1hID0ge1xyXG4gICAgICBsYWJlbDogZmllbGRzLkRpc3BsYXlOYW1lLFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAga2V5OiBmaWVsZHMuU3lzdGVtREJGaWVsZE5hbWUsXHJcbiAgICAgIGlucHV0OiB0cnVlLFxyXG4gICAgICBkYXRhU3JjOiAndXJsJyxcclxuICAgICAgdmFsdWVQcm9wZXJ0eTogZmllbGRzLkxvb2tVcERldGFpbHMuTG9va3VwRmllbGQsXHJcbiAgICAgIHRlbXBsYXRlOiBgPHNwYW4+e3sgaXRlbS4ke2ZpZWxkcy5Mb29rVXBEZXRhaWxzLkRpc3BsYXlGaWVsZH0gfX08L3NwYW4+YCxcclxuICAgICAgc2VsZWN0VmFsdWVzOiAnUmVzdWx0JyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHVybDogYCR7QVBJX1VSTH0ke0FQSS5nZXRMaXN0RnJvbURzcX0ke2RzcUlEfWAsLy8gQVBJLmdldExpc3RGcm9tRHNxICsgZHNxSUQsXHJcbiAgICAgICAgaGVhZGVyczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcImtleVwiOiBcIkFwcGxpY2F0aW9uY29kZVwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLmFwcGxpY2F0aW9uQ29kZSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFwiQXV0aG9yaXphdGlvblwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnRva2VuKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgIFxyXG4gICAgfTtcclxuICB9IGVsc2Uge1xyXG4gICAgc2NoZW1hID0ge1xyXG4gICAgICBsYWJlbDogZmllbGRzLkRpc3BsYXlOYW1lLFxyXG4gICAgICB0eXBlOiBnZXRGb3JtQnVpbGRlclR5cGUoZmllbGRzLkZpZWxkVHlwZS5EYXRhVHlwZSksXHJcbiAgICAgIGtleTogZmllbGRzLlN5c3RlbURCRmllbGROYW1lLFxyXG4gICAgICBpbnB1dDogdHJ1ZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIHJldHVybiBzY2hlbWE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEh0dHBIZWFkZXJzIGZvciBmb3JtIGRhdGEgcmVxdWVzdHNcclxuICpcclxuICogQHJldHVybnMgSHR0cEhlYWRlcnMgfCBudWxsIC0gVGhlIEh0dHBIZWFkZXJzIG9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybURhdGFIZWFkZXJzKCkge1xyXG4gIGNvbnN0IGlzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoXHJcbiAgICBTdG9yYWdlQ29uc3RhbnRzLnRva2VuXHJcbiAgKTtcclxuICBpZiAoaXNUb2tlbikge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgIEFjY2VwdDogJyovKicsXHJcbiAgICAgIEF1dGhvcml6YXRpb246IGlzVG9rZW4sXHJcbiAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG4iXX0=
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Common } from '../constants/common';
|
|
3
|
-
import { deleteKeyFromResponse } from './req-res.util';
|
|
4
|
-
/** Get the DataSourceQuery ID from the selected AppObject's DataSourceQuery array
|
|
5
|
-
* @param dsqList - The list of DataSourceQueries
|
|
6
|
-
* @param table - The table name
|
|
7
|
-
* @param like - The like string
|
|
8
|
-
* @returns string - The ID of the DataSourceQuery
|
|
9
|
-
*/
|
|
10
|
-
export function getDsqIdfromSelectedAppObjectDSQArray(dsqList, table, like) {
|
|
11
|
-
if (dsqList) {
|
|
12
|
-
const matchName = like + '_' + table;
|
|
13
|
-
const result = dsqList.find((d) => d.QueryName === matchName);
|
|
14
|
-
return result?.ID;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/** Get the AppObject based on the provided ID
|
|
18
|
-
* @param id - The ID of the AppObject
|
|
19
|
-
* @returns AppObject | null - The found AppObject or null
|
|
20
|
-
*/
|
|
21
|
-
export function getAppObject(id) {
|
|
22
|
-
const tabData = Common.tabJson;
|
|
23
|
-
return (tabData?.AppObjects.find((t) => t.ID === id?.toLowerCase()) || null);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Get the AppObject from the DataSourceQuery ID
|
|
27
|
-
* @param dsqId - The DataSourceQuery ID
|
|
28
|
-
* @returns AppObject | null - The found AppObject or null
|
|
29
|
-
*/
|
|
30
|
-
export function getAppObjectFromDataSourceQueryID(dsqId) {
|
|
31
|
-
const tabData = Common.tabJson;
|
|
32
|
-
if (!dsqId || !tabData) {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
for (const appObject of tabData.AppObjects) {
|
|
36
|
-
const dsq = appObject.DataSourceQueries.find((l) => l.ID === dsqId?.toLowerCase());
|
|
37
|
-
if (dsq) {
|
|
38
|
-
return appObject;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get the DataSourceQuery ID from the QueryName and table
|
|
45
|
-
* @param table - The table name
|
|
46
|
-
* @param dsq - The DataSourceQuery name
|
|
47
|
-
* @returns any - The found DataSourceQuery
|
|
48
|
-
*/
|
|
49
|
-
export function getDsqIDFromQueryName(table, dsq) {
|
|
50
|
-
const appObjectList = getAppObjectFromSystemDBTableName(table);
|
|
51
|
-
return appObjectList?.DataSourceQueries.find((d) => d.QueryName === dsq);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Get the Data from the DataSourceQuery ID
|
|
55
|
-
*
|
|
56
|
-
* @param dsqId - The DataSourceQuery ID
|
|
57
|
-
* @returns any - The found Data
|
|
58
|
-
*/
|
|
59
|
-
export function getDataFromDataSourceQueryID(dsqId) {
|
|
60
|
-
const tabData = Common.tabJson;
|
|
61
|
-
if (!tabData) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
for (const appObject of tabData.AppObjects) {
|
|
65
|
-
const DSQ = appObject.DataSourceQueries.find((l) => l.ID === dsqId?.toLowerCase());
|
|
66
|
-
if (DSQ) {
|
|
67
|
-
return DSQ;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Synchronize AppObject fields with the response
|
|
74
|
-
*
|
|
75
|
-
* @param response - The response object
|
|
76
|
-
* @param appObject - The AppObject
|
|
77
|
-
* @returns any - The synchronized response object
|
|
78
|
-
*/
|
|
79
|
-
export function syncAppObjectFields(response, appObject) {
|
|
80
|
-
for (const key in response) {
|
|
81
|
-
const foundObj = appObject.Fields.find((f) => f.FieldName === key);
|
|
82
|
-
const chilData = appObject.ChildRelationShips?.map((x) => x.childDetails.LookupObject);
|
|
83
|
-
if (!foundObj && !(chilData && chilData.some((x) => x.includes(key)))) {
|
|
84
|
-
deleteKeyFromResponse(response, key);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return response;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Get the AppObject based on the SystemDBTableName
|
|
91
|
-
*
|
|
92
|
-
* @param tableName - The SystemDBTableName
|
|
93
|
-
* @returns AppObject | null - The found AppObject or null
|
|
94
|
-
*/
|
|
95
|
-
export function getAppObjectFromSystemDBTableName(tableName) {
|
|
96
|
-
const tabData = Common.tabJson;
|
|
97
|
-
return (tabData?.AppObjects.find((t) => t.SystemDBTableName === tableName) || null);
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWFwcC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3RhYi1hcHAudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZEOzs7OztHQUtHO0FBRUgsTUFBTSxVQUFVLHFDQUFxQyxDQUNuRCxPQUFZLEVBQ1osS0FBYSxFQUNiLElBQVk7SUFFWixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNuRSxPQUFPLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDcEIsQ0FBQztBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFFSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQVU7SUFDckMsTUFBTSxPQUFPLEdBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxPQUFPLENBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFFSCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsS0FBYTtJQUM3RCxNQUFNLE9BQU8sR0FBUSxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ3BD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bnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBDb21tb24gfSBmcm9tICcuLi9jb25zdGFudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQXBwT2JqZWN0IH0gZnJvbSAnLi4vbW9kZWxzL2FwcC1vYmplY3QuY2xhc3MnO1xyXG5pbXBvcnQgeyBkZWxldGVLZXlGcm9tUmVzcG9uc2UgfSBmcm9tICcuL3JlcS1yZXMudXRpbCc7XHJcblxyXG4vKiogR2V0IHRoZSBEYXRhU291cmNlUXVlcnkgSUQgZnJvbSB0aGUgc2VsZWN0ZWQgQXBwT2JqZWN0J3MgRGF0YVNvdXJjZVF1ZXJ5IGFycmF5XHJcbiAqIEBwYXJhbSBkc3FMaXN0IC0gVGhlIGxpc3Qgb2YgRGF0YVNvdXJjZVF1ZXJpZXNcclxuICogQHBhcmFtIHRhYmxlIC0gVGhlIHRhYmxlIG5hbWVcclxuICogQHBhcmFtIGxpa2UgLSBUaGUgbGlrZSBzdHJpbmdcclxuICogQHJldHVybnMgc3RyaW5nIC0gVGhlIElEIG9mIHRoZSBEYXRhU291cmNlUXVlcnlcclxuICovXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RHNxSWRmcm9tU2VsZWN0ZWRBcHBPYmplY3REU1FBcnJheShcclxuICBkc3FMaXN0OiBhbnksXHJcbiAgdGFibGU6IHN0cmluZyxcclxuICBsaWtlOiBzdHJpbmdcclxuKSB7XHJcbiAgaWYgKGRzcUxpc3QpIHtcclxuICAgIGNvbnN0IG1hdGNoTmFtZSA9IGxpa2UgKyAnXycgKyB0YWJsZTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGRzcUxpc3QuZmluZCgoZDogYW55KSA9PiBkLlF1ZXJ5TmFtZSA9PT0gbWF0Y2hOYW1lKTtcclxuICAgIHJldHVybiByZXN1bHQ/LklEO1xyXG4gIH1cclxufVxyXG5cclxuLyoqIEdldCB0aGUgQXBwT2JqZWN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBJRFxyXG4gKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhlIEFwcE9iamVjdFxyXG4gKiBAcmV0dXJucyBBcHBPYmplY3QgfCBudWxsIC0gVGhlIGZvdW5kIEFwcE9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcE9iamVjdChpZDogc3RyaW5nKSB7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55IHwgbnVsbCA9IENvbW1vbi50YWJKc29uO1xyXG4gIHJldHVybiAoXHJcbiAgICB0YWJEYXRhPy5BcHBPYmplY3RzLmZpbmQoKHQ6IGFueSkgPT4gdC5JRCA9PT0gaWQ/LnRvTG93ZXJDYXNlKCkpIHx8IG51bGxcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBBcHBPYmplY3QgZnJvbSB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEXHJcbiAqIEBwYXJhbSBkc3FJZCAtIFRoZSBEYXRhU291cmNlUXVlcnkgSURcclxuICogQHJldHVybnMgQXBwT2JqZWN0IHwgbnVsbCAtIFRoZSBmb3VuZCBBcHBPYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBPYmplY3RGcm9tRGF0YVNvdXJjZVF1ZXJ5SUQoZHNxSWQ6IHN0cmluZykge1xyXG4gIGNvbnN0IHRhYkRhdGE6IGFueSA9IENvbW1vbi50YWJKc29uO1xyXG4gIGlmICghZHNxSWQgfHwgIXRhYkRhdGEpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBhcHBPYmplY3Qgb2YgdGFiRGF0YS5BcHBPYmplY3RzKSB7XHJcbiAgICBjb25zdCBkc3EgPSBhcHBPYmplY3QuRGF0YVNvdXJjZVF1ZXJpZXMuZmluZChcclxuICAgICAgKGw6IGFueSkgPT4gbC5JRCA9PT0gZHNxSWQ/LnRvTG93ZXJDYXNlKClcclxuICAgICk7XHJcbiAgICBpZiAoZHNxKSB7XHJcbiAgICAgIHJldHVybiBhcHBPYmplY3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEIGZyb20gdGhlIFF1ZXJ5TmFtZSBhbmQgdGFibGVcclxuICogQHBhcmFtIHRhYmxlIC0gVGhlIHRhYmxlIG5hbWVcclxuICogQHBhcmFtIGRzcSAtIFRoZSBEYXRhU291cmNlUXVlcnkgbmFtZVxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZm91bmQgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RHNxSURGcm9tUXVlcnlOYW1lKHRhYmxlOiBzdHJpbmcsIGRzcTogc3RyaW5nKSB7XHJcbiAgY29uc3QgYXBwT2JqZWN0TGlzdCA9IGdldEFwcE9iamVjdEZyb21TeXN0ZW1EQlRhYmxlTmFtZSh0YWJsZSk7XHJcbiAgcmV0dXJuIGFwcE9iamVjdExpc3Q/LkRhdGFTb3VyY2VRdWVyaWVzLmZpbmQoKGQ6IGFueSkgPT4gZC5RdWVyeU5hbWUgPT09IGRzcSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIERhdGEgZnJvbSB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEXHJcbiAqXHJcbiAqIEBwYXJhbSBkc3FJZCAtIFRoZSBEYXRhU291cmNlUXVlcnkgSURcclxuICogQHJldHVybnMgYW55IC0gVGhlIGZvdW5kIERhdGFcclxuICovXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YUZyb21EYXRhU291cmNlUXVlcnlJRChkc3FJZDogc3RyaW5nKSB7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55ID0gQ29tbW9uLnRhYkpzb247XHJcbiAgaWYgKCF0YWJEYXRhKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3QgYXBwT2JqZWN0IG9mIHRhYkRhdGEuQXBwT2JqZWN0cykge1xyXG4gICAgY29uc3QgRFNRID0gYXBwT2JqZWN0LkRhdGFTb3VyY2VRdWVyaWVzLmZpbmQoXHJcbiAgICAgIChsOiBhbnkpID0+IGwuSUQgPT09IGRzcUlkPy50b0xvd2VyQ2FzZSgpXHJcbiAgICApO1xyXG4gICAgaWYgKERTUSkge1xyXG4gICAgICByZXR1cm4gRFNRO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTeW5jaHJvbml6ZSBBcHBPYmplY3QgZmllbGRzIHdpdGggdGhlIHJlc3BvbnNlXHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGFwcE9iamVjdCAtIFRoZSBBcHBPYmplY3RcclxuICogQHJldHVybnMgYW55IC0gVGhlIHN5bmNocm9uaXplZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXBwT2JqZWN0RmllbGRzKHJlc3BvbnNlOiBhbnksIGFwcE9iamVjdDogQXBwT2JqZWN0KSB7XHJcbiAgZm9yIChjb25zdCBrZXkgaW4gcmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IGZvdW5kT2JqID0gYXBwT2JqZWN0LkZpZWxkcy5maW5kKChmOiBhbnkpID0+IGYuRmllbGROYW1lID09PSBrZXkpO1xyXG4gICAgY29uc3QgY2hpbERhdGEgPSBhcHBPYmplY3QuQ2hpbGRSZWxhdGlvblNoaXBzPy5tYXAoXHJcbiAgICAgICh4KSA9PiB4LmNoaWxkRGV0YWlscy5Mb29rdXBPYmplY3RcclxuICAgICk7XHJcbiAgICBpZiAoIWZvdW5kT2JqICYmICEoY2hpbERhdGEgJiYgY2hpbERhdGEuc29tZSgoeCkgPT4geC5pbmNsdWRlcyhrZXkpKSkpIHtcclxuICAgICAgZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlLCBrZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEFwcE9iamVjdCBiYXNlZCBvbiB0aGUgU3lzdGVtREJUYWJsZU5hbWVcclxuICpcclxuICogQHBhcmFtIHRhYmxlTmFtZSAtIFRoZSBTeXN0ZW1EQlRhYmxlTmFtZVxyXG4gKiBAcmV0dXJucyBBcHBPYmplY3QgfCBudWxsIC0gVGhlIGZvdW5kIEFwcE9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwT2JqZWN0RnJvbVN5c3RlbURCVGFibGVOYW1lKHRhYmxlTmFtZTogc3RyaW5nKSB7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55ID0gQ29tbW9uLnRhYkpzb247XHJcbiAgcmV0dXJuIChcclxuICAgIHRhYkRhdGE/LkFwcE9iamVjdHMuZmluZChcclxuICAgICAgKHQ6IHsgU3lzdGVtREJUYWJsZU5hbWU6IHN0cmluZyB9KSA9PiB0LlN5c3RlbURCVGFibGVOYW1lID09PSB0YWJsZU5hbWVcclxuICAgICkgfHwgbnVsbFxyXG4gICk7XHJcbn1cclxuIl19
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { ApiService } from '../core/http-client/api.service';
|
|
3
|
-
import { LocalStorageService } from './local-storage.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class AuthService {
|
|
6
|
-
constructor() {
|
|
7
|
-
/**
|
|
8
|
-
* Injecting required services
|
|
9
|
-
*/
|
|
10
|
-
this.apiService = inject(ApiService);
|
|
11
|
-
this.localStorageService = inject(LocalStorageService);
|
|
12
|
-
}
|
|
13
|
-
// -----------------------------------------------------------------------------------------------------
|
|
14
|
-
// @ Public methods
|
|
15
|
-
// -----------------------------------------------------------------------------------------------------
|
|
16
|
-
/**
|
|
17
|
-
* Fetch user details from the database
|
|
18
|
-
*
|
|
19
|
-
* @param endPointName - The End Point Name to fetch user details
|
|
20
|
-
* @returns Observable<UserResponse> - An observable of UserResponse
|
|
21
|
-
*/
|
|
22
|
-
user(endPointName) {
|
|
23
|
-
return this.apiService.get(endPointName);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Sign in with provided credentials
|
|
27
|
-
*
|
|
28
|
-
* @param endPointName - The End Point Name to sign in
|
|
29
|
-
* @param credentials - The login credentials
|
|
30
|
-
* @returns Observable<UserResponse> - An observable of UserResponse
|
|
31
|
-
*/
|
|
32
|
-
signIn(endPointName, credentials) {
|
|
33
|
-
return this.apiService.post(endPointName, credentials);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Register a new user
|
|
37
|
-
*
|
|
38
|
-
* @param endPointName - The End Point Name to register a new user
|
|
39
|
-
* @param credentials - The new user's credentials
|
|
40
|
-
* @returns Observable<UserResponse> - An observable of UserResponse
|
|
41
|
-
*/
|
|
42
|
-
register(endPointName, credentials) {
|
|
43
|
-
return this.apiService.post(endPointName, credentials);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Forgot password
|
|
47
|
-
* @param endPointName - The End Point Name of API
|
|
48
|
-
* @param email - The email of user
|
|
49
|
-
*/
|
|
50
|
-
forgotPassword(endPointName, email) {
|
|
51
|
-
return this.apiService.post(endPointName, email);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Reset password
|
|
55
|
-
* @param endPointName - The End Point Name of API
|
|
56
|
-
* @param password - The password of user
|
|
57
|
-
*/
|
|
58
|
-
resetPassword(endPointName, password) {
|
|
59
|
-
return this.apiService.post(endPointName, password);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Logout current session
|
|
63
|
-
*/
|
|
64
|
-
logout(key) {
|
|
65
|
-
this.localStorageService.removeLocalStorage(key);
|
|
66
|
-
}
|
|
67
|
-
static { this.ɵfac = function AuthService_Factory(t) { return new (t || AuthService)(); }; }
|
|
68
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthService, factory: AuthService.ɵfac, providedIn: 'root' }); }
|
|
69
|
-
}
|
|
70
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthService, [{
|
|
71
|
-
type: Injectable,
|
|
72
|
-
args: [{ providedIn: 'root' }]
|
|
73
|
-
}], null, null); })();
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUc5RCxNQUFNLE9BQU8sV0FBVztJQUR4QjtRQUVFOztXQUVHO1FBQ2MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQXVFcEU7SUFyRUMsd0dBQXdHO0lBQ3hHLG1CQUFtQjtJQUNuQix3R0FBd0c7SUFFeEc7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsWUFBb0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQW9CLEVBQUUsV0FBNkI7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekIsWUFBWSxFQUNaLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxZQUFvQixFQUFFLFdBQTJCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQStCLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWMsQ0FDWixZQUFvQixFQUNwQixLQUFnQztRQUVoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FDWCxZQUFvQixFQUNwQixRQUFrQztRQUVsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNoQixJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs0RUEzRVUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFERSxNQUFNOztpRkFDbkIsV0FBVztjQUR2QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBGb3Jnb3RQYXNzd29yZFVzZXJSZXF1ZXN0LFxyXG4gIExvZ2luVXNlclJlcXVlc3QsXHJcbiAgTmV3VXNlclJlcXVlc3QsXHJcbiAgUmVzZXRQYXNzd29yZFVzZXJSZXF1ZXN0LFxyXG59IGZyb20gJy4uL2FwcC9pbnRlcmZhY2VzL2F1dGguaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVXNlclJlc3BvbnNlIH0gZnJvbSAnLi4vYXBwL2ludGVyZmFjZXMvdXNlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vYXBwL2ludGVyZmFjZXMvY29tbW9uLWFwaS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICAvKipcclxuICAgKiBJbmplY3RpbmcgcmVxdWlyZWQgc2VydmljZXNcclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xyXG5cclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vIEAgUHVibGljIG1ldGhvZHNcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaCB1c2VyIGRldGFpbHMgZnJvbSB0aGUgZGF0YWJhc2VcclxuICAgKlxyXG4gICAqIEBwYXJhbSBlbmRQb2ludE5hbWUgLSBUaGUgRW5kIFBvaW50IE5hbWUgdG8gZmV0Y2ggdXNlciBkZXRhaWxzXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IC0gQW4gb2JzZXJ2YWJsZSBvZiBVc2VyUmVzcG9uc2VcclxuICAgKi9cclxuICB1c2VyKGVuZFBvaW50TmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0PFVzZXJSZXNwb25zZT4oZW5kUG9pbnROYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNpZ24gaW4gd2l0aCBwcm92aWRlZCBjcmVkZW50aWFsc1xyXG4gICAqXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSB0byBzaWduIGluXHJcbiAgICogQHBhcmFtIGNyZWRlbnRpYWxzIC0gVGhlIGxvZ2luIGNyZWRlbnRpYWxzXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IC0gQW4gb2JzZXJ2YWJsZSBvZiBVc2VyUmVzcG9uc2VcclxuICAgKi9cclxuICBzaWduSW4oZW5kUG9pbnROYW1lOiBzdHJpbmcsIGNyZWRlbnRpYWxzOiBMb2dpblVzZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxVc2VyUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdDxVc2VyUmVzcG9uc2UsIExvZ2luVXNlclJlcXVlc3Q+KFxyXG4gICAgICBlbmRQb2ludE5hbWUsXHJcbiAgICAgIGNyZWRlbnRpYWxzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgYSBuZXcgdXNlclxyXG4gICAqXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSB0byByZWdpc3RlciBhIG5ldyB1c2VyXHJcbiAgICogQHBhcmFtIGNyZWRlbnRpYWxzIC0gVGhlIG5ldyB1c2VyJ3MgY3JlZGVudGlhbHNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFVzZXJSZXNwb25zZT4gLSBBbiBvYnNlcnZhYmxlIG9mIFVzZXJSZXNwb25zZVxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyKGVuZFBvaW50TmFtZTogc3RyaW5nLCBjcmVkZW50aWFsczogTmV3VXNlclJlcXVlc3QpOiBPYnNlcnZhYmxlPFVzZXJSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0PFVzZXJSZXNwb25zZSwgTmV3VXNlclJlcXVlc3Q+KGVuZFBvaW50TmFtZSwgY3JlZGVudGlhbHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRm9yZ290IHBhc3N3b3JkXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSBvZiBBUElcclxuICAgKiBAcGFyYW0gZW1haWwgLSBUaGUgZW1haWwgb2YgdXNlclxyXG4gICAqL1xyXG4gIGZvcmdvdFBhc3N3b3JkKFxyXG4gICAgZW5kUG9pbnROYW1lOiBzdHJpbmcsXHJcbiAgICBlbWFpbDogRm9yZ290UGFzc3dvcmRVc2VyUmVxdWVzdFxyXG4gICk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChlbmRQb2ludE5hbWUsIGVtYWlsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IHBhc3N3b3JkXHJcbiAgICogQHBhcmFtIGVuZFBvaW50TmFtZSAtIFRoZSBFbmQgUG9pbnQgTmFtZSBvZiBBUElcclxuICAgKiBAcGFyYW0gcGFzc3dvcmQgLSBUaGUgcGFzc3dvcmQgb2YgdXNlclxyXG4gICAqL1xyXG4gIHJlc2V0UGFzc3dvcmQoXHJcbiAgICBlbmRQb2ludE5hbWU6IHN0cmluZyxcclxuICAgIHBhc3N3b3JkOiBSZXNldFBhc3N3b3JkVXNlclJlcXVlc3RcclxuICApOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoZW5kUG9pbnROYW1lLCBwYXNzd29yZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2dvdXQgY3VycmVudCBzZXNzaW9uXHJcbiAgICovXHJcbiAgbG9nb3V0KGtleTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKGtleSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { openDB } from 'idb';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class IdbService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.dbName = 'TabDatabase';
|
|
7
|
-
this.dbVersion = 1;
|
|
8
|
-
this.dbPromise = openDB(this.dbName, this.dbVersion, {
|
|
9
|
-
upgrade(db) {
|
|
10
|
-
if (!db.objectStoreNames.contains('myObjectStore')) {
|
|
11
|
-
db.createObjectStore('myObjectStore', { keyPath: 'key' });
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
async setItem(key, data) {
|
|
17
|
-
try {
|
|
18
|
-
if (data) {
|
|
19
|
-
await this.setItemIndexedDb(key, data);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
throw new Error('Error storing data: ' + error);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
async setItemIndexedDb(key, data) {
|
|
27
|
-
const db = await this.dbPromise;
|
|
28
|
-
const tx = db.transaction('myObjectStore', 'readwrite');
|
|
29
|
-
const store = tx.objectStore('myObjectStore');
|
|
30
|
-
await store.put({ key, data });
|
|
31
|
-
await tx.done;
|
|
32
|
-
}
|
|
33
|
-
async getItem(key) {
|
|
34
|
-
try {
|
|
35
|
-
const result = await this.getItemIndexedDb(key);
|
|
36
|
-
return result?.data;
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
throw new Error('Error retrieving data: ' + error);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async getItemIndexedDb(key) {
|
|
43
|
-
const db = await this.dbPromise;
|
|
44
|
-
const tx = db.transaction('myObjectStore', 'readonly');
|
|
45
|
-
const store = tx.objectStore('myObjectStore');
|
|
46
|
-
const result = await store.get(key);
|
|
47
|
-
await tx.done;
|
|
48
|
-
return result;
|
|
49
|
-
}
|
|
50
|
-
async clearIndexedDB() {
|
|
51
|
-
try {
|
|
52
|
-
const db = await this.dbPromise;
|
|
53
|
-
const tx = db.transaction('myObjectStore', 'readwrite');
|
|
54
|
-
const store = tx.objectStore('myObjectStore');
|
|
55
|
-
await store.clear();
|
|
56
|
-
await tx.done;
|
|
57
|
-
}
|
|
58
|
-
catch (error) {
|
|
59
|
-
throw new Error('Error clearing IndexedDB: ' + error);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
static { this.ɵfac = function IdbService_Factory(t) { return new (t || IdbService)(); }; }
|
|
63
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: IdbService, factory: IdbService.ɵfac, providedIn: 'root' }); }
|
|
64
|
-
}
|
|
65
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IdbService, [{
|
|
66
|
-
type: Injectable,
|
|
67
|
-
args: [{ providedIn: 'root' }]
|
|
68
|
-
}], () => [], null); })();
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRiLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2F1dGgvaWRiLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQTBCLE1BQU0sS0FBSyxDQUFDOztBQVVyRCxNQUFNLE9BQU8sVUFBVTtJQUtuQjtRQUppQixXQUFNLEdBQUcsYUFBYSxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFJM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZELE9BQU8sQ0FBQyxFQUFFO2dCQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7b0JBQ2pELEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDOUQsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsSUFBUztRQUNoQyxJQUFJLENBQUM7WUFDRCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNQLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxJQUFTO1FBQ2pELE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFXO1FBQ3JCLElBQUksQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sTUFBTSxFQUFFLElBQUksQ0FBQztRQUN4QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUN0QyxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2hCLElBQUksQ0FBQztZQUNELE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN4RCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLENBQUE7UUFDekQsQ0FBQztJQUNMLENBQUM7MkVBN0RRLFVBQVU7dUVBQVYsVUFBVSxXQUFWLFVBQVUsbUJBREcsTUFBTTs7aUZBQ25CLFVBQVU7Y0FEdEIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgb3BlbkRCLCBJREJQRGF0YWJhc2UsIERCU2NoZW1hIH0gZnJvbSAnaWRiJztcclxuXHJcbmludGVyZmFjZSBNeURCIGV4dGVuZHMgREJTY2hlbWEge1xyXG4gICAgbXlPYmplY3RTdG9yZToge1xyXG4gICAgICAgIGtleTogc3RyaW5nO1xyXG4gICAgICAgIHZhbHVlOiB7IGtleTogc3RyaW5nOyBkYXRhOiBzdHJpbmcgfTtcclxuICAgIH07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBJZGJTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGJOYW1lID0gJ1RhYkRhdGFiYXNlJztcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGJWZXJzaW9uID0gMTtcclxuICAgIHByaXZhdGUgZGJQcm9taXNlOiBQcm9taXNlPElEQlBEYXRhYmFzZTxNeURCPj47XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5kYlByb21pc2UgPSBvcGVuREI8TXlEQj4odGhpcy5kYk5hbWUsIHRoaXMuZGJWZXJzaW9uLCB7XHJcbiAgICAgICAgICAgIHVwZ3JhZGUoZGIpIHtcclxuICAgICAgICAgICAgICAgIGlmICghZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnbXlPYmplY3RTdG9yZScpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ215T2JqZWN0U3RvcmUnLCB7IGtleVBhdGg6ICdrZXknIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNldEl0ZW0oa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNldEl0ZW1JbmRleGVkRGIoa2V5LCBkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXJyb3Igc3RvcmluZyBkYXRhOiAnICsgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHNldEl0ZW1JbmRleGVkRGIoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGRiID0gYXdhaXQgdGhpcy5kYlByb21pc2U7XHJcbiAgICAgICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignbXlPYmplY3RTdG9yZScsICdyZWFkd3JpdGUnKTtcclxuICAgICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdteU9iamVjdFN0b3JlJyk7XHJcbiAgICAgICAgYXdhaXQgc3RvcmUucHV0KHsga2V5LCBkYXRhIH0pO1xyXG4gICAgICAgIGF3YWl0IHR4LmRvbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0SXRlbShrZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5nZXRJdGVtSW5kZXhlZERiKGtleSk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ/LmRhdGE7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciByZXRyaWV2aW5nIGRhdGE6ICcgKyBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgZ2V0SXRlbUluZGV4ZWREYihrZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgZGIgPSBhd2FpdCB0aGlzLmRiUHJvbWlzZTtcclxuICAgICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdteU9iamVjdFN0b3JlJywgJ3JlYWRvbmx5Jyk7XHJcbiAgICAgICAgY29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgnbXlPYmplY3RTdG9yZScpO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0b3JlLmdldChrZXkpO1xyXG4gICAgICAgIGF3YWl0IHR4LmRvbmU7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjbGVhckluZGV4ZWREQigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBkYiA9IGF3YWl0IHRoaXMuZGJQcm9taXNlO1xyXG4gICAgICAgICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdteU9iamVjdFN0b3JlJywgJ3JlYWR3cml0ZScpO1xyXG4gICAgICAgICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdteU9iamVjdFN0b3JlJyk7XHJcbiAgICAgICAgICAgIGF3YWl0IHN0b3JlLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIGF3YWl0IHR4LmRvbmU7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBjbGVhcmluZyBJbmRleGVkREI6ICcgKyBlcnJvcilcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuIl19
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class LocalStorageService {
|
|
5
|
-
constructor() {
|
|
6
|
-
// -----------------------------------------------------------------------------------------------------
|
|
7
|
-
// @ Public methods
|
|
8
|
-
// -----------------------------------------------------------------------------------------------------
|
|
9
|
-
/**
|
|
10
|
-
* Set data in local storage
|
|
11
|
-
* @param key - Key to store the data
|
|
12
|
-
* @param data - Data to be stored
|
|
13
|
-
*/
|
|
14
|
-
this.setLocalStorage = (key, data) => {
|
|
15
|
-
// localStorage.setItem(key, JSON.stringify(data));
|
|
16
|
-
if (typeof data === 'string') {
|
|
17
|
-
localStorage.setItem(key, data);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
localStorage.setItem(key, JSON.stringify(data));
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Get data from local storage
|
|
25
|
-
* @param key - Key to retrieve the data
|
|
26
|
-
* @returns The data stored in local storage
|
|
27
|
-
*/
|
|
28
|
-
this.getLocalStorage = (key) => {
|
|
29
|
-
const data = localStorage.getItem(key);
|
|
30
|
-
return data ? data : null;
|
|
31
|
-
// if (typeof data === 'string') {
|
|
32
|
-
// return data ? data: null;
|
|
33
|
-
// } else {
|
|
34
|
-
// return data ? JSON.parse(data) : null;
|
|
35
|
-
// }
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Remove data from local storage
|
|
39
|
-
* @param key - Key of the data to be removed
|
|
40
|
-
*/
|
|
41
|
-
this.removeLocalStorage = (key) => {
|
|
42
|
-
localStorage.removeItem(key);
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = function LocalStorageService_Factory(t) { return new (t || LocalStorageService)(); }; }
|
|
46
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LocalStorageService, factory: LocalStorageService.ɵfac, providedIn: 'root' }); }
|
|
47
|
-
}
|
|
48
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LocalStorageService, [{
|
|
49
|
-
type: Injectable,
|
|
50
|
-
args: [{ providedIn: 'root' }]
|
|
51
|
-
}], null, null); })();
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXV0aC9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFRSx3R0FBd0c7UUFDeEcsbUJBQW1CO1FBQ25CLHdHQUF3RztRQUV4Rzs7OztXQUlHO1FBQ0gsb0JBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQVEsRUFBRTtZQUNqRCxtREFBbUQ7WUFDbkQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUY7Ozs7V0FJRztRQUNILG9CQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQU8sRUFBRTtZQUNyQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN6QixrQ0FBa0M7WUFDbEMsOEJBQThCO1lBQzlCLFdBQVc7WUFDWCwyQ0FBMkM7WUFDM0MsSUFBSTtRQUNOLENBQUMsQ0FBQztRQUVGOzs7V0FHRztRQUNILHVCQUFrQixHQUFHLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDekMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUM7S0FDSDtvRkF6Q1ksbUJBQW1CO3VFQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CLG1CQUROLE1BQU07O2lGQUNuQixtQkFBbUI7Y0FEL0IsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgLy8gQCBQdWJsaWMgbWV0aG9kc1xyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBkYXRhIGluIGxvY2FsIHN0b3JhZ2VcclxuICAgKiBAcGFyYW0ga2V5IC0gS2V5IHRvIHN0b3JlIHRoZSBkYXRhXHJcbiAgICogQHBhcmFtIGRhdGEgLSBEYXRhIHRvIGJlIHN0b3JlZFxyXG4gICAqL1xyXG4gIHNldExvY2FsU3RvcmFnZSA9IChrZXk6IHN0cmluZywgZGF0YTogYW55KTogdm9pZCA9PiB7XHJcbiAgICAvLyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBkYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBkYXRhIGZyb20gbG9jYWwgc3RvcmFnZVxyXG4gICAqIEBwYXJhbSBrZXkgLSBLZXkgdG8gcmV0cmlldmUgdGhlIGRhdGFcclxuICAgKiBAcmV0dXJucyBUaGUgZGF0YSBzdG9yZWQgaW4gbG9jYWwgc3RvcmFnZVxyXG4gICAqL1xyXG4gIGdldExvY2FsU3RvcmFnZSA9IChrZXk6IHN0cmluZyk6IGFueSA9PiB7XHJcbiAgICBjb25zdCBkYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgIHJldHVybiBkYXRhID8gZGF0YTogbnVsbDtcclxuICAgIC8vIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcclxuICAgIC8vICAgcmV0dXJuIGRhdGEgPyBkYXRhOiBudWxsO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgcmV0dXJuIGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDogbnVsbDtcclxuICAgIC8vIH1cclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgZGF0YSBmcm9tIGxvY2FsIHN0b3JhZ2VcclxuICAgKiBAcGFyYW0ga2V5IC0gS2V5IG9mIHRoZSBkYXRhIHRvIGJlIHJlbW92ZWRcclxuICAgKi9cclxuICByZW1vdmVMb2NhbFN0b3JhZ2UgPSAoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SessionStorageService {
|
|
5
|
-
constructor() {
|
|
6
|
-
// -----------------------------------------------------------------------------------------------------
|
|
7
|
-
// @ Public methods
|
|
8
|
-
// -----------------------------------------------------------------------------------------------------
|
|
9
|
-
/**
|
|
10
|
-
* Set data in session storage
|
|
11
|
-
* @param key - Key to store the data
|
|
12
|
-
* @param data - Data to be stored
|
|
13
|
-
*/
|
|
14
|
-
this.setSessionStorage = (key, data) => {
|
|
15
|
-
// sessionStorage.setItem(key, JSON.stringify(data));
|
|
16
|
-
if (typeof data === 'string') {
|
|
17
|
-
sessionStorage.setItem(key, data);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
sessionStorage.setItem(key, JSON.stringify(data));
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Get data from session storage
|
|
25
|
-
* @param key - Key to retrieve the data
|
|
26
|
-
* @returns The data stored in session storage
|
|
27
|
-
*/
|
|
28
|
-
this.getSessionStorage = (key) => {
|
|
29
|
-
const data = sessionStorage.getItem(key);
|
|
30
|
-
return data ? data : null;
|
|
31
|
-
// if (typeof data === 'string') {
|
|
32
|
-
// return data ? data: null;
|
|
33
|
-
// } else {
|
|
34
|
-
// return data ? JSON.parse(data) : null;
|
|
35
|
-
// }
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Remove data from session storage
|
|
39
|
-
* @param key - Key of the data to be removed
|
|
40
|
-
*/
|
|
41
|
-
this.removeSessionStorage = (key) => {
|
|
42
|
-
sessionStorage.removeItem(key);
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = function SessionStorageService_Factory(t) { return new (t || SessionStorageService)(); }; }
|
|
46
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac, providedIn: 'root' }); }
|
|
47
|
-
}
|
|
48
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageService, [{
|
|
49
|
-
type: Injectable,
|
|
50
|
-
args: [{ providedIn: 'root' }]
|
|
51
|
-
}], null, null); })();
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hdXRoL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBRUUsd0dBQXdHO1FBQ3hHLG1CQUFtQjtRQUNuQix3R0FBd0c7UUFFeEc7Ozs7V0FJRztRQUNILHNCQUFpQixHQUFHLENBQUMsR0FBVyxFQUFFLElBQVMsRUFBUSxFQUFFO1lBQ25ELHFEQUFxRDtZQUNyRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRjs7OztXQUlHO1FBQ0gsc0JBQWlCLEdBQUcsQ0FBQyxHQUFXLEVBQU8sRUFBRTtZQUN2QyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN6QixrQ0FBa0M7WUFDbEMsOEJBQThCO1lBQzlCLFdBQVc7WUFDWCwyQ0FBMkM7WUFDM0MsSUFBSTtRQUNOLENBQUMsQ0FBQztRQUVGOzs7V0FHRztRQUNILHlCQUFvQixHQUFHLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDM0MsY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7S0FDSDtzRkF6Q1kscUJBQXFCO3VFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCLG1CQURSLE1BQU07O2lGQUNuQixxQkFBcUI7Y0FEakMsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdG9yYWdlU2VydmljZSB7XHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvLyBAIFB1YmxpYyBtZXRob2RzXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGRhdGEgaW4gc2Vzc2lvbiBzdG9yYWdlXHJcbiAgICogQHBhcmFtIGtleSAtIEtleSB0byBzdG9yZSB0aGUgZGF0YVxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBiZSBzdG9yZWRcclxuICAgKi9cclxuICBzZXRTZXNzaW9uU3RvcmFnZSA9IChrZXk6IHN0cmluZywgZGF0YTogYW55KTogdm9pZCA9PiB7XHJcbiAgICAvLyBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGtleSwgZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBkYXRhIGZyb20gc2Vzc2lvbiBzdG9yYWdlXHJcbiAgICogQHBhcmFtIGtleSAtIEtleSB0byByZXRyaWV2ZSB0aGUgZGF0YVxyXG4gICAqIEByZXR1cm5zIFRoZSBkYXRhIHN0b3JlZCBpbiBzZXNzaW9uIHN0b3JhZ2VcclxuICAgKi9cclxuICBnZXRTZXNzaW9uU3RvcmFnZSA9IChrZXk6IHN0cmluZyk6IGFueSA9PiB7XHJcbiAgICBjb25zdCBkYXRhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgcmV0dXJuIGRhdGEgPyBkYXRhOiBudWxsO1xyXG4gICAgLy8gaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xyXG4gICAgLy8gICByZXR1cm4gZGF0YSA/IGRhdGE6IG51bGw7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICByZXR1cm4gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiBudWxsO1xyXG4gICAgLy8gfVxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBkYXRhIGZyb20gc2Vzc2lvbiBzdG9yYWdlXHJcbiAgICogQHBhcmFtIGtleSAtIEtleSBvZiB0aGUgZGF0YSB0byBiZSByZW1vdmVkXHJcbiAgICovXHJcbiAgcmVtb3ZlU2Vzc2lvblN0b3JhZ2UgPSAoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICB9O1xyXG59XHJcbiJdfQ==
|
package/esm2022/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.mjs
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
3
|
-
import { inject } from '@angular/core';
|
|
4
|
-
import { throwError } from 'rxjs';
|
|
5
|
-
import { catchError } from 'rxjs/operators';
|
|
6
|
-
import { ErrorHandlerStore } from './error-handler.store';
|
|
7
|
-
export const errorHandlingInterceptor = (request, next) => {
|
|
8
|
-
const errorHandlerStore = inject(ErrorHandlerStore);
|
|
9
|
-
return next(request).pipe(catchError((error) => {
|
|
10
|
-
if (error instanceof HttpErrorResponse) {
|
|
11
|
-
switch (error.status) {
|
|
12
|
-
case 401:
|
|
13
|
-
errorHandlerStore.handleError401(error);
|
|
14
|
-
break;
|
|
15
|
-
case 404:
|
|
16
|
-
errorHandlerStore.handleError404(error);
|
|
17
|
-
break;
|
|
18
|
-
default:
|
|
19
|
-
throwError(() => error);
|
|
20
|
-
break;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return throwError(() => error);
|
|
24
|
-
}));
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvY29yZS9lcnJvci1oYW5kbGVyL2Vycm9yLWhhbmRsZXItaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUF5QyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsT0FBeUIsRUFDekIsSUFBbUIsRUFDUyxFQUFFO0lBQzlCLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFcEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN2QixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNuQixJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLFFBQVEsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNyQixLQUFLLEdBQUc7b0JBQ04saUJBQWlCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN4QyxNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixpQkFBaUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3hDLE1BQU07Z0JBQ1I7b0JBQ0UsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN4QixNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlckZuLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU3RvcmUgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXIuc3RvcmUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGVycm9ySGFuZGxpbmdJbnRlcmNlcHRvciA9IChcclxuICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gIG5leHQ6IEh0dHBIYW5kbGVyRm4sXHJcbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+ID0+IHtcclxuICBjb25zdCBlcnJvckhhbmRsZXJTdG9yZSA9IGluamVjdChFcnJvckhhbmRsZXJTdG9yZSk7XHJcblxyXG4gIHJldHVybiBuZXh0KHJlcXVlc3QpLnBpcGUoXHJcbiAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgIHN3aXRjaCAoZXJyb3Iuc3RhdHVzKSB7XHJcbiAgICAgICAgICBjYXNlIDQwMTpcclxuICAgICAgICAgICAgZXJyb3JIYW5kbGVyU3RvcmUuaGFuZGxlRXJyb3I0MDEoZXJyb3IpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgNDA0OlxyXG4gICAgICAgICAgICBlcnJvckhhbmRsZXJTdG9yZS5oYW5kbGVFcnJvcjQwNChlcnJvcik7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICB9KSxcclxuICApO1xyXG59O1xyXG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { signalStore, withState, withMethods, patchState } from '@ngrx/signals';
|
|
2
|
-
import { inject } from '@angular/core';
|
|
3
|
-
import { Router } from '@angular/router';
|
|
4
|
-
import { errorHandlerInitialState } from './models/error-handler.state';
|
|
5
|
-
export const ErrorHandlerStore = signalStore({ providedIn: 'root' }, withState(errorHandlerInitialState), withMethods((store, router = inject(Router)) => ({
|
|
6
|
-
handleError401: (error) => {
|
|
7
|
-
patchState(store, {
|
|
8
|
-
code: error.status,
|
|
9
|
-
message: error.message,
|
|
10
|
-
});
|
|
11
|
-
router.navigate(['/login']);
|
|
12
|
-
},
|
|
13
|
-
handleError404: (error) => {
|
|
14
|
-
patchState(store, {
|
|
15
|
-
code: error.status,
|
|
16
|
-
message: error.message,
|
|
17
|
-
});
|
|
18
|
-
router.navigate(['/']);
|
|
19
|
-
},
|
|
20
|
-
})));
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2NvcmUvZXJyb3ItaGFuZGxlci9lcnJvci1oYW5kbGVyLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFxQix3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzNGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FDMUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQ3RCLFNBQVMsQ0FBb0Isd0JBQXdCLENBQUMsRUFDdEQsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0MsY0FBYyxFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQzNDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ2xCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsY0FBYyxFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQzNDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ2xCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNpZ25hbFN0b3JlLCB3aXRoU3RhdGUsIHdpdGhNZXRob2RzLCBwYXRjaFN0YXRlIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XHJcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTdGF0ZSwgZXJyb3JIYW5kbGVySW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9tb2RlbHMvZXJyb3ItaGFuZGxlci5zdGF0ZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVycm9ySGFuZGxlclN0b3JlID0gc2lnbmFsU3RvcmUoXHJcbiAgeyBwcm92aWRlZEluOiAncm9vdCcgfSxcclxuICB3aXRoU3RhdGU8RXJyb3JIYW5kbGVyU3RhdGU+KGVycm9ySGFuZGxlckluaXRpYWxTdGF0ZSksXHJcbiAgd2l0aE1ldGhvZHMoKHN0b3JlLCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKSkgPT4gKHtcclxuICAgIGhhbmRsZUVycm9yNDAxOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcclxuICAgICAgICBjb2RlOiBlcnJvci5zdGF0dXMsXHJcbiAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcclxuICAgICAgfSk7XHJcbiAgICAgIHJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddKTtcclxuICAgIH0sXHJcbiAgICBoYW5kbGVFcnJvcjQwNDogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XHJcbiAgICAgICAgY29kZTogZXJyb3Iuc3RhdHVzLFxyXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICByb3V0ZXIubmF2aWdhdGUoWycvJ10pO1xyXG4gICAgfSxcclxuICB9KSksXHJcbik7XHJcbiJdfQ==
|