bruce-models 2.3.7 → 2.3.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 (195) hide show
  1. package/dist/bruce-models.es5.js +8041 -8037
  2. package/dist/bruce-models.es5.js.map +1 -1
  3. package/dist/bruce-models.umd.js +7805 -7801
  4. package/dist/bruce-models.umd.js.map +1 -1
  5. package/dist/lib/account/account-invite.js +81 -81
  6. package/dist/lib/account/account-settings.js +2 -2
  7. package/dist/lib/account/account.js +169 -169
  8. package/dist/lib/account/account.js.map +1 -1
  9. package/dist/lib/ann-document/ann-document.js +94 -94
  10. package/dist/lib/api/abstract-api.js +269 -269
  11. package/dist/lib/api/api-getters.js +172 -172
  12. package/dist/lib/api/api.js +93 -93
  13. package/dist/lib/api/bruce-api.js +224 -224
  14. package/dist/lib/api/bruce-api.js.map +1 -1
  15. package/dist/lib/api/cam-api.js +88 -88
  16. package/dist/lib/api/global-api.js +82 -82
  17. package/dist/lib/api/guardian-api.js +82 -82
  18. package/dist/lib/api/idm-api.js +90 -90
  19. package/dist/lib/bruce-models.js +95 -91
  20. package/dist/lib/bruce-models.js.map +1 -1
  21. package/dist/lib/calculator/calculator.js +341 -341
  22. package/dist/lib/client-file/client-file.js +255 -255
  23. package/dist/lib/client-file/client-file.js.map +1 -1
  24. package/dist/lib/common/bounds.js +61 -61
  25. package/dist/lib/common/bruce-event.js +46 -46
  26. package/dist/lib/common/bruce-variable.js +60 -60
  27. package/dist/lib/common/cache.js +188 -188
  28. package/dist/lib/common/cache.js.map +1 -1
  29. package/dist/lib/common/camera.js +11 -11
  30. package/dist/lib/common/cartes.js +123 -123
  31. package/dist/lib/common/carto.js +60 -60
  32. package/dist/lib/common/color.js +86 -86
  33. package/dist/lib/common/delay-queue.js +56 -56
  34. package/dist/lib/common/dictionary.js +2 -2
  35. package/dist/lib/common/geometry.js +120 -120
  36. package/dist/lib/common/lru-cache.js +25 -25
  37. package/dist/lib/common/transform.js +2 -2
  38. package/dist/lib/common/utc.js +39 -39
  39. package/dist/lib/custom-form/custom-form-content.js +26 -26
  40. package/dist/lib/custom-form/custom-form.js +114 -114
  41. package/dist/lib/data-lab/data-lab.js +49 -49
  42. package/dist/lib/entity/entity-attachment-type.js +87 -87
  43. package/dist/lib/entity/entity-attachment-type.js.map +1 -1
  44. package/dist/lib/entity/entity-attachment.js +126 -126
  45. package/dist/lib/entity/entity-attachment.js.map +1 -1
  46. package/dist/lib/entity/entity-attribute.js +29 -29
  47. package/dist/lib/entity/entity-comment.js +86 -86
  48. package/dist/lib/entity/entity-comment.js.map +1 -1
  49. package/dist/lib/entity/entity-coords.js +153 -153
  50. package/dist/lib/entity/entity-coords.js.map +1 -1
  51. package/dist/lib/entity/entity-link.js +86 -86
  52. package/dist/lib/entity/entity-link.js.map +1 -1
  53. package/dist/lib/entity/entity-lod-category.js +108 -108
  54. package/dist/lib/entity/entity-lod.js +197 -197
  55. package/dist/lib/entity/entity-lod.js.map +1 -1
  56. package/dist/lib/entity/entity-relation-type.js +117 -117
  57. package/dist/lib/entity/entity-relation-type.js.map +1 -1
  58. package/dist/lib/entity/entity-relation.js +157 -157
  59. package/dist/lib/entity/entity-source.js +136 -136
  60. package/dist/lib/entity/entity-source.js.map +1 -1
  61. package/dist/lib/entity/entity-tag.js +157 -157
  62. package/dist/lib/entity/entity-type-visual-settings.js +13 -13
  63. package/dist/lib/entity/entity-type.js +122 -122
  64. package/dist/lib/entity/entity.js +341 -341
  65. package/dist/lib/entity/entity.js.map +1 -1
  66. package/dist/lib/entity/getters/batched-data-getter.js +84 -84
  67. package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
  68. package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
  69. package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
  70. package/dist/lib/entity/getters/entity-globe.js +175 -175
  71. package/dist/lib/entity/getters/view-monitor.js +2 -2
  72. package/dist/lib/import/import-cad.js +53 -53
  73. package/dist/lib/import/import-cad.js.map +1 -1
  74. package/dist/lib/import/import-csv.js +23 -23
  75. package/dist/lib/import/import-json.js +23 -23
  76. package/dist/lib/import/import-kml.js +23 -23
  77. package/dist/lib/import/imported-file.js +130 -130
  78. package/dist/lib/internal/uploader.js +76 -76
  79. package/dist/lib/internal/uploader.js.map +1 -1
  80. package/dist/lib/markup/markup.js +185 -185
  81. package/dist/lib/plugin/plugin.js +91 -91
  82. package/dist/lib/program-key/program-key.js +120 -120
  83. package/dist/lib/program-key/program-key.js.map +1 -1
  84. package/dist/lib/project/menu-item.js +122 -122
  85. package/dist/lib/project/project-view-bookmark.js +159 -159
  86. package/dist/lib/project/project-view-bookmark.js.map +1 -1
  87. package/dist/lib/project/project-view-legacy-tile.js +77 -77
  88. package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
  89. package/dist/lib/project/project-view-tile.js +125 -125
  90. package/dist/lib/project/project-view.js +141 -141
  91. package/dist/lib/project/zoom-control.js +17 -17
  92. package/dist/lib/server/hosting-location.js +156 -156
  93. package/dist/lib/server/hosting-location.js.map +1 -1
  94. package/dist/lib/server/message-broker.js +142 -142
  95. package/dist/lib/server/message-broker.js.map +1 -1
  96. package/dist/lib/server/pending-action.js +83 -83
  97. package/dist/lib/server/task.js +63 -63
  98. package/dist/lib/style/style.js +129 -129
  99. package/dist/lib/style/style.js.map +1 -1
  100. package/dist/lib/tileset/tileset.js +431 -431
  101. package/dist/lib/tileset/tileset.js.map +1 -1
  102. package/dist/lib/user/permission.js +20 -20
  103. package/dist/lib/user/session.js +145 -142
  104. package/dist/lib/user/session.js.map +1 -1
  105. package/dist/lib/user/user-group.js +94 -94
  106. package/dist/lib/user/user.js +475 -474
  107. package/dist/lib/user/user.js.map +1 -1
  108. package/dist/lib/util/encrypt-utils.js +19 -19
  109. package/dist/lib/util/math-utils.js +40 -40
  110. package/dist/lib/util/object-utils.js +17 -17
  111. package/dist/lib/util/path-utils.js +61 -61
  112. package/dist/lib/util/url-utils.js +94 -94
  113. package/dist/lib/util/url-utils.js.map +1 -1
  114. package/dist/types/account/account-invite.d.ts +68 -68
  115. package/dist/types/account/account-settings.d.ts +24 -24
  116. package/dist/types/account/account.d.ts +84 -84
  117. package/dist/types/ann-document/ann-document.d.ts +50 -50
  118. package/dist/types/api/abstract-api.d.ts +36 -36
  119. package/dist/types/api/api-getters.d.ts +64 -64
  120. package/dist/types/api/api.d.ts +93 -93
  121. package/dist/types/api/bruce-api.d.ts +64 -64
  122. package/dist/types/api/cam-api.d.ts +26 -26
  123. package/dist/types/api/global-api.d.ts +25 -25
  124. package/dist/types/api/guardian-api.d.ts +25 -25
  125. package/dist/types/api/idm-api.d.ts +28 -28
  126. package/dist/types/bruce-models.d.ts +79 -79
  127. package/dist/types/calculator/calculator.d.ts +61 -61
  128. package/dist/types/client-file/client-file.d.ts +130 -130
  129. package/dist/types/common/bounds.d.ts +30 -30
  130. package/dist/types/common/bruce-event.d.ts +12 -12
  131. package/dist/types/common/bruce-variable.d.ts +21 -21
  132. package/dist/types/common/cache.d.ts +57 -57
  133. package/dist/types/common/camera.d.ts +6 -6
  134. package/dist/types/common/cartes.d.ts +51 -51
  135. package/dist/types/common/carto.d.ts +15 -15
  136. package/dist/types/common/color.d.ts +24 -24
  137. package/dist/types/common/delay-queue.d.ts +14 -14
  138. package/dist/types/common/dictionary.d.ts +3 -3
  139. package/dist/types/common/geometry.d.ts +44 -44
  140. package/dist/types/common/lru-cache.d.ts +7 -7
  141. package/dist/types/common/transform.d.ts +15 -15
  142. package/dist/types/common/utc.d.ts +29 -29
  143. package/dist/types/custom-form/custom-form-content.d.ts +60 -60
  144. package/dist/types/custom-form/custom-form.d.ts +49 -49
  145. package/dist/types/data-lab/data-lab.d.ts +28 -28
  146. package/dist/types/entity/entity-attachment-type.d.ts +39 -39
  147. package/dist/types/entity/entity-attachment.d.ts +61 -61
  148. package/dist/types/entity/entity-attribute.d.ts +39 -39
  149. package/dist/types/entity/entity-comment.d.ts +40 -40
  150. package/dist/types/entity/entity-coords.d.ts +66 -66
  151. package/dist/types/entity/entity-link.d.ts +36 -36
  152. package/dist/types/entity/entity-lod-category.d.ts +36 -36
  153. package/dist/types/entity/entity-lod.d.ts +99 -99
  154. package/dist/types/entity/entity-relation-type.d.ts +44 -44
  155. package/dist/types/entity/entity-relation.d.ts +59 -59
  156. package/dist/types/entity/entity-source.d.ts +45 -45
  157. package/dist/types/entity/entity-tag.d.ts +53 -53
  158. package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
  159. package/dist/types/entity/entity-type.d.ts +63 -63
  160. package/dist/types/entity/entity.d.ts +118 -118
  161. package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
  162. package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
  163. package/dist/types/entity/getters/entity-globe.d.ts +21 -21
  164. package/dist/types/entity/getters/view-monitor.d.ts +13 -13
  165. package/dist/types/import/import-cad.d.ts +49 -49
  166. package/dist/types/import/import-csv.d.ts +31 -31
  167. package/dist/types/import/import-json.d.ts +26 -26
  168. package/dist/types/import/import-kml.d.ts +19 -19
  169. package/dist/types/import/imported-file.d.ts +47 -47
  170. package/dist/types/internal/uploader.d.ts +16 -16
  171. package/dist/types/markup/markup.d.ts +227 -227
  172. package/dist/types/plugin/plugin.d.ts +39 -39
  173. package/dist/types/program-key/program-key.d.ts +48 -48
  174. package/dist/types/project/menu-item.d.ts +169 -169
  175. package/dist/types/project/project-view-bookmark.d.ts +179 -179
  176. package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
  177. package/dist/types/project/project-view-tile.d.ts +65 -65
  178. package/dist/types/project/project-view.d.ts +136 -136
  179. package/dist/types/project/zoom-control.d.ts +22 -22
  180. package/dist/types/server/hosting-location.d.ts +74 -74
  181. package/dist/types/server/message-broker.d.ts +86 -86
  182. package/dist/types/server/pending-action.d.ts +66 -66
  183. package/dist/types/server/task.d.ts +36 -36
  184. package/dist/types/style/style.d.ts +107 -107
  185. package/dist/types/tileset/tileset.d.ts +264 -264
  186. package/dist/types/user/permission.d.ts +15 -15
  187. package/dist/types/user/session.d.ts +72 -66
  188. package/dist/types/user/user-group.d.ts +58 -58
  189. package/dist/types/user/user.d.ts +189 -188
  190. package/dist/types/util/encrypt-utils.d.ts +3 -3
  191. package/dist/types/util/math-utils.d.ts +16 -16
  192. package/dist/types/util/object-utils.d.ts +7 -7
  193. package/dist/types/util/path-utils.d.ts +8 -8
  194. package/dist/types/util/url-utils.d.ts +26 -26
  195. package/package.json +79 -78
