@techextensor/tab-core-utility 2.1.7 → 2.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/esm2022/index.mjs +64 -0
  2. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +33 -0
  3. package/esm2022/lib/tab-core-utility/app/constants/common.mjs +25 -0
  4. package/esm2022/lib/tab-core-utility/app/constants/error-messages.mjs +13 -0
  5. package/esm2022/lib/tab-core-utility/app/constants/storage-constants.mjs +16 -0
  6. package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +145 -0
  7. package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +131 -0
  8. package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +77 -0
  9. package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +105 -0
  10. package/esm2022/lib/tab-core-utility/app/crud/tab-workflow.service.mjs +43 -0
  11. package/esm2022/lib/tab-core-utility/app/enums/controllers.enum.mjs +26 -0
  12. package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +48 -0
  13. package/esm2022/lib/tab-core-utility/app/enums/permission.enum.mjs +20 -0
  14. package/esm2022/lib/tab-core-utility/app/enums/query.enum.mjs +14 -0
  15. package/esm2022/lib/tab-core-utility/app/enums/workflow.enum.mjs +37 -0
  16. package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +68 -0
  17. package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +70 -0
  18. package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +64 -0
  19. package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +208 -0
  20. package/esm2022/lib/tab-core-utility/app/helpers/screen/forms.helpers.mjs +38 -0
  21. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.mjs +78 -0
  22. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +112 -0
  23. package/esm2022/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.mjs +77 -0
  24. package/esm2022/lib/tab-core-utility/app/helpers/screen/plugin.helpers.mjs +55 -0
  25. package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +26 -0
  26. package/esm2022/lib/tab-core-utility/app/interfaces/auth.interface.mjs +2 -0
  27. package/esm2022/lib/tab-core-utility/app/interfaces/common-api.interface.mjs +2 -0
  28. package/esm2022/lib/tab-core-utility/app/interfaces/grid.interface.mjs +3 -0
  29. package/esm2022/lib/tab-core-utility/app/interfaces/orgInfo.interface.mjs +2 -0
  30. package/esm2022/lib/tab-core-utility/app/interfaces/schema.interface.mjs +2 -0
  31. package/esm2022/lib/tab-core-utility/app/interfaces/user.interface.mjs +2 -0
  32. package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +47 -0
  33. package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +30 -0
  34. package/esm2022/lib/tab-core-utility/app/models/common.class.mjs +12 -0
  35. package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +31 -0
  36. package/esm2022/lib/tab-core-utility/app/utils/filter.util.mjs +75 -0
  37. package/esm2022/lib/tab-core-utility/app/utils/form-builder.util.mjs +39 -0
  38. package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +138 -0
  39. package/esm2022/lib/tab-core-utility/app/utils/operators.util.mjs +129 -0
  40. package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +168 -0
  41. package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +99 -0
  42. package/esm2022/lib/tab-core-utility/auth/auth.service.mjs +74 -0
  43. package/esm2022/lib/tab-core-utility/auth/idb-storage.service.mjs +69 -0
  44. package/esm2022/lib/tab-core-utility/auth/local-storage.service.mjs +52 -0
  45. package/esm2022/lib/tab-core-utility/auth/session-storage.service.mjs +52 -0
  46. package/esm2022/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.mjs +26 -0
  47. package/esm2022/lib/tab-core-utility/core/error-handler/error-handler.store.mjs +21 -0
  48. package/esm2022/lib/tab-core-utility/core/error-handler/models/error-handler.state.mjs +5 -0
  49. package/esm2022/lib/tab-core-utility/core/http-client/api-url.token.mjs +4 -0
  50. package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +99 -0
  51. package/esm2022/lib/tab-core-utility/core/util/auth.utils.mjs +21 -0
  52. package/esm2022/lib/tab-core-utility/store/auth.store.mjs +43 -0
  53. package/esm2022/lib/tab-core-utility/store/orginfo.store.mjs +42 -0
  54. package/esm2022/lib/tab-core-utility/store/schema.store.mjs +68 -0
  55. package/esm2022/techextensor-tab-core-utility.mjs +5 -0
  56. package/{src/index.ts → index.d.ts} +53 -77
  57. package/lib/tab-core-utility/app/constants/api-constants.d.ts +30 -0
  58. package/lib/tab-core-utility/app/constants/common.d.ts +8 -0
  59. package/lib/tab-core-utility/app/constants/error-messages.d.ts +6 -0
  60. package/lib/tab-core-utility/app/constants/storage-constants.d.ts +15 -0
  61. package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +51 -0
  62. package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +58 -0
  63. package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +37 -0
  64. package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +14 -0
  65. package/lib/tab-core-utility/app/crud/tab-workflow.service.d.ts +20 -0
  66. package/lib/tab-core-utility/app/enums/controllers.enum.d.ts +24 -0
  67. package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +42 -0
  68. package/lib/tab-core-utility/app/enums/permission.enum.d.ts +16 -0
  69. package/lib/tab-core-utility/app/enums/query.enum.d.ts +11 -0
  70. package/lib/tab-core-utility/app/enums/workflow.enum.d.ts +30 -0
  71. package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +31 -0
  72. package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +32 -0
  73. package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +62 -0
  74. package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +82 -0
  75. package/lib/tab-core-utility/app/helpers/screen/forms.helpers.d.ts +11 -0
  76. package/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.d.ts +33 -0
  77. package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +63 -0
  78. package/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.d.ts +38 -0
  79. package/lib/tab-core-utility/app/helpers/screen/plugin.helpers.d.ts +25 -0
  80. package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +11 -0
  81. package/{src/lib/tab-core-utility/app/interfaces/auth.interface.ts → lib/tab-core-utility/app/interfaces/auth.interface.d.ts} +15 -18
  82. package/lib/tab-core-utility/app/interfaces/common-api.interface.d.ts +24 -0
  83. package/lib/tab-core-utility/app/interfaces/grid.interface.d.ts +110 -0
  84. package/lib/tab-core-utility/app/interfaces/orgInfo.interface.d.ts +31 -0
  85. package/lib/tab-core-utility/app/interfaces/schema.interface.d.ts +11 -0
  86. package/lib/tab-core-utility/app/interfaces/user.interface.d.ts +84 -0
  87. package/lib/tab-core-utility/app/models/api-query.class.d.ts +69 -0
  88. package/lib/tab-core-utility/app/models/app-object.class.d.ts +74 -0
  89. package/lib/tab-core-utility/app/models/common.class.d.ts +24 -0
  90. package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +95 -0
  91. package/lib/tab-core-utility/app/utils/filter.util.d.ts +30 -0
  92. package/lib/tab-core-utility/app/utils/form-builder.util.d.ts +13 -0
  93. package/lib/tab-core-utility/app/utils/json.util.d.ts +25 -0
  94. package/lib/tab-core-utility/app/utils/operators.util.d.ts +21 -0
  95. package/lib/tab-core-utility/app/utils/req-res.util.d.ts +61 -0
  96. package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +48 -0
  97. package/lib/tab-core-utility/auth/auth.service.d.ts +53 -0
  98. package/lib/tab-core-utility/auth/idb-storage.service.d.ts +14 -0
  99. package/lib/tab-core-utility/auth/local-storage.service.d.ts +22 -0
  100. package/lib/tab-core-utility/auth/session-storage.service.d.ts +22 -0
  101. package/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.d.ts +3 -0
  102. package/lib/tab-core-utility/core/error-handler/error-handler.store.d.ts +10 -0
  103. package/lib/tab-core-utility/core/error-handler/models/error-handler.state.d.ts +5 -0
  104. package/lib/tab-core-utility/core/http-client/api-url.token.d.ts +3 -0
  105. package/lib/tab-core-utility/core/http-client/api.service.d.ts +65 -0
  106. package/lib/tab-core-utility/core/util/auth.utils.d.ts +9 -0
  107. package/lib/tab-core-utility/store/auth.store.d.ts +19 -0
  108. package/lib/tab-core-utility/store/orginfo.store.d.ts +22 -0
  109. package/lib/tab-core-utility/store/schema.store.d.ts +32 -0
  110. package/package.json +31 -18
  111. package/.eslintrc.json +0 -92
  112. package/README.md +0 -7
  113. package/jest.config.ts +0 -22
  114. package/ng-package.json +0 -7
  115. package/project.json +0 -42
  116. package/src/lib/tab-core-utility/app/constants/api-constants.ts +0 -33
  117. package/src/lib/tab-core-utility/app/constants/common.ts +0 -34
  118. package/src/lib/tab-core-utility/app/constants/error-messages.ts +0 -21
  119. package/src/lib/tab-core-utility/app/constants/storage-constants.ts +0 -17
  120. package/src/lib/tab-core-utility/app/crud/tab-delete.service.ts +0 -144
  121. package/src/lib/tab-core-utility/app/crud/tab-get.service.ts +0 -160
  122. package/src/lib/tab-core-utility/app/crud/tab-insert.service.ts +0 -75
  123. package/src/lib/tab-core-utility/app/crud/tab-update.service.ts +0 -105
  124. package/src/lib/tab-core-utility/app/crud/tab-workflow.service.ts +0 -39
  125. package/src/lib/tab-core-utility/app/enums/controllers.enum.ts +0 -24
  126. package/src/lib/tab-core-utility/app/enums/dsq.enum.ts +0 -46
  127. package/src/lib/tab-core-utility/app/enums/permission.enum.ts +0 -18
  128. package/src/lib/tab-core-utility/app/enums/query.enum.ts +0 -12
  129. package/src/lib/tab-core-utility/app/enums/workflow.enum.ts +0 -35
  130. package/src/lib/tab-core-utility/app/helpers/common/app.helpers.ts +0 -65
  131. package/src/lib/tab-core-utility/app/helpers/common/dsq.helpers.ts +0 -80
  132. package/src/lib/tab-core-utility/app/helpers/common/req-res.helpers.ts +0 -75
  133. package/src/lib/tab-core-utility/app/helpers/common/where-clause.helpers.ts +0 -262
  134. package/src/lib/tab-core-utility/app/helpers/screen/forms.helpers.ts +0 -33
  135. package/src/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.ts +0 -88
  136. package/src/lib/tab-core-utility/app/helpers/screen/grid.helpers.ts +0 -113
  137. package/src/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.ts +0 -74
  138. package/src/lib/tab-core-utility/app/helpers/screen/plugin.helpers.ts +0 -52
  139. package/src/lib/tab-core-utility/app/helpers/screen/screen.helpers.ts +0 -20
  140. package/src/lib/tab-core-utility/app/interfaces/common-api.interface.ts +0 -27
  141. package/src/lib/tab-core-utility/app/interfaces/grid.interface.ts +0 -118
  142. package/src/lib/tab-core-utility/app/interfaces/orgInfo.interface.ts +0 -34
  143. package/src/lib/tab-core-utility/app/interfaces/schema.interface.ts +0 -11
  144. package/src/lib/tab-core-utility/app/interfaces/user.interface.ts +0 -91
  145. package/src/lib/tab-core-utility/app/models/api-query.class.ts +0 -92
  146. package/src/lib/tab-core-utility/app/models/app-object.class.ts +0 -87
  147. package/src/lib/tab-core-utility/app/models/common.class.ts +0 -30
  148. package/src/lib/tab-core-utility/app/models/data-source-queries.class.ts +0 -114
  149. package/src/lib/tab-core-utility/app/utils/filter.util.ts +0 -78
  150. package/src/lib/tab-core-utility/app/utils/form-builder.util.ts +0 -31
  151. package/src/lib/tab-core-utility/app/utils/json.util.ts +0 -137
  152. package/src/lib/tab-core-utility/app/utils/operators.util.ts +0 -129
  153. package/src/lib/tab-core-utility/app/utils/req-res.util.ts +0 -189
  154. package/src/lib/tab-core-utility/app/utils/tab-app.util.ts +0 -131
  155. package/src/lib/tab-core-utility/auth/auth.service.spec.ts +0 -167
  156. package/src/lib/tab-core-utility/auth/auth.service.ts +0 -91
  157. package/src/lib/tab-core-utility/auth/idb-storage.service.ts +0 -77
  158. package/src/lib/tab-core-utility/auth/local-storage.service.spec.ts +0 -47
  159. package/src/lib/tab-core-utility/auth/local-storage.service.ts +0 -46
  160. package/src/lib/tab-core-utility/auth/session-storage.service.spec.ts +0 -47
  161. package/src/lib/tab-core-utility/auth/session-storage.service.ts +0 -46
  162. package/src/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.ts +0 -32
  163. package/src/lib/tab-core-utility/core/error-handler/error-handler.store.spec.ts +0 -16
  164. package/src/lib/tab-core-utility/core/error-handler/error-handler.store.ts +0 -26
  165. package/src/lib/tab-core-utility/core/error-handler/models/error-handler.state.ts +0 -9
  166. package/src/lib/tab-core-utility/core/http-client/api-url.token.ts +0 -4
  167. package/src/lib/tab-core-utility/core/http-client/api.service.spec.ts +0 -18
  168. package/src/lib/tab-core-utility/core/http-client/api.service.ts +0 -105
  169. package/src/lib/tab-core-utility/core/util/auth.utils.ts +0 -22
  170. package/src/lib/tab-core-utility/store/auth.store.ts +0 -54
  171. package/src/lib/tab-core-utility/store/orginfo.store.ts +0 -57
  172. package/src/lib/tab-core-utility/store/schema.store.ts +0 -85
  173. package/src/test-setup.ts +0 -8
  174. package/tsconfig.json +0 -29
  175. package/tsconfig.lib.json +0 -17
  176. package/tsconfig.lib.prod.json +0 -7
  177. package/tsconfig.spec.json +0 -16
