bruce-models 0.6.4 → 0.6.6

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 (219) hide show
  1. package/README.md +0 -0
  2. package/dist/bruce-models.es5.js +13 -3
  3. package/dist/bruce-models.es5.js.map +1 -1
  4. package/dist/bruce-models.umd.js +13 -3
  5. package/dist/bruce-models.umd.js.map +1 -1
  6. package/dist/lib/account/account.js +240 -230
  7. package/dist/lib/account/account.js.map +1 -1
  8. package/dist/lib/ann-document/ann-document.js +116 -116
  9. package/dist/lib/ann-document/ann-document.js.map +0 -0
  10. package/dist/lib/api/abstract-api.js +267 -267
  11. package/dist/lib/api/abstract-api.js.map +0 -0
  12. package/dist/lib/api/api.js +85 -85
  13. package/dist/lib/api/api.js.map +0 -0
  14. package/dist/lib/api/bruce-api.js +140 -140
  15. package/dist/lib/api/bruce-api.js.map +0 -0
  16. package/dist/lib/api/cam-api.js +132 -132
  17. package/dist/lib/api/cam-api.js.map +0 -0
  18. package/dist/lib/api/global-api.js +131 -131
  19. package/dist/lib/api/global-api.js.map +0 -0
  20. package/dist/lib/api/idm-api.js +132 -132
  21. package/dist/lib/api/idm-api.js.map +0 -0
  22. package/dist/lib/bruce-models.js +78 -78
  23. package/dist/lib/bruce-models.js.map +0 -0
  24. package/dist/lib/calculator/calculator.js +158 -158
  25. package/dist/lib/calculator/calculator.js.map +0 -0
  26. package/dist/lib/client-file/client-file.js +185 -185
  27. package/dist/lib/client-file/client-file.js.map +0 -0
  28. package/dist/lib/common/bounds.js +2 -2
  29. package/dist/lib/common/bounds.js.map +0 -0
  30. package/dist/lib/common/bruce-event.js +48 -48
  31. package/dist/lib/common/bruce-event.js.map +0 -0
  32. package/dist/lib/common/bruce-variable.js +54 -54
  33. package/dist/lib/common/bruce-variable.js.map +0 -0
  34. package/dist/lib/common/cache.js +86 -86
  35. package/dist/lib/common/cache.js.map +0 -0
  36. package/dist/lib/common/camera.js +11 -11
  37. package/dist/lib/common/camera.js.map +0 -0
  38. package/dist/lib/common/cartes.js +55 -55
  39. package/dist/lib/common/cartes.js.map +0 -0
  40. package/dist/lib/common/carto.js +60 -60
  41. package/dist/lib/common/carto.js.map +0 -0
  42. package/dist/lib/common/color.js +86 -86
  43. package/dist/lib/common/color.js.map +0 -0
  44. package/dist/lib/common/delay-queue.js +60 -60
  45. package/dist/lib/common/delay-queue.js.map +0 -0
  46. package/dist/lib/common/dictionary.js +2 -2
  47. package/dist/lib/common/dictionary.js.map +0 -0
  48. package/dist/lib/common/geometry.js +120 -120
  49. package/dist/lib/common/geometry.js.map +0 -0
  50. package/dist/lib/common/transform.js +2 -2
  51. package/dist/lib/common/transform.js.map +0 -0
  52. package/dist/lib/common/utc.js +39 -39
  53. package/dist/lib/common/utc.js.map +0 -0
  54. package/dist/lib/custom-form/custom-form.js +136 -136
  55. package/dist/lib/custom-form/custom-form.js.map +0 -0
  56. package/dist/lib/data-lab/data-lab.js +90 -90
  57. package/dist/lib/data-lab/data-lab.js.map +0 -0
  58. package/dist/lib/entity/entity-attachment-type.js +132 -132
  59. package/dist/lib/entity/entity-attachment-type.js.map +0 -0
  60. package/dist/lib/entity/entity-attachment.js +208 -208
  61. package/dist/lib/entity/entity-attachment.js.map +0 -0
  62. package/dist/lib/entity/entity-comment.js +132 -132
  63. package/dist/lib/entity/entity-comment.js.map +0 -0
  64. package/dist/lib/entity/entity-link.js +132 -132
  65. package/dist/lib/entity/entity-link.js.map +0 -0
  66. package/dist/lib/entity/entity-lod.js +189 -189
  67. package/dist/lib/entity/entity-lod.js.map +1 -1
  68. package/dist/lib/entity/entity-relation-type.js +150 -150
  69. package/dist/lib/entity/entity-relation-type.js.map +0 -0
  70. package/dist/lib/entity/entity-relation.js +189 -189
  71. package/dist/lib/entity/entity-relation.js.map +0 -0
  72. package/dist/lib/entity/entity-source.js +176 -176
  73. package/dist/lib/entity/entity-source.js.map +0 -0
  74. package/dist/lib/entity/entity-tag.js +229 -229
  75. package/dist/lib/entity/entity-tag.js.map +0 -0
  76. package/dist/lib/entity/entity-type.js +163 -163
  77. package/dist/lib/entity/entity-type.js.map +0 -0
  78. package/dist/lib/entity/entity.js +349 -349
  79. package/dist/lib/entity/entity.js.map +0 -0
  80. package/dist/lib/entity/getters/batched-data-getter.js +91 -91
  81. package/dist/lib/entity/getters/batched-data-getter.js.map +0 -0
  82. package/dist/lib/entity/getters/entity-filter-getter.js +344 -344
  83. package/dist/lib/entity/getters/entity-filter-getter.js.map +0 -0
  84. package/dist/lib/entity/getters/entity-globe.js +135 -135
  85. package/dist/lib/entity/getters/entity-globe.js.map +0 -0
  86. package/dist/lib/entity/getters/view-monitor.js +2 -2
  87. package/dist/lib/entity/getters/view-monitor.js.map +0 -0
  88. package/dist/lib/import/imported-file.js +121 -121
  89. package/dist/lib/import/imported-file.js.map +0 -0
  90. package/dist/lib/markup/markup.js +40 -40
  91. package/dist/lib/markup/markup.js.map +0 -0
  92. package/dist/lib/program-key/program-key.js +152 -152
  93. package/dist/lib/program-key/program-key.js.map +0 -0
  94. package/dist/lib/project/menu-item.js +115 -115
  95. package/dist/lib/project/menu-item.js.map +0 -0
  96. package/dist/lib/project/project-view-bookmark.js +172 -172
  97. package/dist/lib/project/project-view-bookmark.js.map +0 -0
  98. package/dist/lib/project/project-view-tile-source.js +115 -115
  99. package/dist/lib/project/project-view-tile-source.js.map +0 -0
  100. package/dist/lib/project/project-view.js +166 -166
  101. package/dist/lib/project/project-view.js.map +0 -0
  102. package/dist/lib/project/zoom-control.js +17 -17
  103. package/dist/lib/project/zoom-control.js.map +0 -0
  104. package/dist/lib/server/pending-action.js +106 -106
  105. package/dist/lib/server/pending-action.js.map +0 -0
  106. package/dist/lib/server/task.js +113 -113
  107. package/dist/lib/server/task.js.map +0 -0
  108. package/dist/lib/style/style.js +152 -152
  109. package/dist/lib/style/style.js.map +0 -0
  110. package/dist/lib/tileset/tileset-cad.js +2 -2
  111. package/dist/lib/tileset/tileset-cad.js.map +0 -0
  112. package/dist/lib/tileset/tileset-entities-map-tiles.js +18 -18
  113. package/dist/lib/tileset/tileset-entities-map-tiles.js.map +0 -0
  114. package/dist/lib/tileset/tileset-entities.js +2 -2
  115. package/dist/lib/tileset/tileset-entities.js.map +0 -0
  116. package/dist/lib/tileset/tileset-ext-map-tiles.js +17 -17
  117. package/dist/lib/tileset/tileset-ext-map-tiles.js.map +0 -0
  118. package/dist/lib/tileset/tileset-ext-terrain-tiles.js +2 -2
  119. package/dist/lib/tileset/tileset-ext-terrain-tiles.js.map +0 -0
  120. package/dist/lib/tileset/tileset-map-tiles.js +2 -2
  121. package/dist/lib/tileset/tileset-map-tiles.js.map +0 -0
  122. package/dist/lib/tileset/tileset-pointcloud.js +2 -2
  123. package/dist/lib/tileset/tileset-pointcloud.js.map +0 -0
  124. package/dist/lib/tileset/tileset-terrain-tiles.js +2 -2
  125. package/dist/lib/tileset/tileset-terrain-tiles.js.map +0 -0
  126. package/dist/lib/tileset/tileset.js +397 -397
  127. package/dist/lib/tileset/tileset.js.map +0 -0
  128. package/dist/lib/ucs/ucs.js +135 -135
  129. package/dist/lib/ucs/ucs.js.map +0 -0
  130. package/dist/lib/user/permission.js +20 -20
  131. package/dist/lib/user/permission.js.map +0 -0
  132. package/dist/lib/user/session.js +160 -160
  133. package/dist/lib/user/session.js.map +0 -0
  134. package/dist/lib/user/user-group.js +139 -139
  135. package/dist/lib/user/user-group.js.map +0 -0
  136. package/dist/lib/user/user.js +451 -451
  137. package/dist/lib/user/user.js.map +0 -0
  138. package/dist/lib/util/encrypt-utils.js +20 -20
  139. package/dist/lib/util/encrypt-utils.js.map +0 -0
  140. package/dist/lib/util/math-utils.js +41 -41
  141. package/dist/lib/util/math-utils.js.map +0 -0
  142. package/dist/lib/util/object-utils.js +17 -17
  143. package/dist/lib/util/object-utils.js.map +0 -0
  144. package/dist/lib/util/path-utils.js +61 -61
  145. package/dist/lib/util/path-utils.js.map +0 -0
  146. package/dist/lib/util/url-utils.js +107 -107
  147. package/dist/lib/util/url-utils.js.map +0 -0
  148. package/dist/types/account/account.d.ts +6 -1
  149. package/dist/types/ann-document/ann-document.d.ts +0 -0
  150. package/dist/types/api/abstract-api.d.ts +0 -0
  151. package/dist/types/api/api.d.ts +0 -0
  152. package/dist/types/api/bruce-api.d.ts +0 -0
  153. package/dist/types/api/cam-api.d.ts +0 -0
  154. package/dist/types/api/global-api.d.ts +0 -0
  155. package/dist/types/api/idm-api.d.ts +0 -0
  156. package/dist/types/bruce-models.d.ts +0 -0
  157. package/dist/types/calculator/calculator.d.ts +0 -0
  158. package/dist/types/client-file/client-file.d.ts +0 -0
  159. package/dist/types/common/bounds.d.ts +0 -0
  160. package/dist/types/common/bruce-event.d.ts +0 -0
  161. package/dist/types/common/bruce-variable.d.ts +0 -0
  162. package/dist/types/common/cache.d.ts +0 -0
  163. package/dist/types/common/camera.d.ts +0 -0
  164. package/dist/types/common/cartes.d.ts +0 -0
  165. package/dist/types/common/carto.d.ts +0 -0
  166. package/dist/types/common/color.d.ts +0 -0
  167. package/dist/types/common/delay-queue.d.ts +0 -0
  168. package/dist/types/common/dictionary.d.ts +0 -0
  169. package/dist/types/common/geometry.d.ts +0 -0
  170. package/dist/types/common/transform.d.ts +0 -0
  171. package/dist/types/common/utc.d.ts +0 -0
  172. package/dist/types/custom-form/custom-form.d.ts +0 -0
  173. package/dist/types/data-lab/data-lab.d.ts +0 -0
  174. package/dist/types/entity/entity-attachment-type.d.ts +0 -0
  175. package/dist/types/entity/entity-attachment.d.ts +0 -0
  176. package/dist/types/entity/entity-comment.d.ts +0 -0
  177. package/dist/types/entity/entity-link.d.ts +0 -0
  178. package/dist/types/entity/entity-lod.d.ts +0 -0
  179. package/dist/types/entity/entity-relation-type.d.ts +0 -0
  180. package/dist/types/entity/entity-relation.d.ts +0 -0
  181. package/dist/types/entity/entity-source.d.ts +0 -0
  182. package/dist/types/entity/entity-tag.d.ts +0 -0
  183. package/dist/types/entity/entity-type.d.ts +0 -0
  184. package/dist/types/entity/entity.d.ts +0 -0
  185. package/dist/types/entity/getters/batched-data-getter.d.ts +0 -0
  186. package/dist/types/entity/getters/entity-filter-getter.d.ts +0 -0
  187. package/dist/types/entity/getters/entity-globe.d.ts +0 -0
  188. package/dist/types/entity/getters/view-monitor.d.ts +0 -0
  189. package/dist/types/import/imported-file.d.ts +0 -0
  190. package/dist/types/markup/markup.d.ts +0 -0
  191. package/dist/types/program-key/program-key.d.ts +0 -0
  192. package/dist/types/project/menu-item.d.ts +0 -0
  193. package/dist/types/project/project-view-bookmark.d.ts +0 -0
  194. package/dist/types/project/project-view-tile-source.d.ts +0 -0
  195. package/dist/types/project/project-view.d.ts +0 -0
  196. package/dist/types/project/zoom-control.d.ts +0 -0
  197. package/dist/types/server/pending-action.d.ts +0 -0
  198. package/dist/types/server/task.d.ts +0 -0
  199. package/dist/types/style/style.d.ts +0 -0
  200. package/dist/types/tileset/tileset-cad.d.ts +0 -0
  201. package/dist/types/tileset/tileset-entities-map-tiles.d.ts +0 -0
  202. package/dist/types/tileset/tileset-entities.d.ts +0 -0
  203. package/dist/types/tileset/tileset-ext-map-tiles.d.ts +0 -0
  204. package/dist/types/tileset/tileset-ext-terrain-tiles.d.ts +0 -0
  205. package/dist/types/tileset/tileset-map-tiles.d.ts +0 -0
  206. package/dist/types/tileset/tileset-pointcloud.d.ts +0 -0
  207. package/dist/types/tileset/tileset-terrain-tiles.d.ts +0 -0
  208. package/dist/types/tileset/tileset.d.ts +0 -0
  209. package/dist/types/ucs/ucs.d.ts +0 -0
  210. package/dist/types/user/permission.d.ts +0 -0
  211. package/dist/types/user/session.d.ts +0 -0
  212. package/dist/types/user/user-group.d.ts +0 -0
  213. package/dist/types/user/user.d.ts +0 -0
  214. package/dist/types/util/encrypt-utils.d.ts +0 -0
  215. package/dist/types/util/math-utils.d.ts +0 -0
  216. package/dist/types/util/object-utils.d.ts +0 -0
  217. package/dist/types/util/path-utils.d.ts +0 -0
  218. package/dist/types/util/url-utils.d.ts +0 -0
  219. package/package.json +1 -1