@@ -1,118 +1,118 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EntityRelationType = void 0;
13
- const api_1 = require("../api/api");
14
- const object_utils_1 = require("../util/object-utils");
15
- /**
16
- * Describes the "Entity Relationship Type" concept within Bruce.
17
- * A relationship type record describes the purpose of a relationship.
18
- */
19
- var EntityRelationType;
20
- (function (EntityRelationType) {
21
- function GetCacheKey(id) {
22
- return api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + id;
23
- }
24
- EntityRelationType.GetCacheKey = GetCacheKey;
25
- function GetListCacheKey() {
26
- return api_1.Api.ECacheKey.RelationType;
27
- }
28
- EntityRelationType.GetListCacheKey = GetListCacheKey;
29
- function Get(params) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const { api, relationTypeId: typeId, req: reqParams } = params;
32
- if (!typeId) {
33
- throw ("Type ID is required.");
34
- }
35
- const key = GetCacheKey(typeId);
36
- const cache = yield api.GetCacheItem(key, reqParams);
37
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
38
- return cache.data;
39
- }
40
- const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
41
- try {
42
- const data = yield api.GET(`entityRelationType/${typeId}`, api_1.Api.PrepReqParams(reqParams));
43
- res({
44
- relationType: data
45
- });
46
- }
47
- catch (e) {
48
- rej(e);
49
- }
50
- }));
51
- yield api.SetCacheItem({
52
- key,
53
- value: prom,
54
- req: reqParams
55
- });
56
- return prom;
57
- });
58
- }
59
- EntityRelationType.Get = Get;
60
- function Delete(params) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- const { api, relationTypeId: typeId, req: reqParams } = params;
63
- if (!typeId) {
64
- throw ("Type ID is required.");
65
- }
66
- yield api.DELETE(`entityRelationType/${typeId}`, api_1.Api.PrepReqParams(reqParams));
67
- api.Cache.Remove(GetCacheKey(typeId));
68
- api.Cache.Remove(GetListCacheKey());
69
- });
70
- }
71
- EntityRelationType.Delete = Delete;
72
- function GetList(params) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const { api, req: reqParams } = params;
75
- const cache = yield api.GetCacheItem(GetListCacheKey(), reqParams);
76
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
77
- return cache.data;
78
- }
79
- const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
80
- try {
81
- const data = yield api.GET("entityRelationTypes", api_1.Api.PrepReqParams(reqParams));
82
- res({
83
- relationTypes: data.Items
84
- });
85
- }
86
- catch (e) {
87
- rej(e);
88
- }
89
- }));
90
- yield api.SetCacheItem({
91
- key: GetListCacheKey(),
92
- value: req,
93
- req: reqParams
94
- });
95
- return req;
96
- });
97
- }
98
- EntityRelationType.GetList = GetList;
99
- function Update(params) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- const { api, relationType: data, req: reqParams } = params;
102
- if (!(data === null || data === void 0 ? void 0 : data.ForwardName) || !(data === null || data === void 0 ? void 0 : data.ReverseName)) {
103
- throw ("Forward and reverse names are required.");
104
- }
105
- if (!data.ID) {
106
- data.ID = object_utils_1.ObjectUtils.UId();
107
- }
108
- const res = yield api.POST(`entityRelationType/${data.ID}`, data, api_1.Api.PrepReqParams(reqParams));
109
- api.Cache.Remove(GetCacheKey(data.ID));
110
- api.Cache.Remove(GetListCacheKey());
111
- return {
112
- relationType: res
113
- };
114
- });
115
- }
116
- EntityRelationType.Update = Update;
117
- })(EntityRelationType = exports.EntityRelationType || (exports.EntityRelationType = {}));
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EntityRelationType = void 0;
13
+ const api_1 = require("../api/api");
14
+ const object_utils_1 = require("../util/object-utils");
15
+ /**
16
+ * Describes the "Entity Relationship Type" concept within Bruce.
17
+ * A relationship type record describes the purpose of a relationship.
18
+ */
19
+ var EntityRelationType;
20
+ (function (EntityRelationType) {
21
+ function GetCacheKey(id) {
22
+ return api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + id;
23
+ }
24
+ EntityRelationType.GetCacheKey = GetCacheKey;
25
+ function GetListCacheKey() {
26
+ return api_1.Api.ECacheKey.RelationType;
27
+ }
28
+ EntityRelationType.GetListCacheKey = GetListCacheKey;
29
+ function Get(params) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const { api, relationTypeId: typeId, req: reqParams } = params;
32
+ if (!typeId) {
33
+ throw ("Type ID is required.");
34
+ }
35
+ const key = GetCacheKey(typeId);
36
+ const cache = yield api.GetCacheItem(key, reqParams);
37
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
38
+ return cache.data;
39
+ }
40
+ const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
41
+ try {
42
+ const data = yield api.GET(`entityRelationType/${typeId}`, api_1.Api.PrepReqParams(reqParams));
43
+ res({
44
+ relationType: data
45
+ });
46
+ }
47
+ catch (e) {
48
+ rej(e);
49
+ }
50
+ }));
51
+ yield api.SetCacheItem({
52
+ key,
53
+ value: prom,
54
+ req: reqParams
55
+ });
56
+ return prom;
57
+ });
58
+ }
59
+ EntityRelationType.Get = Get;
60
+ function Delete(params) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const { api, relationTypeId: typeId, req: reqParams } = params;
63
+ if (!typeId) {
64
+ throw ("Type ID is required.");
65
+ }
66
+ yield api.DELETE(`entityRelationType/${typeId}`, api_1.Api.PrepReqParams(reqParams));
67
+ api.Cache.Remove(GetCacheKey(typeId));
68
+ api.Cache.Remove(GetListCacheKey());
69
+ });
70
+ }
71
+ EntityRelationType.Delete = Delete;
72
+ function GetList(params) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ const { api, req: reqParams } = params;
75
+ const cache = yield api.GetCacheItem(GetListCacheKey(), reqParams);
76
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
77
+ return cache.data;
78
+ }
79
+ const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
80
+ try {
81
+ const data = yield api.GET("entityRelationTypes", api_1.Api.PrepReqParams(reqParams));
82
+ res({
83
+ relationTypes: data.Items
84
+ });
85
+ }
86
+ catch (e) {
87
+ rej(e);
88
+ }
89
+ }));
90
+ yield api.SetCacheItem({
91
+ key: GetListCacheKey(),
92
+ value: req,
93
+ req: reqParams
94
+ });
95
+ return req;
96
+ });
97
+ }
98
+ EntityRelationType.GetList = GetList;
99
+ function Update(params) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ const { api, relationType: data, req: reqParams } = params;
102
+ if (!(data === null || data === void 0 ? void 0 : data.ForwardName) || !(data === null || data === void 0 ? void 0 : data.ReverseName)) {
103
+ throw ("Forward and reverse names are required.");
104
+ }
105
+ if (!data.ID) {
106
+ data.ID = object_utils_1.ObjectUtils.UId();
107
+ }
108
+ const res = yield api.POST(`entityRelationType/${data.ID}`, data, api_1.Api.PrepReqParams(reqParams));
109
+ api.Cache.Remove(GetCacheKey(data.ID));
110
+ api.Cache.Remove(GetListCacheKey());
111
+ return {
112
+ relationType: res
113
+ };
114
+ });
115
+ }
116
+ EntityRelationType.Update = Update;
117
+ })(EntityRelationType = exports.EntityRelationType || (exports.EntityRelationType = {}));
118
118
  //# sourceMappingURL=entity-relation-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-relation-type.js","sourceRoot":"","sources":["../../../src/entity/entity-relation-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-relation-type.js","sourceRoot":"","sources":["../../../src/entity/entity-relation-type.ts"],"names":[],"mappings":"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"}
