@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,48 +0,0 @@
|
|
|
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==
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
|
@@ -1,37 +0,0 @@
|
|
|
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=
|
|
@@ -1,68 +0,0 @@
|
|
|
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==
|
|
@@ -1,70 +0,0 @@
|
|
|
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==
|
|
@@ -1,64 +0,0 @@
|
|
|
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=
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { from } from 'rxjs';
|
|
4
|
-
import { filter, map, toArray } from 'rxjs/operators';
|
|
5
|
-
import { ConjuctionClause, RelationalOperator, FilterValueType, } from '../../enums/dsq.enum';
|
|
6
|
-
import { APIFilterCriteria } from '../../models/api-query.class';
|
|
7
|
-
import { getAppObjectFromSystemDBTableName, getAppObject, } from '../../utils/tab-app.util';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class WhereClauseHelper {
|
|
10
|
-
/**
|
|
11
|
-
* Binds the where clause for deleting records based on field, value, field name, and CRUD table name
|
|
12
|
-
* @param fields The fields to bind the where clause
|
|
13
|
-
* @param value The value to match in the where clause
|
|
14
|
-
* @param fieldName The field name to match in the where clause
|
|
15
|
-
* @param crudTableName The CRUD table name for the where clause
|
|
16
|
-
* @returns The bound where clause for delete operation
|
|
17
|
-
*/
|
|
18
|
-
bindWhereClauseForDelete(fields, value, fieldName, crudTableName) {
|
|
19
|
-
const appobj = getAppObjectFromSystemDBTableName(crudTableName);
|
|
20
|
-
if (appobj && appobj.CRUDAppObjectId !== null) {
|
|
21
|
-
const crudAppObj = getAppObject(appobj.CRUDAppObjectId);
|
|
22
|
-
if (crudAppObj) {
|
|
23
|
-
crudTableName = crudAppObj.SystemDBTableName;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return this.bindWhereClause(fields, value, fieldName, crudTableName);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Binds the where clause for deleting records with multiple primary keys
|
|
30
|
-
* @param data The data containing primary key values
|
|
31
|
-
* @param fieldName The field name of the primary key
|
|
32
|
-
* @param crudTableName The CRUD table name for the where clause
|
|
33
|
-
* @returns The bound where clause for delete operation with multiple primary keys
|
|
34
|
-
*/
|
|
35
|
-
bindWhereClauseForDeleteWithMultiplePrimaryKeys(data, fieldName, crudTableName) {
|
|
36
|
-
return this.bindWhereClauseForMultiplePrimaryKeys(data, fieldName, crudTableName);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Binds the where clause for an insert operation
|
|
40
|
-
* @returns The bound where clause for insert operation
|
|
41
|
-
*/
|
|
42
|
-
bindWhereClauseForInsert() {
|
|
43
|
-
return this.bindWhereClauseEmpty();
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Binds an empty where clause
|
|
47
|
-
* @returns The bound empty where clause
|
|
48
|
-
*/
|
|
49
|
-
bindWhereClauseEmpty() {
|
|
50
|
-
const whereClause = new APIFilterCriteria();
|
|
51
|
-
whereClause.FilterLogic = '1';
|
|
52
|
-
whereClause.Filters = [];
|
|
53
|
-
return whereClause;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Binds the where clause based on provided parameters
|
|
57
|
-
* @param fields The fields to bind the where clause
|
|
58
|
-
* @param value The value to match in the where clause
|
|
59
|
-
* @param fieldName The field name to match in the where clause
|
|
60
|
-
* @param crudTableName The CRUD table name for the where clause
|
|
61
|
-
* @returns The bound where clause
|
|
62
|
-
*/
|
|
63
|
-
bindWhereClause(fields, value, fieldName, crudTableName) {
|
|
64
|
-
return from(fields).pipe(filter((f) => fieldName
|
|
65
|
-
? f.Field?.FieldName === fieldName
|
|
66
|
-
: f.Field?.FieldName === 'Id' || f.Field?.FieldName === 'ID'), map((field) => ({
|
|
67
|
-
ConjuctionClause: ConjuctionClause.AND,
|
|
68
|
-
FieldID: crudTableName + '.' + field.Field.SystemDBFieldName,
|
|
69
|
-
RelationalOperator: RelationalOperator.EqualTo,
|
|
70
|
-
ValueType: FilterValueType.Literal,
|
|
71
|
-
value: value,
|
|
72
|
-
Sequence: 0,
|
|
73
|
-
GroupID: 0,
|
|
74
|
-
})), toArray(), map((filters) => {
|
|
75
|
-
const whereClause = new APIFilterCriteria();
|
|
76
|
-
whereClause.Filters = filters;
|
|
77
|
-
whereClause.FilterLogic = '1';
|
|
78
|
-
return whereClause;
|
|
79
|
-
}));
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Binds the where clause for deleting records with multiple primary keys
|
|
83
|
-
* @param data The data containing primary key values
|
|
84
|
-
* @param primaryKeys The array of primary key fields
|
|
85
|
-
* @param crudTableName The CRUD table name for the where clause
|
|
86
|
-
* @returns The bound where clause for delete operation with multiple primary keys
|
|
87
|
-
*/
|
|
88
|
-
bindWhereClauseForMultiplePrimaryKeys(data, primaryKeys, crudTableName) {
|
|
89
|
-
const whereClause = new APIFilterCriteria();
|
|
90
|
-
whereClause.Filters = [];
|
|
91
|
-
if (primaryKeys && primaryKeys.length > 0) {
|
|
92
|
-
primaryKeys.forEach((element) => {
|
|
93
|
-
const value = data[element.FieldName];
|
|
94
|
-
if (value) {
|
|
95
|
-
const filter = {
|
|
96
|
-
ConjuctionClause: ConjuctionClause.AND,
|
|
97
|
-
FieldID: crudTableName + '.' + element.SystemDBFieldName,
|
|
98
|
-
RelationalOperator: RelationalOperator.EqualTo,
|
|
99
|
-
ValueType: FilterValueType.Literal,
|
|
100
|
-
value: value,
|
|
101
|
-
Sequence: 0,
|
|
102
|
-
GroupID: 0,
|
|
103
|
-
};
|
|
104
|
-
whereClause.Filters.push(filter);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
whereClause.FilterLogic = '1';
|
|
109
|
-
return whereClause;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Binds the where clause for updating records
|
|
113
|
-
* @param tableName The name of the table to update
|
|
114
|
-
* @param queryFieldsArray The array of fields and values for the update query
|
|
115
|
-
* @returns The bound where clause for update operation
|
|
116
|
-
*/
|
|
117
|
-
bindWhereClauseForUpdate(tableName, queryFieldsArray) {
|
|
118
|
-
const whereClause = new APIFilterCriteria();
|
|
119
|
-
whereClause.Filters = [];
|
|
120
|
-
if (queryFieldsArray.length) {
|
|
121
|
-
queryFieldsArray.forEach((element) => {
|
|
122
|
-
const filter = {
|
|
123
|
-
ConjuctionClause: ConjuctionClause.AND,
|
|
124
|
-
FieldID: tableName + '.' + element.FieldName,
|
|
125
|
-
RelationalOperator: RelationalOperator.EqualTo,
|
|
126
|
-
ValueType: FilterValueType.Literal,
|
|
127
|
-
value: element.FieldValue,
|
|
128
|
-
Sequence: 0,
|
|
129
|
-
GroupID: 0,
|
|
130
|
-
};
|
|
131
|
-
whereClause.Filters.push(filter);
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
whereClause.FilterLogic = '1';
|
|
135
|
-
return whereClause;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Binds the where clause for deleting records by table and primary key
|
|
139
|
-
* @param tableName The name of the table from which to delete records
|
|
140
|
-
* @param primaryKey The name of the primary key field
|
|
141
|
-
* @param primaryKeyValue The value of the primary key
|
|
142
|
-
* @returns The bound where clause for delete operation using table and primary key
|
|
143
|
-
*/
|
|
144
|
-
bindWhereClauseForDeleteByTable(tableName, primaryKey, primaryKeyValue) {
|
|
145
|
-
const whereClause = new APIFilterCriteria();
|
|
146
|
-
whereClause.Filters = [];
|
|
147
|
-
const filter = {
|
|
148
|
-
ConjuctionClause: ConjuctionClause.AND,
|
|
149
|
-
FieldID: tableName + '.' + primaryKey,
|
|
150
|
-
RelationalOperator: RelationalOperator.EqualTo,
|
|
151
|
-
ValueType: FilterValueType.Literal,
|
|
152
|
-
value: primaryKeyValue,
|
|
153
|
-
Sequence: 0,
|
|
154
|
-
GroupID: 0,
|
|
155
|
-
};
|
|
156
|
-
whereClause.Filters.push(filter);
|
|
157
|
-
whereClause.FilterLogic = '1';
|
|
158
|
-
return whereClause;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Binds the where clause for deleting records using IN operator by table
|
|
162
|
-
* @param tableName The name of the table from which to delete records
|
|
163
|
-
* @param primaryKey The name of the primary key field
|
|
164
|
-
* @param values The array of values for the IN operator
|
|
165
|
-
* @returns The bound where clause for delete operation using IN operator and table
|
|
166
|
-
*/
|
|
167
|
-
bindWhereClauseForDeleteUsingInOperatorByTable(tableName, primaryKey, values) {
|
|
168
|
-
const appobj = getAppObjectFromSystemDBTableName(tableName);
|
|
169
|
-
if (appobj?.CRUDAppObjectId !== null) {
|
|
170
|
-
const crudAppObj = getAppObject(appobj.CRUDAppObjectId);
|
|
171
|
-
if (crudAppObj) {
|
|
172
|
-
tableName = crudAppObj.SystemDBTableName;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
const whereClause = new APIFilterCriteria();
|
|
176
|
-
whereClause.Filters = [];
|
|
177
|
-
const filter = {
|
|
178
|
-
ConjuctionClause: ConjuctionClause.AND,
|
|
179
|
-
FieldID: tableName + '.' + primaryKey,
|
|
180
|
-
RelationalOperator: RelationalOperator.IN,
|
|
181
|
-
ValueType: FilterValueType.Literal,
|
|
182
|
-
value: values.join(','),
|
|
183
|
-
Sequence: 0,
|
|
184
|
-
GroupID: 0,
|
|
185
|
-
};
|
|
186
|
-
whereClause.Filters.push(filter);
|
|
187
|
-
whereClause.FilterLogic = '1';
|
|
188
|
-
return whereClause;
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Binds the where clause for updating records in a grid
|
|
192
|
-
* @param Fields The fields to bind the where clause
|
|
193
|
-
* @param value The value to match in the where clause
|
|
194
|
-
* @param fieldName The field name to match in the where clause
|
|
195
|
-
* @param crudTableName The CRUD table name for the where clause
|
|
196
|
-
* @returns The bound where clause for update operation in a grid
|
|
197
|
-
*/
|
|
198
|
-
bindWhereClauseForUpdateGrid(Fields, value, fieldName, crudTableName) {
|
|
199
|
-
return this.bindWhereClause(Fields, value, fieldName, crudTableName);
|
|
200
|
-
}
|
|
201
|
-
static { this.ɵfac = function WhereClauseHelper_Factory(t) { return new (t || WhereClauseHelper)(); }; }
|
|
202
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WhereClauseHelper, factory: WhereClauseHelper.ɵfac, providedIn: 'root' }); }
|
|
203
|
-
}
|
|
204
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WhereClauseHelper, [{
|
|
205
|
-
type: Injectable,
|
|
206
|
-
args: [{ providedIn: 'root' }]
|
|
207
|
-
}], null, null); })();
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hlcmUtY2xhdXNlLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vd2hlcmUtY2xhdXNlLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixlQUFlLEdBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyxZQUFZLEdBQ2IsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHbEMsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7OztPQU9HO0lBQ0gsd0JBQXdCLENBQ3RCLE1BQVcsRUFDWCxLQUFVLEVBQ1YsU0FBaUIsRUFDakIsYUFBcUI7UUFFckIsTUFBTSxNQUFNLEdBQUcsaUNBQWlDLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEUsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGVBQWUsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM5QyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3hELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsYUFBYSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFD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QyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3pDLFNBQVMsRUFBRSxlQUFlLENBQUMsT0FBTztZQUNsQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDdkIsUUFBUSxFQUFFLENBQUM7WUFDWCxPQUFPLEVBQUUsQ0FBQztTQUNYLENBQUM7UUFDRixXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxXQUFXLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUM5QixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILDRCQUE0QixDQUMxQixNQUFXLEVBQ1gsS0FBVSxFQUNWLFNBQWlCLEVBQ2pCLGFBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDO2tGQWxQVSxpQkFBaUI7dUVBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBREosTUFBTTs7aUZBQ25CLGlCQUFpQjtjQUQ3QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0b0FycmF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb25qdWN0aW9uQ2xhdXNlLFxyXG4gIFJlbGF0aW9uYWxPcGVyYXRvcixcclxuICBGaWx0ZXJWYWx1ZVR5cGUsXHJcbn0gZnJvbSAnLi4vLi4vZW51bXMvZHNxLmVudW0nO1xyXG5pbXBvcnQgeyBBUElGaWx0ZXJDcml0ZXJpYSB9IGZyb20gJy4uLy4uL21vZGVscy9hcGktcXVlcnkuY2xhc3MnO1xyXG5pbXBvcnQge1xyXG4gIGdldEFwcE9iamVjdEZyb21TeXN0ZW1EQlRhYmxlTmFtZSxcclxuICBnZXRBcHBPYmplY3QsXHJcbn0gZnJvbSAnLi4vLi4vdXRpbHMvdGFiLWFwcC51dGlsJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBXaGVyZUNsYXVzZUhlbHBlciB7XHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRpbmcgcmVjb3JkcyBiYXNlZCBvbiBmaWVsZCwgdmFsdWUsIGZpZWxkIG5hbWUsIGFuZCBDUlVEIHRhYmxlIG5hbWVcclxuICAgKiBAcGFyYW0gZmllbGRzIFRoZSBmaWVsZHMgdG8gYmluZCB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBUaGUgZmllbGQgbmFtZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSBmb3IgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0ZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JEZWxldGUoXHJcbiAgICBmaWVsZHM6IGFueSxcclxuICAgIHZhbHVlOiBhbnksXHJcbiAgICBmaWVsZE5hbWU6IHN0cmluZyxcclxuICAgIGNydWRUYWJsZU5hbWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3QgYXBwb2JqID0gZ2V0QXBwT2JqZWN0RnJvbVN5c3RlbURCVGFibGVOYW1lKGNydWRUYWJsZU5hbWUpO1xyXG4gICAgaWYgKGFwcG9iaiAmJiBhcHBvYmouQ1JVREFwcE9iamVjdElkICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGNydWRBcHBPYmogPSBnZXRBcHBPYmplY3QoYXBwb2JqLkNSVURBcHBPYmplY3RJZCk7XHJcbiAgICAgIGlmIChjcnVkQXBwT2JqKSB7XHJcbiAgICAgICAgY3J1ZFRhYmxlTmFtZSA9IGNydWRBcHBPYmouU3lzdGVtREJUYWJsZU5hbWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmJpbmRXaGVyZUNsYXVzZShmaWVsZHMsIHZhbHVlLCBmaWVsZE5hbWUsIGNydWRUYWJsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRpbmcgcmVjb3JkcyB3aXRoIG11bHRpcGxlIHByaW1hcnkga2V5c1xyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIGNvbnRhaW5pbmcgcHJpbWFyeSBrZXkgdmFsdWVzXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBUaGUgZmllbGQgbmFtZSBvZiB0aGUgcHJpbWFyeSBrZXlcclxuICAgKiBAcGFyYW0gY3J1ZFRhYmxlTmFtZSBUaGUgQ1JVRCB0YWJsZSBuYW1lIGZvciB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRlIG9wZXJhdGlvbiB3aXRoIG11bHRpcGxlIHByaW1hcnkga2V5c1xyXG4gICAqL1xyXG4gIGJpbmRXaGVyZUNsYXVzZUZvckRlbGV0ZVdpdGhNdWx0aXBsZVByaW1hcnlLZXlzKFxyXG4gICAgZGF0YTogYW55LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICBjcnVkVGFibGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLmJpbmRXaGVyZUNsYXVzZUZvck11bHRpcGxlUHJpbWFyeUtleXMoXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGZpZWxkTmFtZSxcclxuICAgICAgY3J1ZFRhYmxlTmFtZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGFuIGluc2VydCBvcGVyYXRpb25cclxuICAgKiBAcmV0dXJucyBUaGUgYm91bmQgd2hlcmUgY2xhdXNlIGZvciBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgYmluZFdoZXJlQ2xhdXNlRm9ySW5zZXJ0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYmluZFdoZXJlQ2xhdXNlRW1wdHkoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIGFuIGVtcHR5IHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCBlbXB0eSB3aGVyZSBjbGF1c2VcclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VFbXB0eSgpIHtcclxuICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XHJcbiAgICB3aGVyZUNsYXVzZS5GaWx0ZXJMb2dpYyA9ICcxJztcclxuICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMgPSBbXTtcclxuICAgIHJldHVybiB3aGVyZUNsYXVzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgYmFzZWQgb24gcHJvdmlkZWQgcGFyYW1ldGVyc1xyXG4gICAqIEBwYXJhbSBmaWVsZHMgVGhlIGZpZWxkcyB0byBiaW5kIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIG1hdGNoIGluIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIFRoZSBmaWVsZCBuYW1lIHRvIG1hdGNoIGluIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gY3J1ZFRhYmxlTmFtZSBUaGUgQ1JVRCB0YWJsZSBuYW1lIGZvciB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYmluZFdoZXJlQ2xhdXNlKFxyXG4gICAgZmllbGRzOiBhbnksXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICBjcnVkVGFibGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIHJldHVybiBmcm9tKGZpZWxkcykucGlwZShcclxuICAgICAgZmlsdGVyKChmOiBhbnkpID0+XHJcbiAgICAgICAgZmllbGROYW1lXHJcbiAgICAgICAgICA/IGYuRmllbGQ/LkZpZWxkTmFtZSA9PT0gZmllbGROYW1lXHJcbiAgICAgICAgICA6IGYuRmllbGQ/LkZpZWxkTmFtZSA9PT0gJ0lkJyB8fCBmLkZpZWxkPy5GaWVsZE5hbWUgPT09ICdJRCdcclxuICAgICAgKSxcclxuICAgICAgbWFwKChmaWVsZDogYW55KSA9PiAoe1xyXG4gICAgICAgIENvbmp1Y3Rpb25DbGF1c2U6IENvbmp1Y3Rpb25DbGF1c2UuQU5ELFxyXG4gICAgICAgIEZpZWxkSUQ6IGNydWRUYWJsZU5hbWUgKyAnLicgKyBmaWVsZC5GaWVsZC5TeXN0ZW1EQkZpZWxkTmFtZSxcclxuICAgICAgICBSZWxhdGlvbmFsT3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLFxyXG4gICAgICAgIFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsXHJcbiAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgIFNlcXVlbmNlOiAwLFxyXG4gICAgICAgIEdyb3VwSUQ6IDAsXHJcbiAgICAgIH0pKSxcclxuICAgICAgdG9BcnJheSgpLFxyXG4gICAgICBtYXAoKGZpbHRlcnM6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJzID0gZmlsdGVycztcclxuICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJMb2dpYyA9ICcxJztcclxuICAgICAgICByZXR1cm4gd2hlcmVDbGF1c2U7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRpbmcgcmVjb3JkcyB3aXRoIG11bHRpcGxlIHByaW1hcnkga2V5c1xyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIGNvbnRhaW5pbmcgcHJpbWFyeSBrZXkgdmFsdWVzXHJcbiAgICogQHBhcmFtIHByaW1hcnlLZXlzIFRoZSBhcnJheSBvZiBwcmltYXJ5IGtleSBmaWVsZHNcclxuICAgKiBAcGFyYW0gY3J1ZFRhYmxlTmFtZSBUaGUgQ1JVRCB0YWJsZSBuYW1lIGZvciB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRlIG9wZXJhdGlvbiB3aXRoIG11bHRpcGxlIHByaW1hcnkga2V5c1xyXG4gICAqL1xyXG4gIGJpbmRXaGVyZUNsYXVzZUZvck11bHRpcGxlUHJpbWFyeUtleXMoXHJcbiAgICBkYXRhOiBhbnksXHJcbiAgICBwcmltYXJ5S2V5czogYW55LFxyXG4gICAgY3J1ZFRhYmxlTmFtZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCB3aGVyZUNsYXVzZSA9IG5ldyBBUElGaWx0ZXJDcml0ZXJpYSgpO1xyXG4gICAgd2hlcmVDbGF1c2UuRmlsdGVycyA9IFtdO1xyXG4gICAgaWYgKHByaW1hcnlLZXlzICYmIHByaW1hcnlLZXlzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcHJpbWFyeUtleXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhW2VsZW1lbnQuRmllbGROYW1lXTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xyXG4gICAgICAgICAgICBDb25qdWN0aW9uQ2xhdXNlOiBDb25qdWN0aW9uQ2xhdXNlLkFORCxcclxuICAgICAgICAgICAgRmllbGRJRDogY3J1ZFRhYmxlTmFtZSArICcuJyArIGVsZW1lbnQuU3lzdGVtREJGaWVsZE5hbWUsXHJcbiAgICAgICAgICAgIFJlbGF0aW9uYWxPcGVyYXRvcjogUmVsYXRpb25hbE9wZXJhdG9yLkVxdWFsVG8sXHJcbiAgICAgICAgICAgIFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICAgICAgU2VxdWVuY2U6IDAsXHJcbiAgICAgICAgICAgIEdyb3VwSUQ6IDAsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgd2hlcmVDbGF1c2UuRmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHdoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljID0gJzEnO1xyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgdXBkYXRpbmcgcmVjb3Jkc1xyXG4gICAqIEBwYXJhbSB0YWJsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHRvIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBxdWVyeUZpZWxkc0FycmF5IFRoZSBhcnJheSBvZiBmaWVsZHMgYW5kIHZhbHVlcyBmb3IgdGhlIHVwZGF0ZSBxdWVyeVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIHVwZGF0ZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JVcGRhdGUodGFibGVOYW1lOiBzdHJpbmcsIHF1ZXJ5RmllbGRzQXJyYXk6IGFueSkge1xyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMgPSBbXTtcclxuICAgIGlmIChxdWVyeUZpZWxkc0FycmF5Lmxlbmd0aCkge1xyXG4gICAgICBxdWVyeUZpZWxkc0FycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xyXG4gICAgICAgICAgQ29uanVjdGlvbkNsYXVzZTogQ29uanVjdGlvbkNsYXVzZS5BTkQsXHJcbiAgICAgICAgICBGaWVsZElEOiB0YWJsZU5hbWUgKyAnLicgKyBlbGVtZW50LkZpZWxkTmFtZSxcclxuICAgICAgICAgIFJlbGF0aW9uYWxPcGVyYXRvcjogUmVsYXRpb25hbE9wZXJhdG9yLkVxdWFsVG8sXHJcbiAgICAgICAgICBWYWx1ZVR5cGU6IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsLFxyXG4gICAgICAgICAgdmFsdWU6IGVsZW1lbnQuRmllbGRWYWx1ZSxcclxuICAgICAgICAgIFNlcXVlbmNlOiAwLFxyXG4gICAgICAgICAgR3JvdXBJRDogMCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMucHVzaChmaWx0ZXIpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHdoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljID0gJzEnO1xyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRpbmcgcmVjb3JkcyBieSB0YWJsZSBhbmQgcHJpbWFyeSBrZXlcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBmcm9tIHdoaWNoIHRvIGRlbGV0ZSByZWNvcmRzXHJcbiAgICogQHBhcmFtIHByaW1hcnlLZXkgVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5IGZpZWxkXHJcbiAgICogQHBhcmFtIHByaW1hcnlLZXlWYWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHByaW1hcnkga2V5XHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRlIG9wZXJhdGlvbiB1c2luZyB0YWJsZSBhbmQgcHJpbWFyeSBrZXlcclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JEZWxldGVCeVRhYmxlKFxyXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXHJcbiAgICBwcmltYXJ5S2V5OiBzdHJpbmcsXHJcbiAgICBwcmltYXJ5S2V5VmFsdWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMgPSBbXTtcclxuICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xyXG4gICAgICBDb25qdWN0aW9uQ2xhdXNlOiBDb25qdWN0aW9uQ2xhdXNlLkFORCxcclxuICAgICAgRmllbGRJRDogdGFibGVOYW1lICsgJy4nICsgcHJpbWFyeUtleSxcclxuICAgICAgUmVsYXRpb25hbE9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuRXF1YWxUbyxcclxuICAgICAgVmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUuTGl0ZXJhbCxcclxuICAgICAgdmFsdWU6IHByaW1hcnlLZXlWYWx1ZSxcclxuICAgICAgU2VxdWVuY2U6IDAsXHJcbiAgICAgIEdyb3VwSUQ6IDAsXHJcbiAgICB9O1xyXG4gICAgd2hlcmVDbGF1c2UuRmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICB3aGVyZUNsYXVzZS5GaWx0ZXJMb2dpYyA9ICcxJztcclxuICAgIHJldHVybiB3aGVyZUNsYXVzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgdXNpbmcgSU4gb3BlcmF0b3IgYnkgdGFibGVcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBmcm9tIHdoaWNoIHRvIGRlbGV0ZSByZWNvcmRzXHJcbiAgICogQHBhcmFtIHByaW1hcnlLZXkgVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5IGZpZWxkXHJcbiAgICogQHBhcmFtIHZhbHVlcyBUaGUgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgSU4gb3BlcmF0b3JcclxuICAgKiBAcmV0dXJucyBUaGUgYm91bmQgd2hlcmUgY2xhdXNlIGZvciBkZWxldGUgb3BlcmF0aW9uIHVzaW5nIElOIG9wZXJhdG9yIGFuZCB0YWJsZVxyXG4gICAqL1xyXG4gIGJpbmRXaGVyZUNsYXVzZUZvckRlbGV0ZVVzaW5nSW5PcGVyYXRvckJ5VGFibGUoXHJcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcclxuICAgIHByaW1hcnlLZXk6IHN0cmluZyxcclxuICAgIHZhbHVlczogW11cclxuICApIHtcclxuICAgIGNvbnN0IGFwcG9iaiA9IGdldEFwcE9iamVjdEZyb21TeXN0ZW1EQlRhYmxlTmFtZSh0YWJsZU5hbWUpO1xyXG4gICAgaWYgKGFwcG9iaj8uQ1JVREFwcE9iamVjdElkICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGNydWRBcHBPYmogPSBnZXRBcHBPYmplY3QoYXBwb2JqLkNSVURBcHBPYmplY3RJZCk7XHJcbiAgICAgIGlmIChjcnVkQXBwT2JqKSB7XHJcbiAgICAgICAgdGFibGVOYW1lID0gY3J1ZEFwcE9iai5TeXN0ZW1EQlRhYmxlTmFtZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMgPSBbXTtcclxuICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xyXG4gICAgICBDb25qdWN0aW9uQ2xhdXNlOiBDb25qdWN0aW9uQ2xhdXNlLkFORCxcclxuICAgICAgRmllbGRJRDogdGFibGVOYW1lICsgJy4nICsgcHJpbWFyeUtleSxcclxuICAgICAgUmVsYXRpb25hbE9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuSU4sXHJcbiAgICAgIFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsXHJcbiAgICAgIHZhbHVlOiB2YWx1ZXMuam9pbignLCcpLFxyXG4gICAgICBTZXF1ZW5jZTogMCxcclxuICAgICAgR3JvdXBJRDogMCxcclxuICAgIH07XHJcbiAgICB3aGVyZUNsYXVzZS5GaWx0ZXJzLnB1c2goZmlsdGVyKTtcclxuICAgIHdoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljID0gJzEnO1xyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgdXBkYXRpbmcgcmVjb3JkcyBpbiBhIGdyaWRcclxuICAgKiBAcGFyYW0gRmllbGRzIFRoZSBmaWVsZHMgdG8gYmluZCB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBUaGUgZmllbGQgbmFtZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSBmb3IgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIHVwZGF0ZSBvcGVyYXRpb24gaW4gYSBncmlkXHJcbiAgICovXHJcbiAgYmluZFdoZXJlQ2xhdXNlRm9yVXBkYXRlR3JpZChcclxuICAgIEZpZWxkczogYW55LFxyXG4gICAgdmFsdWU6IGFueSxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gICAgY3J1ZFRhYmxlTmFtZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5iaW5kV2hlcmVDbGF1c2UoRmllbGRzLCB2YWx1ZSwgZmllbGROYW1lLCBjcnVkVGFibGVOYW1lKTtcclxuICB9XHJcbn1cclxuIl19
|