bruce-models 1.9.8 → 1.9.9
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/dist/bruce-models.es5.js +20 -14
- package/dist/bruce-models.es5.js.map +1 -1
- package/dist/bruce-models.umd.js +20 -14
- package/dist/bruce-models.umd.js.map +1 -1
- package/dist/lib/account/account-settings.js +2 -2
- package/dist/lib/account/account.js +185 -185
- package/dist/lib/ann-document/ann-document.js +86 -86
- package/dist/lib/api/abstract-api.js +246 -246
- package/dist/lib/api/api-getters.js +134 -134
- package/dist/lib/api/api.js +93 -93
- package/dist/lib/api/bruce-api.js +216 -216
- package/dist/lib/api/cam-api.js +85 -82
- package/dist/lib/api/cam-api.js.map +1 -1
- package/dist/lib/api/global-api.js +81 -81
- package/dist/lib/api/idm-api.js +85 -82
- package/dist/lib/api/idm-api.js.map +1 -1
- package/dist/lib/bruce-models.js +86 -86
- package/dist/lib/calculator/calculator.js +341 -341
- package/dist/lib/client-file/client-file.js +245 -245
- package/dist/lib/common/bounds.js +61 -61
- package/dist/lib/common/bruce-event.js +46 -46
- package/dist/lib/common/bruce-variable.js +60 -60
- package/dist/lib/common/cache.js +165 -165
- package/dist/lib/common/camera.js +11 -11
- package/dist/lib/common/cartes.js +123 -123
- package/dist/lib/common/carto.js +60 -60
- package/dist/lib/common/color.js +86 -86
- package/dist/lib/common/delay-queue.js +56 -56
- package/dist/lib/common/dictionary.js +2 -2
- package/dist/lib/common/geometry.js +120 -120
- package/dist/lib/common/transform.js +2 -2
- package/dist/lib/common/utc.js +39 -39
- package/dist/lib/custom-form/custom-form-content.js +26 -26
- package/dist/lib/custom-form/custom-form.js +106 -106
- package/dist/lib/data-lab/data-lab.js +49 -49
- package/dist/lib/entity/entity-attachment-type.js +83 -83
- package/dist/lib/entity/entity-attachment.js +122 -122
- package/dist/lib/entity/entity-attribute.js +29 -29
- package/dist/lib/entity/entity-comment.js +82 -82
- package/dist/lib/entity/entity-coords.js +149 -149
- package/dist/lib/entity/entity-link.js +82 -82
- package/dist/lib/entity/entity-lod-category.js +100 -100
- package/dist/lib/entity/entity-lod.js +185 -185
- package/dist/lib/entity/entity-relation-type.js +109 -109
- package/dist/lib/entity/entity-relation.js +132 -132
- package/dist/lib/entity/entity-source.js +136 -136
- package/dist/lib/entity/entity-tag.js +149 -149
- package/dist/lib/entity/entity-type-visual-settings.js +13 -13
- package/dist/lib/entity/entity-type.js +113 -113
- package/dist/lib/entity/entity.js +319 -319
- package/dist/lib/entity/getters/batched-data-getter.js +84 -84
- package/dist/lib/entity/getters/entity-filter-getter.js +303 -303
- package/dist/lib/entity/getters/entity-globe.js +211 -211
- package/dist/lib/entity/getters/view-monitor.js +2 -2
- package/dist/lib/import/import-cad.js +53 -53
- package/dist/lib/import/import-csv.js +23 -23
- package/dist/lib/import/import-json.js +23 -23
- package/dist/lib/import/import-kml.js +23 -23
- package/dist/lib/import/imported-file.js +91 -91
- package/dist/lib/internal/uploader.js +76 -76
- package/dist/lib/markup/markup.js +185 -185
- package/dist/lib/plugin/plugin.js +83 -83
- package/dist/lib/program-key/program-key.js +111 -111
- package/dist/lib/project/menu-item.js +121 -121
- package/dist/lib/project/project-view-bookmark.js +147 -147
- package/dist/lib/project/project-view-legacy-tile.js +77 -77
- package/dist/lib/project/project-view-tile.js +125 -125
- package/dist/lib/project/project-view.js +133 -133
- package/dist/lib/project/zoom-control.js +17 -17
- package/dist/lib/server/message-broker.js +142 -142
- package/dist/lib/server/pending-action.js +71 -71
- package/dist/lib/server/task.js +63 -63
- package/dist/lib/style/style.js +117 -117
- package/dist/lib/tileset/tileset.js +415 -415
- package/dist/lib/user/permission.js +20 -20
- package/dist/lib/user/session.js +137 -137
- package/dist/lib/user/user-group.js +94 -94
- package/dist/lib/user/user.js +446 -446
- package/dist/lib/util/encrypt-utils.js +19 -19
- package/dist/lib/util/math-utils.js +40 -40
- package/dist/lib/util/object-utils.js +17 -17
- package/dist/lib/util/path-utils.js +61 -61
- package/dist/lib/util/url-utils.js +94 -94
- package/package.json +3 -2
|
@@ -1,110 +1,110 @@
|
|
|
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 cacheData = api.GetCacheItem(key, reqParams);
|
|
37
|
-
if (cacheData) {
|
|
38
|
-
return cacheData;
|
|
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
|
-
api.Cache.Set(key, prom, api_1.Api.DEFAULT_CACHE_DURATION);
|
|
52
|
-
return prom;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
EntityRelationType.Get = Get;
|
|
56
|
-
function Delete(params) {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
const { api, relationTypeId: typeId, req: reqParams } = params;
|
|
59
|
-
if (!typeId) {
|
|
60
|
-
throw ("Type ID is required.");
|
|
61
|
-
}
|
|
62
|
-
yield api.DELETE(`entityRelationType/${typeId}`, api_1.Api.PrepReqParams(reqParams));
|
|
63
|
-
api.Cache.Remove(GetCacheKey(typeId));
|
|
64
|
-
api.Cache.Remove(GetListCacheKey());
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
EntityRelationType.Delete = Delete;
|
|
68
|
-
function GetList(params) {
|
|
69
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
const { api, req: reqParams } = params;
|
|
71
|
-
const cacheData = api.GetCacheItem(GetListCacheKey(), reqParams);
|
|
72
|
-
if (cacheData) {
|
|
73
|
-
return cacheData;
|
|
74
|
-
}
|
|
75
|
-
const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
try {
|
|
77
|
-
const data = yield api.GET("entityRelationTypes", api_1.Api.PrepReqParams(reqParams));
|
|
78
|
-
res({
|
|
79
|
-
relationTypes: data.Items
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
catch (e) {
|
|
83
|
-
rej(e);
|
|
84
|
-
}
|
|
85
|
-
}));
|
|
86
|
-
api.Cache.Set(GetListCacheKey(), req);
|
|
87
|
-
return req;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
EntityRelationType.GetList = GetList;
|
|
91
|
-
function Update(params) {
|
|
92
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
const { api, relationType: data, req: reqParams } = params;
|
|
94
|
-
if (!(data === null || data === void 0 ? void 0 : data.ForwardName) || !(data === null || data === void 0 ? void 0 : data.ReverseName)) {
|
|
95
|
-
throw ("Forward and reverse names are required.");
|
|
96
|
-
}
|
|
97
|
-
if (!data.ID) {
|
|
98
|
-
data.ID = object_utils_1.ObjectUtils.UId();
|
|
99
|
-
}
|
|
100
|
-
const res = yield api.POST(`entityRelationType/${data.ID}`, data, api_1.Api.PrepReqParams(reqParams));
|
|
101
|
-
api.Cache.Remove(GetCacheKey(data.ID));
|
|
102
|
-
api.Cache.Remove(GetListCacheKey());
|
|
103
|
-
return {
|
|
104
|
-
relationType: res
|
|
105
|
-
};
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
EntityRelationType.Update = Update;
|
|
109
|
-
})(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 cacheData = api.GetCacheItem(key, reqParams);
|
|
37
|
+
if (cacheData) {
|
|
38
|
+
return cacheData;
|
|
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
|
+
api.Cache.Set(key, prom, api_1.Api.DEFAULT_CACHE_DURATION);
|
|
52
|
+
return prom;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
EntityRelationType.Get = Get;
|
|
56
|
+
function Delete(params) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const { api, relationTypeId: typeId, req: reqParams } = params;
|
|
59
|
+
if (!typeId) {
|
|
60
|
+
throw ("Type ID is required.");
|
|
61
|
+
}
|
|
62
|
+
yield api.DELETE(`entityRelationType/${typeId}`, api_1.Api.PrepReqParams(reqParams));
|
|
63
|
+
api.Cache.Remove(GetCacheKey(typeId));
|
|
64
|
+
api.Cache.Remove(GetListCacheKey());
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
EntityRelationType.Delete = Delete;
|
|
68
|
+
function GetList(params) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const { api, req: reqParams } = params;
|
|
71
|
+
const cacheData = api.GetCacheItem(GetListCacheKey(), reqParams);
|
|
72
|
+
if (cacheData) {
|
|
73
|
+
return cacheData;
|
|
74
|
+
}
|
|
75
|
+
const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
try {
|
|
77
|
+
const data = yield api.GET("entityRelationTypes", api_1.Api.PrepReqParams(reqParams));
|
|
78
|
+
res({
|
|
79
|
+
relationTypes: data.Items
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
rej(e);
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
api.Cache.Set(GetListCacheKey(), req);
|
|
87
|
+
return req;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
EntityRelationType.GetList = GetList;
|
|
91
|
+
function Update(params) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
const { api, relationType: data, req: reqParams } = params;
|
|
94
|
+
if (!(data === null || data === void 0 ? void 0 : data.ForwardName) || !(data === null || data === void 0 ? void 0 : data.ReverseName)) {
|
|
95
|
+
throw ("Forward and reverse names are required.");
|
|
96
|
+
}
|
|
97
|
+
if (!data.ID) {
|
|
98
|
+
data.ID = object_utils_1.ObjectUtils.UId();
|
|
99
|
+
}
|
|
100
|
+
const res = yield api.POST(`entityRelationType/${data.ID}`, data, api_1.Api.PrepReqParams(reqParams));
|
|
101
|
+
api.Cache.Remove(GetCacheKey(data.ID));
|
|
102
|
+
api.Cache.Remove(GetListCacheKey());
|
|
103
|
+
return {
|
|
104
|
+
relationType: res
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
EntityRelationType.Update = Update;
|
|
109
|
+
})(EntityRelationType = exports.EntityRelationType || (exports.EntityRelationType = {}));
|
|
110
110
|
//# sourceMappingURL=entity-relation-type.js.map
|
|
@@ -1,133 +1,133 @@
|
|
|
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
|
-
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
|
|
49
|
-
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
|
|
50
|
-
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
|
-
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 Update(params) {
|
|
58
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
const { api, relation: data, req: reqParams } = params;
|
|
60
|
-
if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
|
|
61
|
-
throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
|
|
62
|
-
}
|
|
63
|
-
const url = `entity/${data["Principal.Entity.ID"]}/otherEntityID/${data["Related.Entity.ID"]}/relation/${data["Relation.Type.ID"]}/update`;
|
|
64
|
-
const res = yield api.POST(url, data, api_1.Api.PrepReqParams(reqParams));
|
|
65
|
-
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
|
|
66
|
-
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
|
|
67
|
-
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
|
|
68
|
-
if (data["Data.Entity.ID"]) {
|
|
69
|
-
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
EntityRelation.Update = Update;
|
|
74
|
-
function GetList(params) {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
let { api, entityId, filter, req: reqParams } = params;
|
|
77
|
-
if (!entityId) {
|
|
78
|
-
throw ("Entity ID is required.");
|
|
79
|
-
}
|
|
80
|
-
filter = Object.assign({ relationTypeId: "", oneWayOnly: false, loadEntityData: false }, filter);
|
|
81
|
-
const cacheData = api.GetCacheItem(GetListCacheKey(entityId, filter), reqParams);
|
|
82
|
-
if (cacheData) {
|
|
83
|
-
return cacheData;
|
|
84
|
-
}
|
|
85
|
-
const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
try {
|
|
87
|
-
let url = `entity/${entityId}/relations`;
|
|
88
|
-
if (filter.relationTypeId) {
|
|
89
|
-
url += "/" + filter.relationTypeId;
|
|
90
|
-
}
|
|
91
|
-
url += `?Oneway=${filter.oneWayOnly}&LoadInfo=${filter.loadEntityData}`;
|
|
92
|
-
const data = yield api.GET(url, api_1.Api.PrepReqParams(reqParams));
|
|
93
|
-
res({
|
|
94
|
-
relations: data.Items
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
catch (e) {
|
|
98
|
-
rej(e);
|
|
99
|
-
}
|
|
100
|
-
}));
|
|
101
|
-
api.Cache.Set(GetListCacheKey(entityId, filter), req);
|
|
102
|
-
return req;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
EntityRelation.GetList = GetList;
|
|
106
|
-
function GetByDataEntityId(params) {
|
|
107
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
const { api, entityId, req: reqParams } = params;
|
|
109
|
-
if (!entityId) {
|
|
110
|
-
throw ("Entity ID is required.");
|
|
111
|
-
}
|
|
112
|
-
const cacheData = api.GetCacheItem(GetEntityCacheKey(entityId), reqParams);
|
|
113
|
-
if (cacheData) {
|
|
114
|
-
return cacheData;
|
|
115
|
-
}
|
|
116
|
-
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
try {
|
|
118
|
-
const data = yield api.GET(`entity/relation/${entityId}/dataentity`, api_1.Api.PrepReqParams(reqParams));
|
|
119
|
-
res({
|
|
120
|
-
relation: data
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
catch (e) {
|
|
124
|
-
rej(e);
|
|
125
|
-
}
|
|
126
|
-
}));
|
|
127
|
-
api.Cache.Set(GetEntityCacheKey(entityId), prom);
|
|
128
|
-
return prom;
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
EntityRelation.GetByDataEntityId = GetByDataEntityId;
|
|
132
|
-
})(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
|
+
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
|
|
49
|
+
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
|
|
50
|
+
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
|
+
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 Update(params) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const { api, relation: data, req: reqParams } = params;
|
|
60
|
+
if (!data["Principal.Entity.ID"] || !data["Related.Entity.ID"] || !data["Relation.Type.ID"]) {
|
|
61
|
+
throw ("Principal Entity ID, Related Entity ID, and Relation Type ID are required.");
|
|
62
|
+
}
|
|
63
|
+
const url = `entity/${data["Principal.Entity.ID"]}/otherEntityID/${data["Related.Entity.ID"]}/relation/${data["Relation.Type.ID"]}/update`;
|
|
64
|
+
const res = yield api.POST(url, data, api_1.Api.PrepReqParams(reqParams));
|
|
65
|
+
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Principal.Entity.ID"]);
|
|
66
|
+
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Id + data["Related.Entity.ID"]);
|
|
67
|
+
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.RelationType + api_1.Api.ECacheKey.Id + data["Relation.Type.ID"]);
|
|
68
|
+
if (data["Data.Entity.ID"]) {
|
|
69
|
+
api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Relation + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.Id + data["Data.Entity.ID"]);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
EntityRelation.Update = Update;
|
|
74
|
+
function GetList(params) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
let { api, entityId, filter, req: reqParams } = params;
|
|
77
|
+
if (!entityId) {
|
|
78
|
+
throw ("Entity ID is required.");
|
|
79
|
+
}
|
|
80
|
+
filter = Object.assign({ relationTypeId: "", oneWayOnly: false, loadEntityData: false }, filter);
|
|
81
|
+
const cacheData = api.GetCacheItem(GetListCacheKey(entityId, filter), reqParams);
|
|
82
|
+
if (cacheData) {
|
|
83
|
+
return cacheData;
|
|
84
|
+
}
|
|
85
|
+
const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
try {
|
|
87
|
+
let url = `entity/${entityId}/relations`;
|
|
88
|
+
if (filter.relationTypeId) {
|
|
89
|
+
url += "/" + filter.relationTypeId;
|
|
90
|
+
}
|
|
91
|
+
url += `?Oneway=${filter.oneWayOnly}&LoadInfo=${filter.loadEntityData}`;
|
|
92
|
+
const data = yield api.GET(url, api_1.Api.PrepReqParams(reqParams));
|
|
93
|
+
res({
|
|
94
|
+
relations: data.Items
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
rej(e);
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
101
|
+
api.Cache.Set(GetListCacheKey(entityId, filter), req);
|
|
102
|
+
return req;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
EntityRelation.GetList = GetList;
|
|
106
|
+
function GetByDataEntityId(params) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const { api, entityId, req: reqParams } = params;
|
|
109
|
+
if (!entityId) {
|
|
110
|
+
throw ("Entity ID is required.");
|
|
111
|
+
}
|
|
112
|
+
const cacheData = api.GetCacheItem(GetEntityCacheKey(entityId), reqParams);
|
|
113
|
+
if (cacheData) {
|
|
114
|
+
return cacheData;
|
|
115
|
+
}
|
|
116
|
+
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
try {
|
|
118
|
+
const data = yield api.GET(`entity/relation/${entityId}/dataentity`, api_1.Api.PrepReqParams(reqParams));
|
|
119
|
+
res({
|
|
120
|
+
relation: data
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
rej(e);
|
|
125
|
+
}
|
|
126
|
+
}));
|
|
127
|
+
api.Cache.Set(GetEntityCacheKey(entityId), prom);
|
|
128
|
+
return prom;
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
EntityRelation.GetByDataEntityId = GetByDataEntityId;
|
|
132
|
+
})(EntityRelation = exports.EntityRelation || (exports.EntityRelation = {}));
|
|
133
133
|
//# sourceMappingURL=entity-relation.js.map
|