@@ -1,158 +1,158 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EntityRelation = void 0;
13
- const api_1 = require("../api/api");
14
- /**
15
- * Describes the "Entity Relationship" concept within Bruce.
16
- * An entity relationship is an arbitrary link between two entity records.
17
- * The relationship can have a "data entity" linked to it as well for the relationship to store arbitrary data about itself.
18
- */
19
- var EntityRelation;
20
- (function (EntityRelation) {
21
- function GetCacheKey(entityA, entityB, typeId) {
22
- return `${api_1.Api.ECacheKey.Relation}${api_1.Api.ECacheKey.Id}${entityA}${api_1.Api.ECacheKey.Id}${entityB}${api_1.Api.ECacheKey.Id}${typeId}`;
23
- }
24
- EntityRelation.GetCacheKey = GetCacheKey;
25
- function GetEntityCacheKey(entityId) {
26
- return api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + entityId;
27
- }
28
- EntityRelation.GetEntityCacheKey = GetEntityCacheKey;
29
- function GetListCacheKey(entityId, params) {
30
- return api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType +
31
- api_1.Api.ECacheKey.Id + params.relationTypeId +
32
- api_1.Api.ECacheKey.Id + params.oneWayOnly +
33
- api_1.Api.ECacheKey.Id + params.loadEntityData +
34
- api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + entityId;
35
- }
36
- EntityRelation.GetListCacheKey = GetListCacheKey;
37
- function Create(params) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const { api, relation: data, req: reqParams } = params;
40
- if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
41
- throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
42
- }
43
- const reqData = {
44
- "Related.Entity.ID": [data["Related.Entity.ID"]]
45
- };
46
- const url = `entity/${data["Principal.Entity.ID"]}/relation/${data["Relation.Type.ID"]}/add`;
47
- yield api.POST(url, reqData, api_1.Api.PrepReqParams(reqParams));
48
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
49
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
50
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
51
- if (data["Data.Entity.ID"]) {
52
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
53
- }
54
- });
55
- }
56
- EntityRelation.Create = Create;
57
- function Delete(params) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- const { api, principalEntityId, relatedEntityId, relationTypeId, req: reqParams } = params;
60
- if (!principalEntityId || !relatedEntityId || !relationTypeId) {
61
- throw new Error("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
62
- }
63
- const url = `entity/${principalEntityId}/relation/${relationTypeId}/delete`;
64
- yield api.POST(url, {
65
- "Related.Entity.ID": [relatedEntityId]
66
- }, api_1.Api.PrepReqParams(reqParams));
67
- // Remove related cache entries
68
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + principalEntityId);
69
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + relatedEntityId);
70
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + relationTypeId);
71
- });
72
- }
73
- EntityRelation.Delete = Delete;
74
- function Update(params) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- const { api, relation: data, req: reqParams } = params;
77
- if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
78
- throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
79
- }
80
- const url = `entity/${data["Principal.Entity.ID"]}/otherEntityID/${data["Related.Entity.ID"]}/relation/${data["Relation.Type.ID"]}/update`;
81
- const res = yield api.POST(url, data, api_1.Api.PrepReqParams(reqParams));
82
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
83
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
84
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
85
- if (data["Data.Entity.ID"]) {
86
- yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
87
- }
88
- });
89
- }
90
- EntityRelation.Update = Update;
91
- function GetList(params) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- let { api, entityId, filter, req: reqParams } = params;
94
- if (!entityId) {
95
- throw ("Entity ID is required.");
96
- }
97
- filter = Object.assign({ relationTypeId: "", oneWayOnly: false, loadEntityData: false }, filter);
98
- const cache = yield api.GetCacheItem(GetListCacheKey(entityId, filter), reqParams);
99
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
100
- return cache.data;
101
- }
102
- const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
103
- try {
104
- let url = `entity/${entityId}/relations`;
105
- if (filter.relationTypeId) {
106
- url += "/" + filter.relationTypeId;
107
- }
108
- url += `?Oneway=${filter.oneWayOnly}&LoadInfo=${filter.loadEntityData}`;
109
- const data = yield api.GET(url, api_1.Api.PrepReqParams(reqParams));
110
- res({
111
- relations: data.Items
112
- });
113
- }
114
- catch (e) {
115
- rej(e);
116
- }
117
- }));
118
- yield api.SetCacheItem({
119
- key: GetListCacheKey(entityId, filter),
120
- value: req,
121
- req: reqParams
122
- });
123
- return req;
124
- });
125
- }
126
- EntityRelation.GetList = GetList;
127
- function GetByDataEntityId(params) {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- const { api, entityId, req: reqParams } = params;
130
- if (!entityId) {
131
- throw ("Entity ID is required.");
132
- }
133
- const cache = yield api.GetCacheItem(GetEntityCacheKey(entityId), reqParams);
134
- if (cache === null || cache === void 0 ? void 0 : cache.found) {
135
- return cache.data;
136
- }
137
- const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
138
- try {
139
- const data = yield api.GET(`entity/relation/${entityId}/dataentity`, api_1.Api.PrepReqParams(reqParams));
140
- res({
141
- relation: data
142
- });
143
- }
144
- catch (e) {
145
- rej(e);
146
- }
147
- }));
148
- yield api.SetCacheItem({
149
- key: GetEntityCacheKey(entityId),
150
- value: prom,
151
- req: reqParams
152
- });
153
- return prom;
154
- });
155
- }
156
- EntityRelation.GetByDataEntityId = GetByDataEntityId;
157
- })(EntityRelation = exports.EntityRelation || (exports.EntityRelation = {}));
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EntityRelation = void 0;
13
+ const api_1 = require("../api/api");
14
+ /**
15
+ * Describes the "Entity Relationship" concept within Bruce.
16
+ * An entity relationship is an arbitrary link between two entity records.
17
+ * The relationship can have a "data entity" linked to it as well for the relationship to store arbitrary data about itself.
18
+ */
19
+ var EntityRelation;
20
+ (function (EntityRelation) {
21
+ function GetCacheKey(entityA, entityB, typeId) {
22
+ return `${api_1.Api.ECacheKey.Relation}${api_1.Api.ECacheKey.Id}${entityA}${api_1.Api.ECacheKey.Id}${entityB}${api_1.Api.ECacheKey.Id}${typeId}`;
23
+ }
24
+ EntityRelation.GetCacheKey = GetCacheKey;
25
+ function GetEntityCacheKey(entityId) {
26
+ return api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + entityId;
27
+ }
28
+ EntityRelation.GetEntityCacheKey = GetEntityCacheKey;
29
+ function GetListCacheKey(entityId, params) {
30
+ return api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType +
31
+ api_1.Api.ECacheKey.Id + params.relationTypeId +
32
+ api_1.Api.ECacheKey.Id + params.oneWayOnly +
33
+ api_1.Api.ECacheKey.Id + params.loadEntityData +
34
+ api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + entityId;
35
+ }
36
+ EntityRelation.GetListCacheKey = GetListCacheKey;
37
+ function Create(params) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const { api, relation: data, req: reqParams } = params;
40
+ if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
41
+ throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
42
+ }
43
+ const reqData = {
44
+ "Related.Entity.ID": [data["Related.Entity.ID"]]
45
+ };
46
+ const url = `entity/${data["Principal.Entity.ID"]}/relation/${data["Relation.Type.ID"]}/add`;
47
+ yield api.POST(url, reqData, api_1.Api.PrepReqParams(reqParams));
48
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
49
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
50
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
51
+ if (data["Data.Entity.ID"]) {
52
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
53
+ }
54
+ });
55
+ }
56
+ EntityRelation.Create = Create;
57
+ function Delete(params) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ const { api, principalEntityId, relatedEntityId, relationTypeId, req: reqParams } = params;
60
+ if (!principalEntityId || !relatedEntityId || !relationTypeId) {
61
+ throw new Error("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
62
+ }
63
+ const url = `entity/${principalEntityId}/relation/${relationTypeId}/delete`;
64
+ yield api.POST(url, {
65
+ "Related.Entity.ID": [relatedEntityId]
66
+ }, api_1.Api.PrepReqParams(reqParams));
67
+ // Remove related cache entries
68
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + principalEntityId);
69
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + relatedEntityId);
70
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + relationTypeId);
71
+ });
72
+ }
73
+ EntityRelation.Delete = Delete;
74
+ function Update(params) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ const { api, relation: data, req: reqParams } = params;
77
+ if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
78
+ throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
79
+ }
80
+ const url = `entity/${data["Principal.Entity.ID"]}/otherEntityID/${data["Related.Entity.ID"]}/relation/${data["Relation.Type.ID"]}/update`;
81
+ const res = yield api.POST(url, data, api_1.Api.PrepReqParams(reqParams));
82
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
83
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
84
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
85
+ if (data["Data.Entity.ID"]) {
86
+ yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
87
+ }
88
+ });
89
+ }
90
+ EntityRelation.Update = Update;
91
+ function GetList(params) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ let { api, entityId, filter, req: reqParams } = params;
94
+ if (!entityId) {
95
+ throw ("Entity ID is required.");
96
+ }
97
+ filter = Object.assign({ relationTypeId: "", oneWayOnly: false, loadEntityData: false }, filter);
98
+ const cache = yield api.GetCacheItem(GetListCacheKey(entityId, filter), reqParams);
99
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
100
+ return cache.data;
101
+ }
102
+ const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
103
+ try {
104
+ let url = `entity/${entityId}/relations`;
105
+ if (filter.relationTypeId) {
106
+ url += "/" + filter.relationTypeId;
107
+ }
108
+ url += `?Oneway=${filter.oneWayOnly}&LoadInfo=${filter.loadEntityData}`;
109
+ const data = yield api.GET(url, api_1.Api.PrepReqParams(reqParams));
110
+ res({
111
+ relations: data.Items
112
+ });
113
+ }
114
+ catch (e) {
115
+ rej(e);
116
+ }
117
+ }));
118
+ yield api.SetCacheItem({
119
+ key: GetListCacheKey(entityId, filter),
120
+ value: req,
121
+ req: reqParams
122
+ });
123
+ return req;
124
+ });
125
+ }
126
+ EntityRelation.GetList = GetList;
127
+ function GetByDataEntityId(params) {
128
+ return __awaiter(this, void 0, void 0, function* () {
129
+ const { api, entityId, req: reqParams } = params;
130
+ if (!entityId) {
131
+ throw ("Entity ID is required.");
132
+ }
133
+ const cache = yield api.GetCacheItem(GetEntityCacheKey(entityId), reqParams);
134
+ if (cache === null || cache === void 0 ? void 0 : cache.found) {
135
+ return cache.data;
136
+ }
137
+ const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
138
+ try {
139
+ const data = yield api.GET(`entity/relation/${entityId}/dataentity`, api_1.Api.PrepReqParams(reqParams));
140
+ res({
141
+ relation: data
142
+ });
143
+ }
144
+ catch (e) {
145
+ rej(e);
146
+ }
147
+ }));
148
+ yield api.SetCacheItem({
149
+ key: GetEntityCacheKey(entityId),
150
+ value: prom,
151
+ req: reqParams
152
+ });
153
+ return prom;
154
+ });
155
+ }
156
+ EntityRelation.GetByDataEntityId = GetByDataEntityId;
157
+ })(EntityRelation = exports.EntityRelation || (exports.EntityRelation = {}));
158
158
  //# sourceMappingURL=entity-relation.js.map