@@ -0,0 +1,105 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Injectable, inject } from "@angular/core";
3
+ import { DSQHelper } from "../helpers/common/dsq.helpers";
4
+ import { ScreenHelper } from "../helpers/screen/screen.helpers";
5
+ import { WhereClauseHelper } from "../helpers/common/where-clause.helpers";
6
+ import { RequestResponseHelper } from "../helpers/common/req-res.helpers";
7
+ import { APIFilterCriteria } from "../models/api-query.class";
8
+ import { QueryType } from "../enums/query.enum";
9
+ import { getAppObject, getAppObjectFromSystemDBTableName, getDataFromDataSourceQueryID, syncAppObjectFields } from "../utils/tab-app.util";
10
+ import { AppObject } from "../models/app-object.class";
11
+ import { createDynamicData, removeBlankValue } from "../utils/json.util";
12
+ import { getEditRecordId, getPrimaryKeyFields, removeMultiplePrimaryKey, removePrimaryKey } from "../utils/req-res.util";
13
+ import * as i0 from "@angular/core";
14
+ export class TabUpdateService {
15
+ constructor() {
16
+ this.dsqHelper = inject(DSQHelper);
17
+ this.screenHelper = inject(ScreenHelper);
18
+ this.whereClauseHelper = inject(WhereClauseHelper);
19
+ this.requestResponseHelper = inject(RequestResponseHelper);
20
+ }
21
+ update(data) {
22
+ return this.dsqHelper.executeQuery(data, QueryType.Update);
23
+ }
24
+ updateUsingDSQ(dsqId, data, tableName, queryFieldsArray) {
25
+ const appObject = getDataFromDataSourceQueryID(dsqId);
26
+ if (appObject) {
27
+ if (data && data.data) {
28
+ const whereClause = this.whereClauseHelper.bindWhereClauseForUpdate(tableName, queryFieldsArray);
29
+ let dataObj = [];
30
+ dataObj = createDynamicData(data.data);
31
+ const requestPayload = this.requestResponseHelper.updateRequestPayload(tableName, whereClause, dataObj);
32
+ return this.update(requestPayload);
33
+ }
34
+ }
35
+ return null;
36
+ }
37
+ updateUsingScreenId(screenId, data, objectIdToSave) {
38
+ let fields;
39
+ let appObject = AppObject;
40
+ let crudTableName;
41
+ if (screenId) {
42
+ const screen = this.screenHelper.getScreen(screenId);
43
+ const screenDataSource = getDataFromDataSourceQueryID(screen.DataSourceQuery);
44
+ fields = screenDataSource.Fields;
45
+ appObject = getAppObject(screenDataSource.ObjectID_Tosave);
46
+ crudTableName = appObject.SystemDBTableName;
47
+ syncAppObjectFields(data.data, appObject);
48
+ }
49
+ if (objectIdToSave) {
50
+ fields = [];
51
+ appObject = getAppObject(objectIdToSave);
52
+ appObject.Fields.forEach((element) => {
53
+ fields.push({ Field: element });
54
+ });
55
+ crudTableName = appObject.SystemDBTableName;
56
+ syncAppObjectFields(data.data, appObject);
57
+ }
58
+ const PrimaryKeyFields = getPrimaryKeyFields(appObject);
59
+ let whereClause = APIFilterCriteria;
60
+ if (appObject) {
61
+ if (data.data) {
62
+ const recordId = getEditRecordId(data.data, PrimaryKeyFields[0]?.FieldName);
63
+ data['recordId'] = recordId;
64
+ if (PrimaryKeyFields && PrimaryKeyFields.length === 1) {
65
+ removePrimaryKey(data.data, PrimaryKeyFields[0]?.FieldName);
66
+ whereClause = this.whereClauseHelper.bindWhereClauseForUpdateGrid(fields, data.recordId, PrimaryKeyFields[0].FieldName, crudTableName);
67
+ }
68
+ else if (PrimaryKeyFields && PrimaryKeyFields.length > 1) {
69
+ whereClause = this.whereClauseHelper.bindWhereClauseForMultiplePrimaryKeys(data.data, PrimaryKeyFields, crudTableName);
70
+ removeMultiplePrimaryKey(data.data, PrimaryKeyFields);
71
+ }
72
+ const dataObj = createDynamicData(data.data);
73
+ removeBlankValue(dataObj);
74
+ const requestPayload = this.requestResponseHelper.updateRequestPayload(crudTableName, whereClause, dataObj);
75
+ return this.update(requestPayload);
76
+ }
77
+ }
78
+ return null;
79
+ }
80
+ updateScreen(screenId, screenData) {
81
+ const screen = this.screenHelper.getScreen(screenId);
82
+ if (screen) {
83
+ const appObject = getAppObjectFromSystemDBTableName('TABMD_AppScreen');
84
+ if (appObject) {
85
+ syncAppObjectFields(screenData, appObject);
86
+ }
87
+ Object.assign({}, screen, { Container: screenData.Container });
88
+ const queryFilters = [];
89
+ queryFilters.push({ FieldName: 'ID', FieldValue: screenId });
90
+ const whereClause = this.whereClauseHelper.bindWhereClauseForUpdate('TABMD_AppScreen', queryFilters);
91
+ const dataObj = createDynamicData(screenData);
92
+ removeBlankValue(dataObj);
93
+ const requestPayload = this.requestResponseHelper.updateRequestPayload('TABMD_AppScreen', whereClause, dataObj);
94
+ return this.update(requestPayload);
95
+ }
96
+ return null;
97
+ }
98
+ static { this.ɵfac = function TabUpdateService_Factory(t) { return new (t || TabUpdateService)(); }; }
99
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabUpdateService, factory: TabUpdateService.ɵfac, providedIn: 'root' }); }
100
+ }
101
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabUpdateService, [{
102
+ type: Injectable,
103
+ args: [{ providedIn: 'root' }]
104
+ }], null, null); })();
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXVwZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXVwZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxpQ0FBaUMsRUFBRSw0QkFBNEIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNJLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS3pILE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFbUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxz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LE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxTQUFTLEdBQUcsaUNBQWlDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN2RSxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sWUFBWSxHQUEyQixFQUFFLENBQUM7WUFDaEQsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDNUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3JHLE1BQU0sT0FBTyxHQUFRLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEgsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7aUZBdEZVLGdCQUFnQjt1RUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFESCxNQUFNOztpRkFDbkIsZ0JBQWdCO2NBRDVCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEU1FIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vZHNxLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgU2NyZWVuSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvc2NyZWVuL3NjcmVlbi5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IFdoZXJlQ2xhdXNlSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL3doZXJlLWNsYXVzZS5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IFJlcXVlc3RSZXNwb25zZUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9yZXEtcmVzLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgQVBJRmlsdGVyQ3JpdGVyaWEsIEFQSVVwZGF0ZVF1ZXJ5IH0gZnJvbSBcIi4uL21vZGVscy9hcGktcXVlcnkuY2xhc3NcIjtcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSBcIi4uL2VudW1zL3F1ZXJ5LmVudW1cIjtcclxuaW1wb3J0IHsgZ2V0QXBwT2JqZWN0LCBnZXRBcHBPYmplY3RGcm9tU3lzdGVtREJUYWJsZU5hbWUsIGdldERhdGFGcm9tRGF0YVNvdXJjZVF1ZXJ5SUQsIHN5bmNBcHBPYmplY3RGaWVsZHMgfSBmcm9tIFwiLi4vdXRpbHMvdGFiLWFwcC51dGlsXCI7XHJcbmltcG9ydCB7IEFwcE9iamVjdCwgQXBwU2NyZWVuIH0gZnJvbSBcIi4uL21vZGVscy9hcHAtb2JqZWN0LmNsYXNzXCI7XHJcbmltcG9ydCB7IGNyZWF0ZUR5bmFtaWNEYXRhLCByZW1vdmVCbGFua1ZhbHVlIH0gZnJvbSBcIi4uL3V0aWxzL2pzb24udXRpbFwiO1xyXG5pbXBvcnQgeyBnZXRFZGl0UmVjb3JkSWQsIGdldFByaW1hcnlLZXlGaWVsZHMsIHJlbW92ZU11bHRpcGxlUHJpbWFyeUtleSwgcmVtb3ZlUHJpbWFyeUtleSB9IGZyb20gXCIuLi91dGlscy9yZXEtcmVzLnV0aWxcIjtcclxuaW1wb3J0IHsgVXBkYXRlUXVlcnlQYXJhbWV0ZXIgfSBmcm9tIFwiLi4vbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3NcIjtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVGFiVXBkYXRlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FIZWxwZXIgPSBpbmplY3QoRFNRSGVscGVyKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHNjcmVlbkhlbHBlciA9IGluamVjdChTY3JlZW5IZWxwZXIpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgd2hlcmVDbGF1c2VIZWxwZXIgPSBpbmplY3QoV2hlcmVDbGF1c2VIZWxwZXIpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdFJlc3BvbnNlSGVscGVyID0gaW5qZWN0KFJlcXVlc3RSZXNwb25zZUhlbHBlcik7XHJcblxyXG4gIHVwZGF0ZShkYXRhOiBBUElVcGRhdGVRdWVyeSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZHNxSGVscGVyLmV4ZWN1dGVRdWVyeShkYXRhLCBRdWVyeVR5cGUuVXBkYXRlKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVVzaW5nRFNRKGRzcUlkOiBzdHJpbmcsIGRhdGE6IGFueSwgdGFibGVOYW1lOiBzdHJpbmcsIHF1ZXJ5RmllbGRzQXJyYXk/OiBhbnkpIHtcclxuICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0ID0gZ2V0RGF0YUZyb21EYXRhU291cmNlUXVlcnlJRChkc3FJZCk7XHJcbiAgICBpZiAoYXBwT2JqZWN0KSB7XHJcbiAgICAgIGlmIChkYXRhICYmIGRhdGEuZGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMud2hlcmVDbGF1c2VIZWxwZXIuYmluZFdoZXJlQ2xhdXNlRm9yVXBkYXRlKHRhYmxlTmFtZSwgcXVlcnlGaWVsZHNBcnJheSk7XHJcbiAgICAgICAgbGV0IGRhdGFPYmo6IGFueSA9IFtdO1xyXG4gICAgICAgIGRhdGFPYmogPSBjcmVhdGVEeW5hbWljRGF0YShkYXRhLmRhdGEpO1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYXlsb2FkID0gdGhpcy5yZXF1ZXN0UmVzcG9uc2VIZWxwZXIudXBkYXRlUmVxdWVzdFBheWxvYWQodGFibGVOYW1lLCB3aGVyZUNsYXVzZSwgZGF0YU9iaik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlKHJlcXVlc3RQYXlsb2FkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVVc2luZ1NjcmVlbklkKHNjcmVlbklkOiBzdHJpbmcsIGRhdGE6IGFueSwgb2JqZWN0SWRUb1NhdmU/OiBzdHJpbmcpIHtcclxuICAgIGxldCBmaWVsZHM7XHJcbiAgICBsZXQgYXBwT2JqZWN0OiBhbnkgPSBBcHBPYmplY3Q7XHJcbiAgICBsZXQgY3J1ZFRhYmxlTmFtZTtcclxuICAgIGlmIChzY3JlZW5JZCkge1xyXG4gICAgICBjb25zdCBzY3JlZW46IEFwcFNjcmVlbiA9IHRoaXMuc2NyZWVuSGVscGVyLmdldFNjcmVlbihzY3JlZW5JZCk7XHJcbiAgICAgIGNvbnN0IHNjcmVlbkRhdGFTb3VyY2UgPSBnZXREYXRhRnJvbURhdGFTb3VyY2VRdWVyeUlEKHNjcmVlbi5EYXRhU291cmNlUXVlcnkpO1xyXG4gICAgICBmaWVsZHMgPSBzY3JlZW5EYXRhU291cmNlLkZpZWxkcztcclxuICAgICAgYXBwT2JqZWN0ID0gZ2V0QXBwT2JqZWN0KHNjcmVlbkRhdGFTb3VyY2UuT2JqZWN0SURfVG9zYXZlKTtcclxuICAgICAgY3J1ZFRhYmxlTmFtZSA9IGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZTtcclxuICAgICAgc3luY0FwcE9iamVjdEZpZWxkcyhkYXRhLmRhdGEsIGFwcE9iamVjdCk7XHJcbiAgICB9XHJcbiAgICBpZiAob2JqZWN0SWRUb1NhdmUpIHtcclxuICAgICAgZmllbGRzID0gW107XHJcbiAgICAgIGFwcE9iamVjdCA9IGdldEFwcE9iamVjdChvYmplY3RJZFRvU2F2ZSk7XHJcbiAgICAgIGFwcE9iamVjdC5GaWVsZHMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgZmllbGRzLnB1c2goeyBGaWVsZDogZWxlbWVudCB9KVxyXG4gICAgICB9KTtcclxuICAgICAgY3J1ZFRhYmxlTmFtZSA9IGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZTtcclxuICAgICAgc3luY0FwcE9iamVjdEZpZWxkcyhkYXRhLmRhdGEsIGFwcE9iamVjdCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgUHJpbWFyeUtleUZpZWxkczogYW55ID0gZ2V0UHJpbWFyeUtleUZpZWxkcyhhcHBPYmplY3QpO1xyXG4gICAgbGV0IHdoZXJlQ2xhdXNlOiBhbnkgPSBBUElGaWx0ZXJDcml0ZXJpYTtcclxuICAgIGlmIChhcHBPYmplY3QpIHtcclxuICAgICAgaWYgKGRhdGEuZGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHJlY29yZElkID0gZ2V0RWRpdFJlY29yZElkKGRhdGEuZGF0YSwgUHJpbWFyeUtleUZpZWxkc1swXT8uRmllbGROYW1lKTtcclxuICAgICAgICBkYXRhWydyZWNvcmRJZCddID0gcmVjb3JkSWQ7XHJcblxyXG4gICAgICAgIGlmIChQcmltYXJ5S2V5RmllbGRzICYmIFByaW1hcnlLZXlGaWVsZHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICByZW1vdmVQcmltYXJ5S2V5KGRhdGEuZGF0YSwgUHJpbWFyeUtleUZpZWxkc1swXT8uRmllbGROYW1lKTtcclxuICAgICAgICAgIHdoZXJlQ2xhdXNlID0gdGhpcy53aGVyZUNsYXVzZUhlbHBlci5iaW5kV2hlcmVDbGF1c2VGb3JVcGRhdGVHcmlkKGZpZWxkcywgZGF0YS5yZWNvcmRJZCwgUHJpbWFyeUtleUZpZWxkc1swXS5GaWVsZE5hbWUsIGNydWRUYWJsZU5hbWUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoUHJpbWFyeUtleUZpZWxkcyAmJiBQcmltYXJ5S2V5RmllbGRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgIHdoZXJlQ2xhdXNlID0gdGhpcy53aGVyZUNsYXVzZUhlbHBlci5iaW5kV2hlcmVDbGF1c2VGb3JNdWx0aXBsZVByaW1hcnlLZXlzKGRhdGEuZGF0YSwgUHJpbWFyeUtleUZpZWxkcywgY3J1ZFRhYmxlTmFtZSk7XHJcbiAgICAgICAgICByZW1vdmVNdWx0aXBsZVByaW1hcnlLZXkoZGF0YS5kYXRhLCBQcmltYXJ5S2V5RmllbGRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGF0YU9iajogYW55ID0gY3JlYXRlRHluYW1pY0RhdGEoZGF0YS5kYXRhKTtcclxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmopO1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYXlsb2FkID0gdGhpcy5yZXF1ZXN0UmVzcG9uc2VIZWxwZXIudXBkYXRlUmVxdWVzdFBheWxvYWQoY3J1ZFRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIGRhdGFPYmopO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZShyZXF1ZXN0UGF5bG9hZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlU2NyZWVuKHNjcmVlbklkOiBzdHJpbmcsIHNjcmVlbkRhdGE6IGFueSkge1xyXG4gICAgY29uc3Qgc2NyZWVuOiBBcHBTY3JlZW4gPSB0aGlzLnNjcmVlbkhlbHBlci5nZXRTY3JlZW4oc2NyZWVuSWQpO1xyXG4gICAgaWYgKHNjcmVlbikge1xyXG4gICAgICBjb25zdCBhcHBPYmplY3QgPSBnZXRBcHBPYmplY3RGcm9tU3lzdGVtREJUYWJsZU5hbWUoJ1RBQk1EX0FwcFNjcmVlbicpO1xyXG4gICAgICBpZiAoYXBwT2JqZWN0KSB7XHJcbiAgICAgICAgc3luY0FwcE9iamVjdEZpZWxkcyhzY3JlZW5EYXRhLCBhcHBPYmplY3QpO1xyXG4gICAgICB9XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oe30sIHNjcmVlbiwgeyBDb250YWluZXI6IHNjcmVlbkRhdGEuQ29udGFpbmVyIH0pO1xyXG4gICAgICBjb25zdCBxdWVyeUZpbHRlcnM6IFVwZGF0ZVF1ZXJ5UGFyYW1ldGVyW10gPSBbXTtcclxuICAgICAgcXVlcnlGaWx0ZXJzLnB1c2goeyBGaWVsZE5hbWU6ICdJRCcsIEZpZWxkVmFsdWU6IHNjcmVlbklkIH0pXHJcbiAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gdGhpcy53aGVyZUNsYXVzZUhlbHBlci5iaW5kV2hlcmVDbGF1c2VGb3JVcGRhdGUoJ1RBQk1EX0FwcFNjcmVlbicsIHF1ZXJ5RmlsdGVycyk7XHJcbiAgICAgIGNvbnN0IGRhdGFPYmo6IGFueSA9IGNyZWF0ZUR5bmFtaWNEYXRhKHNjcmVlbkRhdGEpO1xyXG4gICAgICByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmopO1xyXG4gICAgICBjb25zdCByZXF1ZXN0UGF5bG9hZCA9IHRoaXMucmVxdWVzdFJlc3BvbnNlSGVscGVyLnVwZGF0ZVJlcXVlc3RQYXlsb2FkKCdUQUJNRF9BcHBTY3JlZW4nLCB3aGVyZUNsYXVzZSwgZGF0YU9iaik7XHJcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZShyZXF1ZXN0UGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,43 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Injectable, inject } from "@angular/core";
3
+ import { ApiService } from "../../core/http-client/api.service";
4
+ import { getHeaders } from "../utils/req-res.util";
5
+ import * as i0 from "@angular/core";
6
+ export class TabWorkflowService {
7
+ constructor() {
8
+ this.apiService = inject(ApiService);
9
+ }
10
+ /**
11
+ * Executes a TAB workflow.
12
+ * @param endPoint The endpoint for the workflow.
13
+ * @param data The data to send with the request.
14
+ * @returns An observable of the workflow execution result.
15
+ */
16
+ executeTABWorkflow(endPoint, data) {
17
+ const headers = getHeaders();
18
+ if (headers) {
19
+ return this.apiService.post(endPoint, data, headers);
20
+ }
21
+ return null;
22
+ }
23
+ /**
24
+ * Executes an ELSA workflow.
25
+ * @param endPoint The endpoint for the workflow.
26
+ * @param data The data to send with the request.
27
+ * @returns An observable of the workflow execution result.
28
+ */
29
+ executeELSAWorkflow(endPoint, data) {
30
+ const headers = getHeaders();
31
+ if (headers) {
32
+ return this.apiService.postWorkflow(endPoint, data, headers);
33
+ }
34
+ return null;
35
+ }
36
+ static { this.ɵfac = function TabWorkflowService_Factory(t) { return new (t || TabWorkflowService)(); }; }
37
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabWorkflowService, factory: TabWorkflowService.ɵfac, providedIn: 'root' }); }
38
+ }
39
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabWorkflowService, [{
40
+ type: Injectable,
41
+ args: [{ providedIn: 'root' }]
42
+ }], null, null); })();
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXdvcmtmbG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItd29ya2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFJbkQsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBNkJsRDtJQTNCQzs7Ozs7T0FLRztJQUNILGtCQUFrQixDQUFDLFFBQWdCLEVBQUUsSUFBWTtRQUMvQyxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFDLFFBQWdCLEVBQUUsSUFBWTtRQUNoRCxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7bUZBN0JVLGtCQUFrQjt1RUFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQixtQkFETCxNQUFNOztpRkFDbkIsa0JBQWtCO2NBRDlCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gXCIuLi91dGlscy9yZXEtcmVzLnV0aWxcIjtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVGFiV29ya2Zsb3dTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGVzIGEgVEFCIHdvcmtmbG93LlxyXG4gICAqIEBwYXJhbSBlbmRQb2ludCBUaGUgZW5kcG9pbnQgZm9yIHRoZSB3b3JrZmxvdy5cclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byBzZW5kIHdpdGggdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgd29ya2Zsb3cgZXhlY3V0aW9uIHJlc3VsdC5cclxuICAgKi9cclxuICBleGVjdXRlVEFCV29ya2Zsb3coZW5kUG9pbnQ6IHN0cmluZywgZGF0YTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGVuZFBvaW50LCBkYXRhLCBoZWFkZXJzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYW4gRUxTQSB3b3JrZmxvdy5cclxuICAgKiBAcGFyYW0gZW5kUG9pbnQgVGhlIGVuZHBvaW50IGZvciB0aGUgd29ya2Zsb3cuXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gc2VuZCB3aXRoIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHdvcmtmbG93IGV4ZWN1dGlvbiByZXN1bHQuXHJcbiAgICovXHJcbiAgZXhlY3V0ZUVMU0FXb3JrZmxvdyhlbmRQb2ludDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RXb3JrZmxvdyhlbmRQb2ludCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,26 @@
1
+ export var DataTypes;
2
+ (function (DataTypes) {
3
+ DataTypes[DataTypes["AutoNumber"] = 1] = "AutoNumber";
4
+ DataTypes[DataTypes["Number"] = 2] = "Number";
5
+ DataTypes[DataTypes["CheckBox"] = 3] = "CheckBox";
6
+ DataTypes[DataTypes["Currency"] = 4] = "Currency";
7
+ DataTypes[DataTypes["Date"] = 5] = "Date";
8
+ DataTypes[DataTypes["DateTime"] = 6] = "DateTime";
9
+ DataTypes[DataTypes["Email"] = 7] = "Email";
10
+ DataTypes[DataTypes["GeoLocation"] = 8] = "GeoLocation";
11
+ DataTypes[DataTypes["Percent"] = 9] = "Percent";
12
+ DataTypes[DataTypes["PhoneNumber"] = 10] = "PhoneNumber";
13
+ DataTypes[DataTypes["PickList"] = 11] = "PickList";
14
+ DataTypes[DataTypes["PickList_MultiSelect"] = 12] = "PickList_MultiSelect";
15
+ DataTypes[DataTypes["Text"] = 13] = "Text";
16
+ DataTypes[DataTypes["TextArea"] = 14] = "TextArea";
17
+ DataTypes[DataTypes["TextArea_RICHEDITOR"] = 15] = "TextArea_RICHEDITOR";
18
+ DataTypes[DataTypes["URL"] = 16] = "URL";
19
+ DataTypes[DataTypes["UniqueIdentifier"] = 17] = "UniqueIdentifier";
20
+ DataTypes[DataTypes["Insert_TimeStamp"] = 18] = "Insert_TimeStamp";
21
+ DataTypes[DataTypes["Update_TimeStamp"] = 19] = "Update_TimeStamp";
22
+ DataTypes[DataTypes["NextNumber"] = 20] = "NextNumber";
23
+ DataTypes[DataTypes["Array"] = 21] = "Array";
24
+ DataTypes[DataTypes["JSON"] = 22] = "JSON";
25
+ })(DataTypes || (DataTypes = {}));
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy9jb250cm9sbGVycy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBdUJYO0FBdkJELFdBQVksU0FBUztJQUNuQixxREFBYyxDQUFBO0lBQ2QsNkNBQVUsQ0FBQTtJQUNWLGlEQUFZLENBQUE7SUFDWixpREFBWSxDQUFBO0lBQ1oseUNBQVEsQ0FBQTtJQUNSLGlEQUFZLENBQUE7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsdURBQWUsQ0FBQTtJQUNmLCtDQUFXLENBQUE7SUFDWCx3REFBZ0IsQ0FBQTtJQUNoQixrREFBYSxDQUFBO0lBQ2IsMEVBQXlCLENBQUE7SUFDekIsMENBQVMsQ0FBQTtJQUNULGtEQUFhLENBQUE7SUFDYix3RUFBd0IsQ0FBQTtJQUN4Qix3Q0FBUSxDQUFBO0lBQ1Isa0VBQXFCLENBQUE7SUFDckIsa0VBQXFCLENBQUE7SUFDckIsa0VBQXFCLENBQUE7SUFDckIsc0RBQWUsQ0FBQTtJQUNmLDRDQUFVLENBQUE7SUFDViwwQ0FBUyxDQUFBO0FBQ1gsQ0FBQyxFQXZCVyxTQUFTLEtBQVQsU0FBUyxRQXVCcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEYXRhVHlwZXMge1xyXG4gIEF1dG9OdW1iZXIgPSAxLFxyXG4gIE51bWJlciA9IDIsXHJcbiAgQ2hlY2tCb3ggPSAzLFxyXG4gIEN1cnJlbmN5ID0gNCxcclxuICBEYXRlID0gNSxcclxuICBEYXRlVGltZSA9IDYsXHJcbiAgRW1haWwgPSA3LFxyXG4gIEdlb0xvY2F0aW9uID0gOCxcclxuICBQZXJjZW50ID0gOSxcclxuICBQaG9uZU51bWJlciA9IDEwLFxyXG4gIFBpY2tMaXN0ID0gMTEsXHJcbiAgUGlja0xpc3RfTXVsdGlTZWxlY3QgPSAxMixcclxuICBUZXh0ID0gMTMsXHJcbiAgVGV4dEFyZWEgPSAxNCxcclxuICBUZXh0QXJlYV9SSUNIRURJVE9SID0gMTUsXHJcbiAgVVJMID0gMTYsXHJcbiAgVW5pcXVlSWRlbnRpZmllciA9IDE3LFxyXG4gIEluc2VydF9UaW1lU3RhbXAgPSAxOCxcclxuICBVcGRhdGVfVGltZVN0YW1wID0gMTksXHJcbiAgTmV4dE51bWJlciA9IDIwLFxyXG4gIEFycmF5ID0gMjEsXHJcbiAgSlNPTiA9IDIyLFxyXG59XHJcbiJdfQ==
@@ -0,0 +1,48 @@
1
+ export var ConjuctionClause;
2
+ (function (ConjuctionClause) {
3
+ ConjuctionClause[ConjuctionClause["AND"] = 1] = "AND";
4
+ ConjuctionClause[ConjuctionClause["OR"] = 2] = "OR";
5
+ ConjuctionClause[ConjuctionClause["AND_NOT"] = 3] = "AND_NOT";
6
+ ConjuctionClause[ConjuctionClause["OR_NOT"] = 4] = "OR_NOT";
7
+ })(ConjuctionClause || (ConjuctionClause = {}));
8
+ export var RelationalOperator;
9
+ (function (RelationalOperator) {
10
+ RelationalOperator[RelationalOperator["GreaterThan"] = 1] = "GreaterThan";
11
+ RelationalOperator[RelationalOperator["LessThan"] = 2] = "LessThan";
12
+ RelationalOperator[RelationalOperator["EqualTo"] = 3] = "EqualTo";
13
+ RelationalOperator[RelationalOperator["IN"] = 4] = "IN";
14
+ RelationalOperator[RelationalOperator["NOTIN"] = 5] = "NOTIN";
15
+ RelationalOperator[RelationalOperator["IsNULL"] = 6] = "IsNULL";
16
+ RelationalOperator[RelationalOperator["IsNotNULL"] = 7] = "IsNotNULL";
17
+ RelationalOperator[RelationalOperator["NotEqualTo"] = 8] = "NotEqualTo";
18
+ RelationalOperator[RelationalOperator["GreaterThanOREqualTo"] = 9] = "GreaterThanOREqualTo";
19
+ RelationalOperator[RelationalOperator["LessThanOREqualTo"] = 10] = "LessThanOREqualTo";
20
+ RelationalOperator[RelationalOperator["Contains"] = 11] = "Contains";
21
+ RelationalOperator[RelationalOperator["NotContains"] = 12] = "NotContains";
22
+ RelationalOperator[RelationalOperator["StartsWith"] = 13] = "StartsWith";
23
+ RelationalOperator[RelationalOperator["NotStartsWith"] = 14] = "NotStartsWith";
24
+ RelationalOperator[RelationalOperator["EndsWith"] = 15] = "EndsWith";
25
+ RelationalOperator[RelationalOperator["NotEndsWith"] = 16] = "NotEndsWith";
26
+ RelationalOperator[RelationalOperator["Between"] = 17] = "Between";
27
+ RelationalOperator[RelationalOperator["NotBetween"] = 18] = "NotBetween";
28
+ RelationalOperator[RelationalOperator["SplitContains"] = 19] = "SplitContains";
29
+ RelationalOperator[RelationalOperator["NotSplitContains"] = 20] = "NotSplitContains";
30
+ })(RelationalOperator || (RelationalOperator = {}));
31
+ export var FilterValueType;
32
+ (function (FilterValueType) {
33
+ FilterValueType[FilterValueType["Literal"] = 1] = "Literal";
34
+ FilterValueType[FilterValueType["Parameter"] = 2] = "Parameter";
35
+ FilterValueType[FilterValueType["Property"] = 3] = "Property";
36
+ FilterValueType[FilterValueType["Global"] = 4] = "Global";
37
+ })(FilterValueType || (FilterValueType = {}));
38
+ export var SortSequence;
39
+ (function (SortSequence) {
40
+ SortSequence[SortSequence["Asc"] = 1] = "Asc";
41
+ SortSequence[SortSequence["Desc"] = 2] = "Desc";
42
+ })(SortSequence || (SortSequence = {}));
43
+ export var ObjectCreationType;
44
+ (function (ObjectCreationType) {
45
+ ObjectCreationType[ObjectCreationType["Standard"] = 1] = "Standard";
46
+ ObjectCreationType[ObjectCreationType["Custom"] = 2] = "Custom";
47
+ })(ObjectCreationType || (ObjectCreationType = {}));
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNxLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvZHNxLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUMxQixxREFBTyxDQUFBO0lBQ1AsbURBQU0sQ0FBQTtJQUNOLDZEQUFXLENBQUE7SUFDWCwyREFBVSxDQUFBO0FBQ1osQ0FBQyxFQUxXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFLM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFxQlg7QUFyQkQsV0FBWSxrQkFBa0I7SUFDNUIseUVBQWUsQ0FBQTtJQUNmLG1FQUFZLENBQUE7SUFDWixpRUFBVyxDQUFBO0lBQ1gsdURBQU0sQ0FBQTtJQUNOLDZEQUFTLENBQUE7SUFDVCwrREFBVSxDQUFBO0lBQ1YscUVBQWEsQ0FBQTtJQUNiLHVFQUFjLENBQUE7SUFDZCwyRkFBd0IsQ0FBQTtJQUN4QixzRkFBc0IsQ0FBQTtJQUN0QixvRUFBYSxDQUFBO0lBQ2IsMEVBQWdCLENBQUE7SUFDaEIsd0VBQWUsQ0FBQTtJQUNmLDhFQUFrQixDQUFBO0lBQ2xCLG9FQUFhLENBQUE7SUFDYiwwRUFBZ0IsQ0FBQTtJQUNoQixrRUFBWSxDQUFBO0lBQ1osd0VBQWUsQ0FBQTtJQUNmLDhFQUFrQixDQUFBO0lBQ2xCLG9GQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFyQlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQXFCN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBQ3pCLDJEQUFXLENBQUE7SUFDWCwrREFBYSxDQUFBO0lBQ2IsNkRBQVksQ0FBQTtJQUNaLHlEQUFVLENBQUE7QUFDWixDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLDZDQUFPLENBQUE7SUFDUCwrQ0FBUSxDQUFBO0FBQ1YsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1QixtRUFBWSxDQUFBO0lBQ1osK0RBQVUsQ0FBQTtBQUNaLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ29uanVjdGlvbkNsYXVzZSB7XHJcbiAgQU5EID0gMSxcclxuICBPUiA9IDIsXHJcbiAgQU5EX05PVCA9IDMsXHJcbiAgT1JfTk9UID0gNCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUmVsYXRpb25hbE9wZXJhdG9yIHtcclxuICBHcmVhdGVyVGhhbiA9IDEsXHJcbiAgTGVzc1RoYW4gPSAyLFxyXG4gIEVxdWFsVG8gPSAzLFxyXG4gIElOID0gNCxcclxuICBOT1RJTiA9IDUsXHJcbiAgSXNOVUxMID0gNixcclxuICBJc05vdE5VTEwgPSA3LFxyXG4gIE5vdEVxdWFsVG8gPSA4LFxyXG4gIEdyZWF0ZXJUaGFuT1JFcXVhbFRvID0gOSxcclxuICBMZXNzVGhhbk9SRXF1YWxUbyA9IDEwLFxyXG4gIENvbnRhaW5zID0gMTEsXHJcbiAgTm90Q29udGFpbnMgPSAxMixcclxuICBTdGFydHNXaXRoID0gMTMsXHJcbiAgTm90U3RhcnRzV2l0aCA9IDE0LFxyXG4gIEVuZHNXaXRoID0gMTUsXHJcbiAgTm90RW5kc1dpdGggPSAxNixcclxuICBCZXR3ZWVuID0gMTcsXHJcbiAgTm90QmV0d2VlbiA9IDE4LFxyXG4gIFNwbGl0Q29udGFpbnMgPSAxOSxcclxuICBOb3RTcGxpdENvbnRhaW5zID0gMjAsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEZpbHRlclZhbHVlVHlwZSB7XHJcbiAgTGl0ZXJhbCA9IDEsXHJcbiAgUGFyYW1ldGVyID0gMixcclxuICBQcm9wZXJ0eSA9IDMsXHJcbiAgR2xvYmFsID0gNCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU29ydFNlcXVlbmNlIHtcclxuICBBc2MgPSAxLFxyXG4gIERlc2MgPSAyLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBPYmplY3RDcmVhdGlvblR5cGUge1xyXG4gIFN0YW5kYXJkID0gMSxcclxuICBDdXN0b20gPSAyLFxyXG59XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ export var AccessType;
2
+ (function (AccessType) {
3
+ AccessType["READ"] = "READ";
4
+ AccessType["CREATE"] = "CREATE";
5
+ AccessType["UPDATE"] = "UPDATE";
6
+ AccessType["DELETE"] = "DELETE";
7
+ })(AccessType || (AccessType = {}));
8
+ export var AccessPermission;
9
+ (function (AccessPermission) {
10
+ AccessPermission[AccessPermission["None"] = 1] = "None";
11
+ AccessPermission[AccessPermission["Own"] = 2] = "Own";
12
+ AccessPermission[AccessPermission["Team"] = 3] = "Team";
13
+ AccessPermission[AccessPermission["All"] = 4] = "All";
14
+ })(AccessPermission || (AccessPermission = {}));
15
+ export var DeploymentStatus;
16
+ (function (DeploymentStatus) {
17
+ DeploymentStatus[DeploymentStatus["InDevelopment"] = 1] = "InDevelopment";
18
+ DeploymentStatus[DeploymentStatus["Deployed"] = 2] = "Deployed";
19
+ })(DeploymentStatus || (DeploymentStatus = {}));
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2VudW1zL3Blcm1pc3Npb24uZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUtYO0FBTEQsV0FBWSxVQUFVO0lBQ3BCLDJCQUFhLENBQUE7SUFDYiwrQkFBaUIsQ0FBQTtJQUNqQiwrQkFBaUIsQ0FBQTtJQUNqQiwrQkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLHVEQUFRLENBQUE7SUFDUixxREFBTyxDQUFBO0lBQ1AsdURBQVEsQ0FBQTtJQUNSLHFEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUszQjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIseUVBQWlCLENBQUE7SUFDakIsK0RBQVksQ0FBQTtBQUNkLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQWNjZXNzVHlwZSB7XHJcbiAgUkVBRCA9ICdSRUFEJyxcclxuICBDUkVBVEUgPSAnQ1JFQVRFJyxcclxuICBVUERBVEUgPSAnVVBEQVRFJyxcclxuICBERUxFVEUgPSAnREVMRVRFJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQWNjZXNzUGVybWlzc2lvbiB7XHJcbiAgTm9uZSA9IDEsXHJcbiAgT3duID0gMixcclxuICBUZWFtID0gMyxcclxuICBBbGwgPSA0LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBEZXBsb3ltZW50U3RhdHVzIHtcclxuICBJbkRldmVsb3BtZW50ID0gMSxcclxuICBEZXBsb3llZCA9IDIsXHJcbn1cclxuIl19
@@ -0,0 +1,14 @@
1
+ export var QueryType;
2
+ (function (QueryType) {
3
+ QueryType[QueryType["Select"] = 0] = "Select";
4
+ QueryType[QueryType["Insert"] = 1] = "Insert";
5
+ QueryType[QueryType["Update"] = 2] = "Update";
6
+ QueryType[QueryType["Delete"] = 3] = "Delete";
7
+ QueryType[QueryType["Upsert"] = 4] = "Upsert";
8
+ })(QueryType || (QueryType = {}));
9
+ export var JoinType;
10
+ (function (JoinType) {
11
+ JoinType[JoinType["LeftJoin"] = 1] = "LeftJoin";
12
+ JoinType[JoinType["RightJoin"] = 2] = "RightJoin";
13
+ })(JoinType || (JoinType = {}));
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy9xdWVyeS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBTVg7QUFORCxXQUFZLFNBQVM7SUFDbkIsNkNBQU0sQ0FBQTtJQUNOLDZDQUFNLENBQUE7SUFDTiw2Q0FBTSxDQUFBO0lBQ04sNkNBQU0sQ0FBQTtJQUNOLDZDQUFNLENBQUE7QUFDUixDQUFDLEVBTlcsU0FBUyxLQUFULFNBQVMsUUFNcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLCtDQUFZLENBQUE7SUFDWixpREFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFFBQVEsS0FBUixRQUFRLFFBR25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUXVlcnlUeXBlIHtcclxuICBTZWxlY3QsXHJcbiAgSW5zZXJ0LFxyXG4gIFVwZGF0ZSxcclxuICBEZWxldGUsXHJcbiAgVXBzZXJ0LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBKb2luVHlwZSB7XHJcbiAgTGVmdEpvaW4gPSAxLFxyXG4gIFJpZ2h0Sm9pbiA9IDIsXHJcbn1cclxuIl19
@@ -0,0 +1,37 @@
1
+ export var WorkFlowTriggerType;
2
+ (function (WorkFlowTriggerType) {
3
+ WorkFlowTriggerType[WorkFlowTriggerType["EventBased"] = 1] = "EventBased";
4
+ WorkFlowTriggerType[WorkFlowTriggerType["DateBased"] = 2] = "DateBased";
5
+ })(WorkFlowTriggerType || (WorkFlowTriggerType = {}));
6
+ export var WorkFlowEventExecution_WorkFlowTriggerEvent;
7
+ (function (WorkFlowEventExecution_WorkFlowTriggerEvent) {
8
+ WorkFlowEventExecution_WorkFlowTriggerEvent[WorkFlowEventExecution_WorkFlowTriggerEvent["Created"] = 1] = "Created";
9
+ WorkFlowEventExecution_WorkFlowTriggerEvent[WorkFlowEventExecution_WorkFlowTriggerEvent["Edited"] = 2] = "Edited";
10
+ WorkFlowEventExecution_WorkFlowTriggerEvent[WorkFlowEventExecution_WorkFlowTriggerEvent["CreatedOrEdited"] = 3] = "CreatedOrEdited";
11
+ WorkFlowEventExecution_WorkFlowTriggerEvent[WorkFlowEventExecution_WorkFlowTriggerEvent["Deleted"] = 4] = "Deleted";
12
+ })(WorkFlowEventExecution_WorkFlowTriggerEvent || (WorkFlowEventExecution_WorkFlowTriggerEvent = {}));
13
+ export var WorkFlowEventExecution_WorkFlowTriggerFieldCriteria;
14
+ (function (WorkFlowEventExecution_WorkFlowTriggerFieldCriteria) {
15
+ WorkFlowEventExecution_WorkFlowTriggerFieldCriteria[WorkFlowEventExecution_WorkFlowTriggerFieldCriteria["WhenAnyFieldIsUpdated"] = 1] = "WhenAnyFieldIsUpdated";
16
+ WorkFlowEventExecution_WorkFlowTriggerFieldCriteria[WorkFlowEventExecution_WorkFlowTriggerFieldCriteria["WhenAnySelectedFieldIsUpdated"] = 2] = "WhenAnySelectedFieldIsUpdated";
17
+ WorkFlowEventExecution_WorkFlowTriggerFieldCriteria[WorkFlowEventExecution_WorkFlowTriggerFieldCriteria["WhenSelectedAllFieldsAreUpdated"] = 3] = "WhenSelectedAllFieldsAreUpdated";
18
+ })(WorkFlowEventExecution_WorkFlowTriggerFieldCriteria || (WorkFlowEventExecution_WorkFlowTriggerFieldCriteria = {}));
19
+ export var WorkFlowEventExecution_WorkFlowTriggerOccurence;
20
+ (function (WorkFlowEventExecution_WorkFlowTriggerOccurence) {
21
+ WorkFlowEventExecution_WorkFlowTriggerOccurence[WorkFlowEventExecution_WorkFlowTriggerOccurence["Everytime"] = 1] = "Everytime";
22
+ WorkFlowEventExecution_WorkFlowTriggerOccurence[WorkFlowEventExecution_WorkFlowTriggerOccurence["FirstTime"] = 2] = "FirstTime";
23
+ })(WorkFlowEventExecution_WorkFlowTriggerOccurence || (WorkFlowEventExecution_WorkFlowTriggerOccurence = {}));
24
+ export var WorkFlowTimeExecution_DaysRelationalOperator;
25
+ (function (WorkFlowTimeExecution_DaysRelationalOperator) {
26
+ WorkFlowTimeExecution_DaysRelationalOperator[WorkFlowTimeExecution_DaysRelationalOperator["Before"] = 1] = "Before";
27
+ WorkFlowTimeExecution_DaysRelationalOperator[WorkFlowTimeExecution_DaysRelationalOperator["After"] = 2] = "After";
28
+ })(WorkFlowTimeExecution_DaysRelationalOperator || (WorkFlowTimeExecution_DaysRelationalOperator = {}));
29
+ export var WorkFlowTimeExecution_ExecutionCycle;
30
+ (function (WorkFlowTimeExecution_ExecutionCycle) {
31
+ WorkFlowTimeExecution_ExecutionCycle[WorkFlowTimeExecution_ExecutionCycle["Once"] = 1] = "Once";
32
+ WorkFlowTimeExecution_ExecutionCycle[WorkFlowTimeExecution_ExecutionCycle["Weekly"] = 2] = "Weekly";
33
+ WorkFlowTimeExecution_ExecutionCycle[WorkFlowTimeExecution_ExecutionCycle["Monthly"] = 3] = "Monthly";
34
+ WorkFlowTimeExecution_ExecutionCycle[WorkFlowTimeExecution_ExecutionCycle["Yearly"] = 4] = "Yearly";
35
+ WorkFlowTimeExecution_ExecutionCycle[WorkFlowTimeExecution_ExecutionCycle["Daily"] = 5] = "Daily";
36
+ })(WorkFlowTimeExecution_ExecutionCycle || (WorkFlowTimeExecution_ExecutionCycle = {}));
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9lbnVtcy93b3JrZmxvdy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDN0IseUVBQWMsQ0FBQTtJQUNkLHVFQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQUVELE1BQU0sQ0FBTixJQUFZLDJDQUtYO0FBTEQsV0FBWSwyQ0FBMkM7SUFDckQsbUhBQVcsQ0FBQTtJQUNYLGlIQUFVLENBQUE7SUFDVixtSUFBbUIsQ0FBQTtJQUNuQixtSEFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLDJDQUEyQyxLQUEzQywyQ0FBMkMsUUFLdEQ7QUFFRCxNQUFNLENBQU4sSUFBWSxtREFJWDtBQUpELFdBQVksbURBQW1EO0lBQzdELCtKQUF5QixDQUFBO0lBQ3pCLCtLQUFpQyxDQUFBO0lBQ2pDLG1MQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUFKVyxtREFBbUQsS0FBbkQsbURBQW1ELFFBSTlEO0FBRUQsTUFBTSxDQUFOLElBQVksK0NBR1g7QUFIRCxXQUFZLCtDQUErQztJQUN6RCwrSEFBYSxDQUFBO0lBQ2IsK0hBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVywrQ0FBK0MsS0FBL0MsK0NBQStDLFFBRzFEO0FBRUQsTUFBTSxDQUFOLElBQVksNENBR1g7QUFIRCxXQUFZLDRDQUE0QztJQUN0RCxtSEFBVSxDQUFBO0lBQ1YsaUhBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyw0Q0FBNEMsS0FBNUMsNENBQTRDLFFBR3ZEO0FBRUQsTUFBTSxDQUFOLElBQVksb0NBTVg7QUFORCxXQUFZLG9DQUFvQztJQUM5QywrRkFBUSxDQUFBO0lBQ1IsbUdBQVUsQ0FBQTtJQUNWLHFHQUFXLENBQUE7SUFDWCxtR0FBVSxDQUFBO0lBQ1YsaUdBQVMsQ0FBQTtBQUNYLENBQUMsRUFOVyxvQ0FBb0MsS0FBcEMsb0NBQW9DLFFBTS9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gV29ya0Zsb3dUcmlnZ2VyVHlwZSB7XHJcbiAgRXZlbnRCYXNlZCA9IDEsXHJcbiAgRGF0ZUJhc2VkID0gMixcclxufVxyXG5cclxuZXhwb3J0IGVudW0gV29ya0Zsb3dFdmVudEV4ZWN1dGlvbl9Xb3JrRmxvd1RyaWdnZXJFdmVudCB7XHJcbiAgQ3JlYXRlZCA9IDEsXHJcbiAgRWRpdGVkID0gMixcclxuICBDcmVhdGVkT3JFZGl0ZWQgPSAzLFxyXG4gIERlbGV0ZWQgPSA0LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBXb3JrRmxvd0V2ZW50RXhlY3V0aW9uX1dvcmtGbG93VHJpZ2dlckZpZWxkQ3JpdGVyaWEge1xyXG4gIFdoZW5BbnlGaWVsZElzVXBkYXRlZCA9IDEsXHJcbiAgV2hlbkFueVNlbGVjdGVkRmllbGRJc1VwZGF0ZWQgPSAyLFxyXG4gIFdoZW5TZWxlY3RlZEFsbEZpZWxkc0FyZVVwZGF0ZWQgPSAzLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBXb3JrRmxvd0V2ZW50RXhlY3V0aW9uX1dvcmtGbG93VHJpZ2dlck9jY3VyZW5jZSB7XHJcbiAgRXZlcnl0aW1lID0gMSxcclxuICBGaXJzdFRpbWUgPSAyLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBXb3JrRmxvd1RpbWVFeGVjdXRpb25fRGF5c1JlbGF0aW9uYWxPcGVyYXRvciB7XHJcbiAgQmVmb3JlID0gMSxcclxuICBBZnRlciA9IDIsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFdvcmtGbG93VGltZUV4ZWN1dGlvbl9FeGVjdXRpb25DeWNsZSB7XHJcbiAgT25jZSA9IDEsXHJcbiAgV2Vla2x5ID0gMixcclxuICBNb250aGx5ID0gMyxcclxuICBZZWFybHkgPSA0LFxyXG4gIERhaWx5ID0gNSxcclxufVxyXG4iXX0=
@@ -0,0 +1,68 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Injectable, inject } from '@angular/core';
3
+ import { ApiService } from '../../../core/http-client/api.service';
4
+ import { getHeaders } from '../../utils/req-res.util';
5
+ import { API } from '../../constants/api-constants';
6
+ import { LocalStorageService } from '../../../auth/local-storage.service';
7
+ import * as i0 from "@angular/core";
8
+ export class AppHelper {
9
+ constructor() {
10
+ this.apiService = inject(ApiService);
11
+ this.localStorageService = inject(LocalStorageService);
12
+ }
13
+ /**
14
+ * Rebuilds the application.
15
+ * @param data Optional data for rebuilding the application
16
+ * @returns Result of the rebuild operation
17
+ */
18
+ rebuildApp(data) {
19
+ const headers = getHeaders();
20
+ if (headers) {
21
+ return this.apiService.post(API.buildApp, data ? data : {}, headers);
22
+ }
23
+ return null;
24
+ }
25
+ /**
26
+ * Publishes the application.
27
+ * @param params Optional parameters for publishing the application
28
+ * @returns Result of the publish operation
29
+ */
30
+ publishApp(params) {
31
+ const headers = getHeaders();
32
+ if (headers) {
33
+ return this.apiService.get(API.publishApp, params, headers);
34
+ }
35
+ return null;
36
+ }
37
+ /**
38
+ * Retrieves screen data.
39
+ * @param params Optional parameters for retrieving screen data
40
+ * @returns Screen data
41
+ */
42
+ getScreen(params) {
43
+ const headers = getHeaders();
44
+ if (headers) {
45
+ return this.apiService.get(API.getScreen, params, headers);
46
+ }
47
+ return null;
48
+ }
49
+ /**
50
+ * Retrieves schema data.
51
+ * @param params Optional parameters for retrieving schema data
52
+ * @returns Subscription for getting schema data
53
+ */
54
+ getSchema(params) {
55
+ const headers = getHeaders();
56
+ if (headers) {
57
+ return this.apiService.get(API.getSchema, params, headers);
58
+ }
59
+ return null;
60
+ }
61
+ static { this.ɵfac = function AppHelper_Factory(t) { return new (t || AppHelper)(); }; }
62
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AppHelper, factory: AppHelper.ɵfac, providedIn: 'root' }); }
63
+ }
64
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppHelper, [{
65
+ type: Injectable,
66
+ args: [{ providedIn: 'root' }]
67
+ }], null, null); })();
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vYXBwLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUcxRSxNQUFNLE9BQU8sU0FBUztJQUR0QjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBcURwRTtJQW5EQzs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLElBQVU7UUFDbkIsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDN0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLE1BQVk7UUFDckIsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDN0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsTUFBWTtRQUNwQixNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxNQUFZO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7MEVBdERVLFNBQVM7dUVBQVQsU0FBUyxXQUFULFNBQVMsbUJBREksTUFBTTs7aUZBQ25CLFNBQVM7Y0FEckIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tICcuLi8uLi91dGlscy9yZXEtcmVzLnV0aWwnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hdXRoL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQXBwSGVscGVyIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xyXG5cclxuICAvKipcclxuICAgKiBSZWJ1aWxkcyB0aGUgYXBwbGljYXRpb24uXHJcbiAgICogQHBhcmFtIGRhdGEgT3B0aW9uYWwgZGF0YSBmb3IgcmVidWlsZGluZyB0aGUgYXBwbGljYXRpb25cclxuICAgKiBAcmV0dXJucyBSZXN1bHQgb2YgdGhlIHJlYnVpbGQgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgcmVidWlsZEFwcChkYXRhPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5idWlsZEFwcCwgZGF0YSA/IGRhdGEgOiB7fSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFB1Ymxpc2hlcyB0aGUgYXBwbGljYXRpb24uXHJcbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciBwdWJsaXNoaW5nIHRoZSBhcHBsaWNhdGlvblxyXG4gICAqIEByZXR1cm5zIFJlc3VsdCBvZiB0aGUgcHVibGlzaCBvcGVyYXRpb25cclxuICAgKi9cclxuICBwdWJsaXNoQXBwKHBhcmFtcz86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KEFQSS5wdWJsaXNoQXBwLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgc2NyZWVuIGRhdGEuXHJcbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciByZXRyaWV2aW5nIHNjcmVlbiBkYXRhXHJcbiAgICogQHJldHVybnMgU2NyZWVuIGRhdGFcclxuICAgKi9cclxuICBnZXRTY3JlZW4ocGFyYW1zPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoQVBJLmdldFNjcmVlbiwgcGFyYW1zLCBoZWFkZXJzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHNjaGVtYSBkYXRhLlxyXG4gICAqIEBwYXJhbSBwYXJhbXMgT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgcmV0cmlldmluZyBzY2hlbWEgZGF0YVxyXG4gICAqIEByZXR1cm5zIFN1YnNjcmlwdGlvbiBmb3IgZ2V0dGluZyBzY2hlbWEgZGF0YVxyXG4gICAqL1xyXG4gIGdldFNjaGVtYShwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChBUEkuZ2V0U2NoZW1hLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,70 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Injectable, inject } from '@angular/core';
3
+ import { ApiService } from '../../../core/http-client/api.service';
4
+ import { QueryType } from '../../enums/query.enum';
5
+ import { API } from '../../constants/api-constants';
6
+ import { getHeaders } from '../../utils/req-res.util';
7
+ import { getAppObjectFromDataSourceQueryID } from '../../utils/tab-app.util';
8
+ import { AccessPermission } from '../../enums/permission.enum';
9
+ import * as i0 from "@angular/core";
10
+ export class DSQHelper {
11
+ constructor() {
12
+ this.apiService = inject(ApiService);
13
+ }
14
+ /**
15
+ * Executes a query based on the query type
16
+ * @param data The data to be executed
17
+ * @param queryType The type of query to be executed
18
+ * @returns The result of the query execution
19
+ */
20
+ executeQuery(data, queryType) {
21
+ switch (queryType) {
22
+ case QueryType.Insert:
23
+ return this.execution(data, API.insert);
24
+ case QueryType.Update:
25
+ return this.execution(data, API.update);
26
+ case QueryType.Delete:
27
+ return this.execution(data, API.delete);
28
+ case QueryType.Select:
29
+ return this.execution(data, API.select);
30
+ default:
31
+ return null;
32
+ }
33
+ }
34
+ /**
35
+ * Executes an HTTP POST request with the provided data and URL
36
+ * @param data The data to be sent in the POST request
37
+ * @param endPointName The URL to send the POST request to
38
+ * @returns The result of the POST request if headers are available, otherwise null
39
+ */
40
+ execution(data, endPointName) {
41
+ const headers = getHeaders();
42
+ if (headers) {
43
+ return this.apiService.post(endPointName, data, headers);
44
+ }
45
+ return null;
46
+ }
47
+ /**
48
+ * Checks if the user has access to the specified object based on roles and access type
49
+ * @param dsqId The DataSourceQuery ID to check access for
50
+ * @param accessType The type of access to check (e.g., read, write)
51
+ * @param roles The roles of the user with IDs
52
+ * @returns True if the user has access, false otherwise
53
+ */
54
+ doesHaveObjectAccess(dsqId, accessType, roles) {
55
+ const appObject = getAppObjectFromDataSourceQueryID(dsqId);
56
+ if (appObject) {
57
+ const accessList = appObject.AccessList.filter((access) => roles.some((role) => access.RoleID.toLowerCase() === role.ID.toLowerCase() &&
58
+ access.IsEnabled));
59
+ return accessList.some((access) => access[accessType] === AccessPermission.All);
60
+ }
61
+ return false;
62
+ }
63
+ static { this.ɵfac = function DSQHelper_Factory(t) { return new (t || DSQHelper)(); }; }
64
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DSQHelper, factory: DSQHelper.ɵfac, providedIn: 'root' }); }
65
+ }
66
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DSQHelper, [{
67
+ type: Injectable,
68
+ args: [{ providedIn: 'root' }]
69
+ }], null, null); })();
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNxLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vZHNxLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHM0UsTUFBTSxPQUFPLFNBQVM7SUFEdEI7UUFFbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQW1FbEQ7SUFqRUM7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUMsSUFBUyxFQUFFLFNBQW9CO1FBQzFDLFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDbEIsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUM7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLFNBQVMsQ0FBQyxJQUFTLEVBQUUsWUFBb0I7UUFDL0MsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDN0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsb0JBQW9CLENBQ2xCLEtBQWEsRUFDYixVQUFzQixFQUN0QixLQUF1QjtRQUV2QixNQUFNLFNBQVMsR0FBRyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxVQUFVLEdBQVUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUNwRSxLQUFLLENBQUMsSUFBSSxDQUNSLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDUCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFO2dCQUNyRCxNQUFNLENBQUMsU0FBUyxDQUNuQixDQUNGLENBQUM7WUFFRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQ3BCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssZ0JBQWdCLENBQUMsR0FBRyxDQUN4RCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzswRUFuRVUsU0FBUzt1RUFBVCxTQUFTLFdBQVQsU0FBUyxtQkFESSxNQUFNOztpRkFDbkIsU0FBUztjQURyQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gJy4uLy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IGdldEFwcE9iamVjdEZyb21EYXRhU291cmNlUXVlcnlJRCB9IGZyb20gJy4uLy4uL3V0aWxzL3RhYi1hcHAudXRpbCc7XHJcbmltcG9ydCB7IEFjY2Vzc1Blcm1pc3Npb24sIEFjY2Vzc1R5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIERTUUhlbHBlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhIHF1ZXJ5IGJhc2VkIG9uIHRoZSBxdWVyeSB0eXBlXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gYmUgZXhlY3V0ZWRcclxuICAgKiBAcGFyYW0gcXVlcnlUeXBlIFRoZSB0eXBlIG9mIHF1ZXJ5IHRvIGJlIGV4ZWN1dGVkXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgcXVlcnkgZXhlY3V0aW9uXHJcbiAgICovXHJcbiAgZXhlY3V0ZVF1ZXJ5KGRhdGE6IGFueSwgcXVlcnlUeXBlOiBRdWVyeVR5cGUpIHtcclxuICAgIHN3aXRjaCAocXVlcnlUeXBlKSB7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLkluc2VydDpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLmluc2VydCk7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLlVwZGF0ZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLnVwZGF0ZSk7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLkRlbGV0ZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLmRlbGV0ZSk7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLlNlbGVjdDpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLnNlbGVjdCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhbiBIVFRQIFBPU1QgcmVxdWVzdCB3aXRoIHRoZSBwcm92aWRlZCBkYXRhIGFuZCBVUkxcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byBiZSBzZW50IGluIHRoZSBQT1NUIHJlcXVlc3RcclxuICAgKiBAcGFyYW0gZW5kUG9pbnROYW1lIFRoZSBVUkwgdG8gc2VuZCB0aGUgUE9TVCByZXF1ZXN0IHRvXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgUE9TVCByZXF1ZXN0IGlmIGhlYWRlcnMgYXJlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIG51bGxcclxuICAgKi9cclxuICBwcml2YXRlIGV4ZWN1dGlvbihkYXRhOiBhbnksIGVuZFBvaW50TmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGVuZFBvaW50TmFtZSwgZGF0YSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIHRoZSBzcGVjaWZpZWQgb2JqZWN0IGJhc2VkIG9uIHJvbGVzIGFuZCBhY2Nlc3MgdHlwZVxyXG4gICAqIEBwYXJhbSBkc3FJZCBUaGUgRGF0YVNvdXJjZVF1ZXJ5IElEIHRvIGNoZWNrIGFjY2VzcyBmb3JcclxuICAgKiBAcGFyYW0gYWNjZXNzVHlwZSBUaGUgdHlwZSBvZiBhY2Nlc3MgdG8gY2hlY2sgKGUuZy4sIHJlYWQsIHdyaXRlKVxyXG4gICAqIEBwYXJhbSByb2xlcyBUaGUgcm9sZXMgb2YgdGhlIHVzZXIgd2l0aCBJRHNcclxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSB1c2VyIGhhcyBhY2Nlc3MsIGZhbHNlIG90aGVyd2lzZVxyXG4gICAqL1xyXG4gIGRvZXNIYXZlT2JqZWN0QWNjZXNzKFxyXG4gICAgZHNxSWQ6IHN0cmluZyxcclxuICAgIGFjY2Vzc1R5cGU6IEFjY2Vzc1R5cGUsXHJcbiAgICByb2xlczogW3sgSUQ6IHN0cmluZyB9XVxyXG4gICkge1xyXG4gICAgY29uc3QgYXBwT2JqZWN0ID0gZ2V0QXBwT2JqZWN0RnJvbURhdGFTb3VyY2VRdWVyeUlEKGRzcUlkKTtcclxuXHJcbiAgICBpZiAoYXBwT2JqZWN0KSB7XHJcbiAgICAgIGNvbnN0IGFjY2Vzc0xpc3Q6IGFueVtdID0gYXBwT2JqZWN0LkFjY2Vzc0xpc3QuZmlsdGVyKChhY2Nlc3M6IGFueSkgPT5cclxuICAgICAgICByb2xlcy5zb21lKFxyXG4gICAgICAgICAgKHJvbGUpID0+XHJcbiAgICAgICAgICAgIGFjY2Vzcy5Sb2xlSUQudG9Mb3dlckNhc2UoKSA9PT0gcm9sZS5JRC50b0xvd2VyQ2FzZSgpICYmXHJcbiAgICAgICAgICAgIGFjY2Vzcy5Jc0VuYWJsZWRcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICByZXR1cm4gYWNjZXNzTGlzdC5zb21lKFxyXG4gICAgICAgIChhY2Nlc3MpID0+IGFjY2Vzc1thY2Nlc3NUeXBlXSA9PT0gQWNjZXNzUGVybWlzc2lvbi5BbGxcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,64 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Injectable } from '@angular/core';
3
+ import { QueryType } from '../../enums/query.enum';
4
+ import * as i0 from "@angular/core";
5
+ export class RequestResponseHelper {
6
+ /**
7
+ * Generates the payload for inserting data into a table
8
+ * @param table The table name to insert data into
9
+ * @param whereClause The filter criteria for the insert operation
10
+ * @param value The value sets to be inserted
11
+ * @returns The payload for the insert operation
12
+ */
13
+ insertPayload(table, whereClause, value) {
14
+ return this.createPayload(table, whereClause, value, QueryType.Insert);
15
+ }
16
+ /**
17
+ * Generates the payload for deleting data from a table
18
+ * @param tableName The table name to delete data from
19
+ * @param whereClause The filter criteria for the delete operation
20
+ * @returns The payload for the delete operation
21
+ */
22
+ deletePayload(tableName, whereClause) {
23
+ return {
24
+ QueryObjectID: tableName,
25
+ QueryType: QueryType.Delete,
26
+ Joins: [],
27
+ WhereClause: whereClause,
28
+ };
29
+ }
30
+ /**
31
+ * Generates the payload for updating data in a table
32
+ * @param tableName The table name to update data in
33
+ * @param whereClause The filter criteria for the update operation
34
+ * @param value The value sets to be updated
35
+ * @returns The payload for the update operation
36
+ */
37
+ updateRequestPayload(tableName, whereClause, value) {
38
+ return this.createPayload(tableName, whereClause, value, QueryType.Update);
39
+ }
40
+ /**
41
+ * Creates a payload object based on the input parameters
42
+ * @param table The table name for the payload
43
+ * @param whereClause The filter criteria for the payload
44
+ * @param value The value sets for the payload
45
+ * @param queryType The type of query for the payload
46
+ * @returns The payload object with QueryObjectID, QueryType, Joins, WhereClause, and Values
47
+ */
48
+ createPayload(table, whereClause, value, queryType) {
49
+ return {
50
+ QueryObjectID: table,
51
+ QueryType: queryType,
52
+ Joins: [],
53
+ WhereClause: whereClause,
54
+ Values: value,
55
+ };
56
+ }
57
+ static { this.ɵfac = function RequestResponseHelper_Factory(t) { return new (t || RequestResponseHelper)(); }; }
58
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RequestResponseHelper, factory: RequestResponseHelper.ɵfac, providedIn: 'root' }); }
59
+ }
60
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RequestResponseHelper, [{
61
+ type: Injectable,
62
+ args: [{ providedIn: 'root' }]
63
+ }], null, null); })();
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL3JlcS1yZXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRW5ELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUNYLEtBQWEsRUFDYixXQUE4QixFQUM5QixLQUFxQjtRQUVyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxTQUFpQixFQUFFLFdBQThCO1FBQzdELE9BQU87WUFDTCxhQUFhLEVBQUUsU0FBUztZQUN4QixTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDM0IsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsV0FBVztTQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILG9CQUFvQixDQUNsQixTQUFpQixFQUNqQixXQUE4QixFQUM5QixLQUFxQjtRQUVyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsYUFBYSxDQUNYLEtBQWEsRUFDYixXQUE4QixFQUM5QixLQUFxQixFQUNyQixTQUFvQjtRQUVwQixPQUFPO1lBQ0wsYUFBYSxFQUFFLEtBQUs7WUFDcEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsV0FBVztZQUN4QixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUM7SUFDSixDQUFDO3NGQW5FVSxxQkFBcUI7dUVBQXJCLHFCQUFxQixXQUFyQixxQkFBcUIsbUJBRFIsTUFBTTs7aUZBQ25CLHFCQUFxQjtjQURqQyxVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBUElGaWx0ZXJDcml0ZXJpYSwgQVBJVmFsdWVTZXRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7IFF1ZXJ5VHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL3F1ZXJ5LmVudW0nO1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdFJlc3BvbnNlSGVscGVyIHtcclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgdGhlIHBheWxvYWQgZm9yIGluc2VydGluZyBkYXRhIGludG8gYSB0YWJsZVxyXG4gICAqIEBwYXJhbSB0YWJsZSBUaGUgdGFibGUgbmFtZSB0byBpbnNlcnQgZGF0YSBpbnRvXHJcbiAgICogQHBhcmFtIHdoZXJlQ2xhdXNlIFRoZSBmaWx0ZXIgY3JpdGVyaWEgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBzZXRzIHRvIGJlIGluc2VydGVkXHJcbiAgICogQHJldHVybnMgVGhlIHBheWxvYWQgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgaW5zZXJ0UGF5bG9hZChcclxuICAgIHRhYmxlOiBzdHJpbmcsXHJcbiAgICB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEsXHJcbiAgICB2YWx1ZTogQVBJVmFsdWVTZXRzW11cclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVBheWxvYWQodGFibGUsIHdoZXJlQ2xhdXNlLCB2YWx1ZSwgUXVlcnlUeXBlLkluc2VydCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgdGhlIHBheWxvYWQgZm9yIGRlbGV0aW5nIGRhdGEgZnJvbSBhIHRhYmxlXHJcbiAgICogQHBhcmFtIHRhYmxlTmFtZSBUaGUgdGFibGUgbmFtZSB0byBkZWxldGUgZGF0YSBmcm9tXHJcbiAgICogQHBhcmFtIHdoZXJlQ2xhdXNlIFRoZSBmaWx0ZXIgY3JpdGVyaWEgZm9yIHRoZSBkZWxldGUgb3BlcmF0aW9uXHJcbiAgICogQHJldHVybnMgVGhlIHBheWxvYWQgZm9yIHRoZSBkZWxldGUgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgZGVsZXRlUGF5bG9hZCh0YWJsZU5hbWU6IHN0cmluZywgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBRdWVyeU9iamVjdElEOiB0YWJsZU5hbWUsXHJcbiAgICAgIFF1ZXJ5VHlwZTogUXVlcnlUeXBlLkRlbGV0ZSxcclxuICAgICAgSm9pbnM6IFtdLFxyXG4gICAgICBXaGVyZUNsYXVzZTogd2hlcmVDbGF1c2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIHRoZSBwYXlsb2FkIGZvciB1cGRhdGluZyBkYXRhIGluIGEgdGFibGVcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSB0YWJsZSBuYW1lIHRvIHVwZGF0ZSBkYXRhIGluXHJcbiAgICogQHBhcmFtIHdoZXJlQ2xhdXNlIFRoZSBmaWx0ZXIgY3JpdGVyaWEgZm9yIHRoZSB1cGRhdGUgb3BlcmF0aW9uXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBzZXRzIHRvIGJlIHVwZGF0ZWRcclxuICAgKiBAcmV0dXJucyBUaGUgcGF5bG9hZCBmb3IgdGhlIHVwZGF0ZSBvcGVyYXRpb25cclxuICAgKi9cclxuICB1cGRhdGVSZXF1ZXN0UGF5bG9hZChcclxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxyXG4gICAgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhLFxyXG4gICAgdmFsdWU6IEFQSVZhbHVlU2V0c1tdXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVQYXlsb2FkKHRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIHZhbHVlLCBRdWVyeVR5cGUuVXBkYXRlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBwYXlsb2FkIG9iamVjdCBiYXNlZCBvbiB0aGUgaW5wdXQgcGFyYW1ldGVyc1xyXG4gICAqIEBwYXJhbSB0YWJsZSBUaGUgdGFibGUgbmFtZSBmb3IgdGhlIHBheWxvYWRcclxuICAgKiBAcGFyYW0gd2hlcmVDbGF1c2UgVGhlIGZpbHRlciBjcml0ZXJpYSBmb3IgdGhlIHBheWxvYWRcclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHNldHMgZm9yIHRoZSBwYXlsb2FkXHJcbiAgICogQHBhcmFtIHF1ZXJ5VHlwZSBUaGUgdHlwZSBvZiBxdWVyeSBmb3IgdGhlIHBheWxvYWRcclxuICAgKiBAcmV0dXJucyBUaGUgcGF5bG9hZCBvYmplY3Qgd2l0aCBRdWVyeU9iamVjdElELCBRdWVyeVR5cGUsIEpvaW5zLCBXaGVyZUNsYXVzZSwgYW5kIFZhbHVlc1xyXG4gICAqL1xyXG4gIGNyZWF0ZVBheWxvYWQoXHJcbiAgICB0YWJsZTogc3RyaW5nLFxyXG4gICAgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhLFxyXG4gICAgdmFsdWU6IEFQSVZhbHVlU2V0c1tdLFxyXG4gICAgcXVlcnlUeXBlOiBRdWVyeVR5cGVcclxuICApIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFF1ZXJ5T2JqZWN0SUQ6IHRhYmxlLFxyXG4gICAgICBRdWVyeVR5cGU6IHF1ZXJ5VHlwZSxcclxuICAgICAgSm9pbnM6IFtdLFxyXG4gICAgICBXaGVyZUNsYXVzZTogd2hlcmVDbGF1c2UsXHJcbiAgICAgIFZhbHVlczogdmFsdWUsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=