bruce-models 0.3.1 → 0.3.2

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.
@@ -50,6 +50,10 @@ var EntityLod;
50
50
  return api_1.Api.ECacheKey.Lod + api_1.Api.ECacheKey.Id + url;
51
51
  }
52
52
  EntityLod.GetCacheKey = GetCacheKey;
53
+ function GetTypeListKey(typeId, group) {
54
+ return api_1.Api.ECacheKey.Lod + api_1.Api.ECacheKey.EntityType + typeId + api_1.Api.ECacheKey.Id + group;
55
+ }
56
+ EntityLod.GetTypeListKey = GetTypeListKey;
53
57
  function GetUrl(api, entityId, categoryId, level, strict) {
54
58
  if (!entityId) {
55
59
  throw ("Entity ID is required.");
@@ -123,5 +127,50 @@ var EntityLod;
123
127
  });
124
128
  }
125
129
  EntityLod.GetLods = GetLods;
130
+ /**
131
+ * Returns lods for a specified entity type.
132
+ * @param api
133
+ * @param typeId
134
+ * @param group default is "DEFAULT".
135
+ */
136
+ function GetTypeLods(api, typeId, group) {
137
+ return __awaiter(this, void 0, void 0, function () {
138
+ var cacheData, url, req, prom;
139
+ var _this = this;
140
+ return __generator(this, function (_a) {
141
+ if (!group) {
142
+ group = "DEFAULT";
143
+ }
144
+ cacheData = api.Cache.Get(GetTypeListKey(typeId, group));
145
+ if (cacheData) {
146
+ return [2 /*return*/, cacheData];
147
+ }
148
+ url = "entityType/" + typeId + "/lods?includeClientFiles=yes" + (group ? "&group=" + group : "");
149
+ req = api.GET(url, api_1.Api.PrepReqParams());
150
+ prom = new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {
151
+ var data, e_2;
152
+ return __generator(this, function (_a) {
153
+ switch (_a.label) {
154
+ case 0:
155
+ _a.trys.push([0, 2, , 3]);
156
+ return [4 /*yield*/, req];
157
+ case 1:
158
+ data = _a.sent();
159
+ res(data.Items);
160
+ return [3 /*break*/, 3];
161
+ case 2:
162
+ e_2 = _a.sent();
163
+ rej(e_2);
164
+ return [3 /*break*/, 3];
165
+ case 3: return [2 /*return*/];
166
+ }
167
+ });
168
+ }); });
169
+ api.Cache.Set(GetTypeListKey(typeId, group), prom, api_1.Api.DEFAULT_CACHE_DURATION);
170
+ return [2 /*return*/, prom];
171
+ });
172
+ });
173
+ }
174
+ EntityLod.GetTypeLods = GetTypeLods;
126
175
  })(EntityLod = exports.EntityLod || (exports.EntityLod = {}));
127
176
  //# sourceMappingURL=entity-lod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-lod.js","sourceRoot":"","sources":["../../../src/entity/entity-lod.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAiC;AAGjC;;;;;GAKG;AACH,IAAiB,SAAS,CA8EzB;AA9ED,WAAiB,SAAS;IACtB,SAAgB,WAAW,CAAC,GAAW;QACnC,OAAO,SAAG,CAAC,SAAS,CAAC,GAAG,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC;IACtD,CAAC;IAFe,qBAAW,cAE1B,CAAA;IASD,SAAgB,MAAM,CAAC,GAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,KAAa,EAAE,MAAgB;QACvG,IAAI,CAAC,QAAQ,EAAE;YACX,MAAK,CAAC,wBAAwB,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,KAAK,CAAC;SACtB;QACD,IAAI,CAAC,KAAK,EAAE;YACR,KAAK,GAAG,CAAC,CAAC;SACb;QACD,IAAI,GAAG,GAAW,GAAG,CAAC,UAAU,EAAE,IAAG,YAAU,QAAQ,aAAQ,UAAU,SAAI,KAAO,CAAA,CAAC;QACrF,IAAI,MAAM,EAAE;YACR,GAAG,GAAG,GAAG,GAAG,cAAc,CAAC;SAC9B;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAfe,gBAAM,SAerB,CAAA;IAED,SAAsB,YAAY,CAAC,GAAa,EAAE,GAAW;;;;;gBACzD,IAAI,CAAC,GAAG,EAAE;oBACN,MAAK,CAAC,kBAAkB,CAAC,CAAC;iBAC7B;gBACK,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClD,IAAI,SAAS,EAAE;oBACX,sBAAO,SAAS,EAAC;iBACpB;gBACK,GAAG,GAAoB,IAAI,OAAO,CAAC,UAAO,GAAG,EAAE,GAAG;;;;;;gCAE3B,qBAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,SAAG,CAAC,aAAa,EAAE,CAAC,EAAA;;gCAAtD,MAAM,GAAS,SAAuC;gCAC5D,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;;;;gCAG7B,GAAG,CAAC,GAAC,CAAC,CAAC;;;;;qBAEd,CAAC,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,SAAG,CAAC,sBAAsB,CAAC,CAAC;gBACjE,sBAAO,GAAG,EAAC;;;KACd;IAnBqB,sBAAY,eAmBjC,CAAA;IAED,SAAsB,OAAO,CAAC,GAAa,EAAE,MAA0B;;;;;;;wBACnE,IAAI,QAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,CAAA,EAAE;4BACxB,MAAK,CAAC,qBAAqB,CAAC,CAAC;yBAChC;wBACY,qBAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAA;;wBAA/C,IAAI,GAAG,SAAwC;wBACrD,sBAAO,IAAI,CAAC,KAAK,EAAC;;;;KACrB;IANqB,iBAAO,UAM5B,CAAA;AAsBL,CAAC,EA9EgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA8EzB"}
1
+ {"version":3,"file":"entity-lod.js","sourceRoot":"","sources":["../../../src/entity/entity-lod.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { BruceApi } from "../bruce-models";
1
+ import { BruceApi } from "../api/bruce-api";
2
+ import { ClientFile } from "../file/client-file";
2
3
  /**
3
4
  * Describes the "Entity LOD" concept within Bruce.
4
5
  * LOD stands for Level of Detail.
@@ -7,15 +8,25 @@ import { BruceApi } from "../bruce-models";
7
8
  */
8
9
  export declare namespace EntityLod {
9
10
  function GetCacheKey(url: string): string;
11
+ function GetTypeListKey(typeId: string, group: string): string;
10
12
  interface ILod {
13
+ ClientFile?: ClientFile.IClientFile;
11
14
  "ClientFile.ID": string;
12
15
  "Entity.ID": string;
13
16
  "LODCategory.Key": string;
14
17
  Level: number;
18
+ Group?: string;
15
19
  }
16
20
  function GetUrl(api: BruceApi, entityId: string, categoryId: string, level: number, strict?: boolean): string;
17
21
  function GetUrlFileId(api: BruceApi, url: string): Promise<string>;
18
22
  function GetLods(api: BruceApi, params: Filter.IListParams): Promise<Filter.IListResItem[]>;
23
+ /**
24
+ * Returns lods for a specified entity type.
25
+ * @param api
26
+ * @param typeId
27
+ * @param group default is "DEFAULT".
28
+ */
29
+ function GetTypeLods(api: BruceApi, typeId: string, group?: string): Promise<ILod[]>;
19
30
  namespace Filter {
20
31
  interface IListParamsItem {
21
32
  "entityId": string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-models",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-models.umd.js",