@@ -1,190 +1,190 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.EntityRelation = void 0;
51
- var api_1 = require("../api/api");
52
- /**
53
- * Describes the "Entity Relationship" concept within Bruce.
54
- * An entity relationship is an arbitrary link between two entity records.
55
- * The relationship can have a "data entity" linked to it as well for the relationship to store arbitrary data about itself.
56
- */
57
- var EntityRelation;
58
- (function (EntityRelation) {
59
- function GetCacheKey(entityA, entityB, typeId) {
60
- return "" + api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + entityA + api_1.Api.ECacheKey.Id + entityB + api_1.Api.ECacheKey.Id + typeId;
61
- }
62
- EntityRelation.GetCacheKey = GetCacheKey;
63
- function GetEntityCacheKey(entityId) {
64
- return api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + entityId;
65
- }
66
- EntityRelation.GetEntityCacheKey = GetEntityCacheKey;
67
- function GetListCacheKey(entityId, params) {
68
- return api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType +
69
- api_1.Api.ECacheKey.Id + params.typeId +
70
- api_1.Api.ECacheKey.Id + params.oneWayOnly +
71
- api_1.Api.ECacheKey.Id + params.loadEntityData +
72
- api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + entityId;
73
- }
74
- EntityRelation.GetListCacheKey = GetListCacheKey;
75
- function Create(api, data) {
76
- return __awaiter(this, void 0, void 0, function () {
77
- var reqData, url;
78
- return __generator(this, function (_a) {
79
- switch (_a.label) {
80
- case 0:
81
- if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
82
- throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
83
- }
84
- reqData = {
85
- "Related.Entity.ID": [data["Related.Entity.ID"]]
86
- };
87
- url = "entity/" + data["Principal.Entity.ID"] + "/relation/" + data["Relation.Type.ID"] + "/add";
88
- return [4 /*yield*/, api.POST(url, reqData, api_1.Api.PrepReqParams())];
89
- case 1:
90
- _a.sent();
91
- api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
92
- api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
93
- api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
94
- if (data["Data.Entity.ID"]) {
95
- api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
96
- }
97
- return [2 /*return*/];
98
- }
99
- });
100
- });
101
- }
102
- EntityRelation.Create = Create;
103
- function Update(api, data) {
104
- return __awaiter(this, void 0, void 0, function () {
105
- var url;
106
- return __generator(this, function (_a) {
107
- switch (_a.label) {
108
- case 0:
109
- if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
110
- throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
111
- }
112
- url = "entity/" + data["Principal.Entity.ID"] + "/otherEntityID/" + data["Related.Entity.ID"] + "/relation/" + data["Relation.Type.ID"] + "/update";
113
- return [4 /*yield*/, api.POST(url, data, api_1.Api.PrepReqParams())];
114
- case 1:
115
- data = _a.sent();
116
- api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
117
- api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
118
- api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
119
- if (data["Data.Entity.ID"]) {
120
- api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
121
- }
122
- return [2 /*return*/, data];
123
- }
124
- });
125
- });
126
- }
127
- EntityRelation.Update = Update;
128
- function GetList(api, entityId, params) {
129
- return __awaiter(this, void 0, void 0, function () {
130
- var cacheData, req;
131
- var _this = this;
132
- return __generator(this, function (_a) {
133
- if (!entityId) {
134
- throw ("Entity ID is required.");
135
- }
136
- params = __assign({ typeId: "", oneWayOnly: false, loadEntityData: false }, params);
137
- cacheData = api.Cache.Get(GetListCacheKey(entityId, params));
138
- if (cacheData) {
139
- return [2 /*return*/, cacheData];
140
- }
141
- req = new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {
142
- var url, data, e_1;
143
- return __generator(this, function (_a) {
144
- switch (_a.label) {
145
- case 0:
146
- _a.trys.push([0, 2, , 3]);
147
- url = "entity/" + entityId + "/relations";
148
- if (params.typeId) {
149
- url += "/" + params.typeId;
150
- }
151
- url += "?Oneway=" + params.oneWayOnly + "&LoadInfo=" + params.loadEntityData;
152
- return [4 /*yield*/, api.GET(url, api_1.Api.PrepReqParams())];
153
- case 1:
154
- data = _a.sent();
155
- res(data.Items);
156
- return [3 /*break*/, 3];
157
- case 2:
158
- e_1 = _a.sent();
159
- rej(e_1);
160
- return [3 /*break*/, 3];
161
- case 3: return [2 /*return*/];
162
- }
163
- });
164
- }); });
165
- api.Cache.Set(GetListCacheKey(entityId, params), req);
166
- return [2 /*return*/, req];
167
- });
168
- });
169
- }
170
- EntityRelation.GetList = GetList;
171
- function GetByDataEntityId(api, entityId) {
172
- return __awaiter(this, void 0, void 0, function () {
173
- var cacheData, req;
174
- return __generator(this, function (_a) {
175
- if (!entityId) {
176
- throw ("Entity ID is required.");
177
- }
178
- cacheData = api.Cache.Get(GetEntityCacheKey(entityId));
179
- if (cacheData) {
180
- return [2 /*return*/, cacheData];
181
- }
182
- req = api.GET("entity/relation/" + entityId + "/dataentity", api_1.Api.PrepReqParams());
183
- api.Cache.Set(GetEntityCacheKey(entityId), req);
184
- return [2 /*return*/, req];
185
- });
186
- });
187
- }
188
- EntityRelation.GetByDataEntityId = GetByDataEntityId;
189
- })(EntityRelation = exports.EntityRelation || (exports.EntityRelation = {}));
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.EntityRelation = void 0;
51
+ var api_1 = require("../api/api");
52
+ /**
53
+ * Describes the "Entity Relationship" concept within Bruce.
54
+ * An entity relationship is an arbitrary link between two entity records.
55
+ * The relationship can have a "data entity" linked to it as well for the relationship to store arbitrary data about itself.
56
+ */
57
+ var EntityRelation;
58
+ (function (EntityRelation) {
59
+ function GetCacheKey(entityA, entityB, typeId) {
60
+ return "" + api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + entityA + api_1.Api.ECacheKey.Id + entityB + api_1.Api.ECacheKey.Id + typeId;
61
+ }
62
+ EntityRelation.GetCacheKey = GetCacheKey;
63
+ function GetEntityCacheKey(entityId) {
64
+ return api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + entityId;
65
+ }
66
+ EntityRelation.GetEntityCacheKey = GetEntityCacheKey;
67
+ function GetListCacheKey(entityId, params) {
68
+ return api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType +
69
+ api_1.Api.ECacheKey.Id + params.typeId +
70
+ api_1.Api.ECacheKey.Id + params.oneWayOnly +
71
+ api_1.Api.ECacheKey.Id + params.loadEntityData +
72
+ api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + entityId;
73
+ }
74
+ EntityRelation.GetListCacheKey = GetListCacheKey;
75
+ function Create(api, data) {
76
+ return __awaiter(this, void 0, void 0, function () {
77
+ var reqData, url;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0:
81
+ if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
82
+ throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
83
+ }
84
+ reqData = {
85
+ "Related.Entity.ID": [data["Related.Entity.ID"]]
86
+ };
87
+ url = "entity/" + data["Principal.Entity.ID"] + "/relation/" + data["Relation.Type.ID"] + "/add";
88
+ return [4 /*yield*/, api.POST(url, reqData, api_1.Api.PrepReqParams())];
89
+ case 1:
90
+ _a.sent();
91
+ api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
92
+ api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
93
+ api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
94
+ if (data["Data.Entity.ID"]) {
95
+ api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
96
+ }
97
+ return [2 /*return*/];
98
+ }
99
+ });
100
+ });
101
+ }
102
+ EntityRelation.Create = Create;
103
+ function Update(api, data) {
104
+ return __awaiter(this, void 0, void 0, function () {
105
+ var url;
106
+ return __generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0:
109
+ if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
110
+ throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
111
+ }
112
+ url = "entity/" + data["Principal.Entity.ID"] + "/otherEntityID/" + data["Related.Entity.ID"] + "/relation/" + data["Relation.Type.ID"] + "/update";
113
+ return [4 /*yield*/, api.POST(url, data, api_1.Api.PrepReqParams())];
114
+ case 1:
115
+ data = _a.sent();
116
+ api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
117
+ api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
118
+ api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
119
+ if (data["Data.Entity.ID"]) {
120
+ api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
121
+ }
122
+ return [2 /*return*/, data];
123
+ }
124
+ });
125
+ });
126
+ }
127
+ EntityRelation.Update = Update;
128
+ function GetList(api, entityId, params) {
129
+ return __awaiter(this, void 0, void 0, function () {
130
+ var cacheData, req;
131
+ var _this = this;
132
+ return __generator(this, function (_a) {
133
+ if (!entityId) {
134
+ throw ("Entity ID is required.");
135
+ }
136
+ params = __assign({ typeId: "", oneWayOnly: false, loadEntityData: false }, params);
137
+ cacheData = api.Cache.Get(GetListCacheKey(entityId, params));
138
+ if (cacheData) {
139
+ return [2 /*return*/, cacheData];
140
+ }
141
+ req = new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {
142
+ var url, data, e_1;
143
+ return __generator(this, function (_a) {
144
+ switch (_a.label) {
145
+ case 0:
146
+ _a.trys.push([0, 2, , 3]);
147
+ url = "entity/" + entityId + "/relations";
148
+ if (params.typeId) {
149
+ url += "/" + params.typeId;
150
+ }
151
+ url += "?Oneway=" + params.oneWayOnly + "&LoadInfo=" + params.loadEntityData;
152
+ return [4 /*yield*/, api.GET(url, api_1.Api.PrepReqParams())];
153
+ case 1:
154
+ data = _a.sent();
155
+ res(data.Items);
156
+ return [3 /*break*/, 3];
157
+ case 2:
158
+ e_1 = _a.sent();
159
+ rej(e_1);
160
+ return [3 /*break*/, 3];
161
+ case 3: return [2 /*return*/];
162
+ }
163
+ });
164
+ }); });
165
+ api.Cache.Set(GetListCacheKey(entityId, params), req);
166
+ return [2 /*return*/, req];
167
+ });
168
+ });
169
+ }
170
+ EntityRelation.GetList = GetList;
171
+ function GetByDataEntityId(api, entityId) {
172
+ return __awaiter(this, void 0, void 0, function () {
173
+ var cacheData, req;
174
+ return __generator(this, function (_a) {
175
+ if (!entityId) {
176
+ throw ("Entity ID is required.");
177
+ }
178
+ cacheData = api.Cache.Get(GetEntityCacheKey(entityId));
179
+ if (cacheData) {
180
+ return [2 /*return*/, cacheData];
181
+ }
182
+ req = api.GET("entity/relation/" + entityId + "/dataentity", api_1.Api.PrepReqParams());
183
+ api.Cache.Set(GetEntityCacheKey(entityId), req);
184
+ return [2 /*return*/, req];
185
+ });
186
+ });
187
+ }
188
+ EntityRelation.GetByDataEntityId = GetByDataEntityId;
189
+ })(EntityRelation = exports.EntityRelation || (exports.EntityRelation = {}));
190
190
  //# sourceMappingURL=entity-relation.js.map
File without changes