bruce-models 7.1.74 → 7.1.76

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.
@@ -64,6 +64,9 @@ var Api;
64
64
  ECacheKey["EntityHistoricData"] = "entityhistoricdata";
65
65
  ECacheKey["EntityHistoricDataRec"] = "entityhistoricdatarec";
66
66
  ECacheKey["EntityHistoricDataStats"] = "entityhistoricdatastats";
67
+ ECacheKey["EntityHistoricDataSeries"] = "entityhistoricdataseries";
68
+ ECacheKey["EntityHistoricDataAnalysis"] = "entityhistoricdataanalysis";
69
+ ECacheKey["EntityHistoricDataPage"] = "entityhistoricdatapage";
67
70
  ECacheKey["AccountLimits"] = "accountlimits";
68
71
  })(ECacheKey = Api.ECacheKey || (Api.ECacheKey = {}));
69
72
  // 1 minute.
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/api.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,IAAiB,GAAG,CAmKnB;AAnKD,WAAiB,GAAG;IAChB;;;OAGG;IACH,IAAY,SAsDX;IAtDD,WAAY,SAAS;QACjB,qBAAQ,CAAA;QACR,0BAAa,CAAA;QACb,6BAAgB,CAAA;QAChB,kCAAqB,CAAA;QACrB,8BAAiB,CAAA;QACjB,sCAAyB,CAAA;QACzB,kCAAqB,CAAA;QACrB,oDAAuC,CAAA;QACvC,kCAAqB,CAAA;QACrB,wCAA2B,CAAA;QAC3B,+CAAkC,CAAA;QAClC,gCAAmB,CAAA;QACnB,sCAAyB,CAAA;QACzB,gEAAmD,CAAA;QACnD,qEAAwD,CAAA;QACxD,mEAAsD,CAAA;QACtD,2DAA8C,CAAA;QAC9C,gCAAmB,CAAA;QACnB,4CAA+B,CAAA;QAC/B,0CAA6B,CAAA;QAC7B,sCAAyB,CAAA;QACzB,sCAAyB,CAAA;QACzB,0CAA6B,CAAA;QAC7B,wBAAW,CAAA;QACX,sCAAyB,CAAA;QACzB,gCAAmB,CAAA;QACnB,0BAAa,CAAA;QACb,wCAA2B,CAAA;QAC3B,8CAAiC,CAAA;QACjC,kCAAqB,CAAA;QACrB,0CAA6B,CAAA;QAC7B,wBAAW,CAAA;QACX,wCAA2B,CAAA;QAC3B,4BAAe,CAAA;QACf,8CAAiC,CAAA;QACjC,4CAA+B,CAAA;QAC/B,0BAAa,CAAA;QACb,0CAA6B,CAAA;QAC7B,oCAAuB,CAAA;QACvB,wCAA2B,CAAA;QAC3B,oCAAuB,CAAA;QACvB,gCAAmB,CAAA;QACnB,gDAAmC,CAAA;QACnC,8CAAiC,CAAA;QACjC,sCAAyB,CAAA;QACzB,0CAA6B,CAAA;QAC7B,kCAAqB,CAAA;QACrB,8BAAiB,CAAA;QACjB,gDAAmC,CAAA;QACnC,sDAAyC,CAAA;QACzC,4DAA+C,CAAA;QAC/C,gEAAmD,CAAA;QACnD,4CAA+B,CAAA;IACnC,CAAC,EAtDW,SAAS,GAAT,aAAS,KAAT,aAAS,QAsDpB;IAED,YAAY;IACD,0BAAsB,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9C,gFAAgF;IACrE,uBAAmB,GAAG,UAAU,CAAC;IAC/B,oBAAgB,GAAG,YAAY,CAAC;IAC7C,gCAAgC;IACnB,uBAAmB,GAAG,gBAAgB,CAAC;IAEpD;;;OAGG;IACH,IAAY,IAUX;IAVD,WAAY,IAAI;QACZ,uDAAuD;QACvD,mBAAW,CAAA;QACX,wBAAwB;QACxB,uDAAuD;QACvD,mBAAW,CAAA;QACX,mCAAmC;QACnC,mBAAW,CAAA;QACX,qCAAqC;QACrC,qBAAa,CAAA;IACjB,CAAC,EAVW,IAAI,GAAJ,QAAI,KAAJ,QAAI,QAUf;IAED,sDAAsD;IAC3C,oBAAgB,GAAG,KAAK,CAAC;IAEpC;;;;OAIG;IACH,SAAgB,MAAM,CAAC,GAAW;QAC9B,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IAFe,UAAM,SAErB,CAAA;IAWD,IAAY,UAIX;IAJD,WAAY,UAAU;QAClB,2CAAQ,CAAA;QACR,yCAAO,CAAA;QACP,4CAAS,CAAA;IACb,CAAC,EAJW,UAAU,GAAV,cAAU,KAAV,cAAU,QAIrB;IAED,IAAY,aAGX;IAHD,WAAY,aAAa;QACrB,4BAAW,CAAA;QACX,8BAAa,CAAA;IACjB,CAAC,EAHW,aAAa,GAAb,iBAAa,KAAb,iBAAa,QAGxB;IAED;;OAEG;IACH,IAAY,SAKX;IALD,WAAY,SAAS;QACjB,WAAW;QACX,2BAAc,CAAA;QACd,mDAAmD;QACnD,+BAAkB,CAAA;IACtB,CAAC,EALW,SAAS,GAAT,aAAS,KAAT,aAAS,QAKpB;IAgBD;;;;;OAKG;IACH,SAAgB,aAAa,CAAC,IAAwC;QAClE,IAAI,qBACG,IAAI,CACV,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IALe,iBAAa,gBAK5B,CAAA;AAWL,CAAC,EAnKgB,GAAG,GAAH,WAAG,KAAH,WAAG,QAmKnB"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/api.ts"],"names":[],"mappings":"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"}
@@ -127,5 +127,5 @@ __exportStar(require("./util/object-utils"), exports);
127
127
  __exportStar(require("./util/path-utils"), exports);
128
128
  __exportStar(require("./util/url-utils"), exports);
129
129
  // This is updated with the package.json version on build.
130
- exports.VERSION = "7.1.74";
130
+ exports.VERSION = "7.1.76";
131
131
  //# sourceMappingURL=bruce-models.js.map
@@ -16,9 +16,16 @@ const path_utils_1 = require("../util/path-utils");
16
16
  const entity_1 = require("./entity");
17
17
  var EntityHistoricData;
18
18
  (function (EntityHistoricData) {
19
+ // How long a v3 historic read stays good when the caller says the data is not changing under it.
20
+ // Historic records for a past range are immutable until something writes, and a write invalidates
21
+ // through ClearCacheByEntityIds, so holding them is safe rather than merely convenient.
22
+ EntityHistoricData.STATIC_CACHE_DURATION = 15 * 60 * 1000;
23
+ // The live case genuinely gains records as it runs, so it keeps a short window.
24
+ EntityHistoricData.LIVE_CACHE_DURATION = 30 * 1000;
19
25
  /**
20
26
  * Returns historic data for an array of Entity IDs.
21
27
  * A maximum number of records will be returned per Entity ID, this information is returned in the response.
28
+ * @deprecated Don't use.
22
29
  * @param params
23
30
  * @returns
24
31
  */
@@ -114,6 +121,7 @@ var EntityHistoricData;
114
121
  EntityHistoricData.GetList = GetList;
115
122
  /**
116
123
  * Returns historic data statistics for an array of Entity IDs.
124
+ * @deprecated Don't use.
117
125
  * @param params
118
126
  * @returns
119
127
  */
@@ -153,6 +161,7 @@ var EntityHistoricData;
153
161
  /**
154
162
  * Creates or updates historic data records.
155
163
  * Please note that the expected input/output does not include internal fields found inside the "Bruce" attribute.
164
+ * @deprecated Don't use.
156
165
  * @param params
157
166
  * @returns
158
167
  */
@@ -190,6 +199,7 @@ var EntityHistoricData;
190
199
  /**
191
200
  * Deletes historic data records for an array of Entity IDs.
192
201
  * This deletes all records within a provided key + range.
202
+ * @deprecated Don't use.
193
203
  * @param params
194
204
  * @returns
195
205
  */
@@ -223,6 +233,388 @@ var EntityHistoricData;
223
233
  });
224
234
  }
225
235
  EntityHistoricData.Delete = Delete;
236
+ /*
237
+ * Returns how long a read may be held, based on whether the caller is tracking live data.
238
+ */
239
+ function CacheDurationFor(live) {
240
+ return live === false ? EntityHistoricData.STATIC_CACHE_DURATION : EntityHistoricData.LIVE_CACHE_DURATION;
241
+ }
242
+ /*
243
+ * Shared body for the v3 historic reads, which all post to the same route.
244
+ */
245
+ function BuildV3Filter(params) {
246
+ const { entityIds, entityTypeId, attrKey, dateTimeFrom, dateTimeTo, scenario } = params;
247
+ const body = {};
248
+ if (entityIds === null || entityIds === void 0 ? void 0 : entityIds.length) {
249
+ body["Entity.ID"] = entityIds;
250
+ }
251
+ if (entityTypeId) {
252
+ body["EntityType.ID"] = entityTypeId;
253
+ }
254
+ if (attrKey) {
255
+ body["AttrKey"] = typeof attrKey == "string" ? attrKey : path_utils_1.PathUtils.Wrap(attrKey);
256
+ }
257
+ if (dateTimeFrom) {
258
+ body["DateTimeFrom"] = dateTimeFrom;
259
+ }
260
+ if (dateTimeTo) {
261
+ body["DateTimeTo"] = dateTimeTo;
262
+ }
263
+ if (scenario) {
264
+ body["Scenario"] = scenario;
265
+ }
266
+ return body;
267
+ }
268
+ /**
269
+ * Returns a histogram of where historic records sit in time, without returning the records.
270
+ * Answers "when does this data exist" for a timeline in one request, at a cost that does not grow with the number of records.
271
+ * @param params
272
+ * @returns
273
+ */
274
+ function GetAnalysis(params) {
275
+ return __awaiter(this, void 0, void 0, function* () {
276
+ let { entityIds, entityTypeId, buckets, api, req } = params;
277
+ if (!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length) && !entityTypeId) {
278
+ return { analysis: [] };
279
+ }
280
+ if (!api) {
281
+ api = environment_1.ENVIRONMENT.Api().GetBruceApi();
282
+ }
283
+ req = api_1.Api.PrepReqParams(req);
284
+ const body = BuildV3Filter(params);
285
+ body["Analysis"] = true;
286
+ if (buckets > 0) {
287
+ body["Buckets"] = buckets;
288
+ }
289
+ const cacheKey = api_1.Api.ECacheKey.EntityHistoricDataAnalysis + api_1.Api.ECacheKey.Id + JSON.stringify(body);
290
+ const cached = api.GetCacheItem(cacheKey, req);
291
+ if (cached === null || cached === void 0 ? void 0 : cached.found) {
292
+ return cached.data;
293
+ }
294
+ const prom = api.POST("v3/entities/getHistoric", body, req).then((res) => {
295
+ return { analysis: ((res === null || res === void 0 ? void 0 : res.Items) || []) };
296
+ });
297
+ api.SetCacheItem({
298
+ key: cacheKey,
299
+ value: prom,
300
+ req: req,
301
+ duration: CacheDurationFor(params.live)
302
+ });
303
+ return prom;
304
+ });
305
+ }
306
+ EntityHistoricData.GetAnalysis = GetAnalysis;
307
+ /**
308
+ * Returns the date range and record count per attribute key, in the shape GetStats returns.
309
+ * Prefer GetAnalysis directly, which also carries the distribution.
310
+ * @param params
311
+ * @returns
312
+ */
313
+ function GetRanges(params) {
314
+ return __awaiter(this, void 0, void 0, function* () {
315
+ // One bucket, since the distribution costs work to build and no caller of this reads it.
316
+ const { analysis } = yield GetAnalysis(Object.assign(Object.assign({}, params), { buckets: 1 }));
317
+ return {
318
+ stats: (analysis || []).map(a => ({
319
+ attrKey: a.AttrKey,
320
+ dateTimeMin: a.DateTimeMin,
321
+ dateTimeMax: a.DateTimeMax,
322
+ count: a.Count
323
+ }))
324
+ };
325
+ });
326
+ }
327
+ EntityHistoricData.GetRanges = GetRanges;
328
+ /**
329
+ * Returns a numeric attribute aggregated into time buckets, computed in the database.
330
+ * This is what a chart wants: the reduction happens server-side, so the response is the size of
331
+ * the plotted series rather than the size of the underlying records.
332
+ * @param params
333
+ * @returns
334
+ */
335
+ function GetSeries(params) {
336
+ return __awaiter(this, void 0, void 0, function* () {
337
+ let { entityIds, entityTypeId, valueAttrKey, aggregate, interval, api, req } = params;
338
+ const empty = {
339
+ AttrKey: null,
340
+ Aggregate: aggregate || "avg",
341
+ Interval: interval || "day",
342
+ DateTimeMin: null,
343
+ DateTimeMax: null,
344
+ PointCount: 0,
345
+ Points: []
346
+ };
347
+ if ((!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length) && !entityTypeId) || !valueAttrKey) {
348
+ return { series: empty };
349
+ }
350
+ if (!api) {
351
+ api = environment_1.ENVIRONMENT.Api().GetBruceApi();
352
+ }
353
+ req = api_1.Api.PrepReqParams(req);
354
+ const body = BuildV3Filter(params);
355
+ body["Select"] = { Type: "CALC" };
356
+ body["selectAttrKey"] = typeof valueAttrKey == "string" ? valueAttrKey : path_utils_1.PathUtils.Wrap(valueAttrKey);
357
+ if (aggregate) {
358
+ body["aggregate"] = aggregate;
359
+ }
360
+ if (interval) {
361
+ body["interval"] = interval;
362
+ }
363
+ const cacheKey = api_1.Api.ECacheKey.EntityHistoricDataSeries + api_1.Api.ECacheKey.Id + JSON.stringify(body);
364
+ const cached = api.GetCacheItem(cacheKey, req);
365
+ if (cached === null || cached === void 0 ? void 0 : cached.found) {
366
+ return cached.data;
367
+ }
368
+ const prom = api.POST("v3/entities/getHistoric", body, req).then((res) => {
369
+ var _a;
370
+ return { series: (((_a = res === null || res === void 0 ? void 0 : res.Items) === null || _a === void 0 ? void 0 : _a[0]) || empty) };
371
+ });
372
+ api.SetCacheItem({
373
+ key: cacheKey,
374
+ value: prom,
375
+ req: req,
376
+ duration: CacheDurationFor(params.live)
377
+ });
378
+ return prom;
379
+ });
380
+ }
381
+ EntityHistoricData.GetSeries = GetSeries;
382
+ /**
383
+ * Returns one aggregated series per Entity, computed in the database in a single request.
384
+ * @param params
385
+ * @returns
386
+ */
387
+ function GetSeriesByEntity(params) {
388
+ return __awaiter(this, void 0, void 0, function* () {
389
+ let { entityIds, entityTypeId, valueAttrKey, aggregate, interval, api, req } = params;
390
+ if ((!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length) && !entityTypeId) || !valueAttrKey) {
391
+ return { seriesByIds: {} };
392
+ }
393
+ if (!api) {
394
+ api = environment_1.ENVIRONMENT.Api().GetBruceApi();
395
+ }
396
+ req = api_1.Api.PrepReqParams(req);
397
+ const body = BuildV3Filter(params);
398
+ body["Select"] = { Type: "CALC" };
399
+ body["selectAttrKey"] = typeof valueAttrKey == "string" ? valueAttrKey : path_utils_1.PathUtils.Wrap(valueAttrKey);
400
+ body["GroupBy"] = "Entity";
401
+ if (aggregate) {
402
+ body["aggregate"] = aggregate;
403
+ }
404
+ if (interval) {
405
+ body["interval"] = interval;
406
+ }
407
+ const cacheKey = api_1.Api.ECacheKey.EntityHistoricDataSeries + api_1.Api.ECacheKey.Id + JSON.stringify(body);
408
+ const cached = api.GetCacheItem(cacheKey, req);
409
+ if (cached === null || cached === void 0 ? void 0 : cached.found) {
410
+ return cached.data;
411
+ }
412
+ const prom = api.POST("v3/entities/getHistoric", body, req).then((res) => {
413
+ const seriesByIds = {};
414
+ for (const series of ((res === null || res === void 0 ? void 0 : res.Items) || [])) {
415
+ const entityId = series === null || series === void 0 ? void 0 : series["Entity.ID"];
416
+ if (entityId) {
417
+ seriesByIds[entityId] = series;
418
+ }
419
+ }
420
+ return { seriesByIds };
421
+ });
422
+ api.SetCacheItem({
423
+ key: cacheKey,
424
+ value: prom,
425
+ req: req,
426
+ duration: CacheDurationFor(params.live)
427
+ });
428
+ return prom;
429
+ });
430
+ }
431
+ EntityHistoricData.GetSeriesByEntity = GetSeriesByEntity;
432
+ /**
433
+ * Returns one page of historic records, newest first by default.
434
+ * @param params
435
+ * @returns
436
+ */
437
+ function GetPage(params) {
438
+ return __awaiter(this, void 0, void 0, function* () {
439
+ let { entityIds, entityTypeId, pageIndex, pageSize, orderBy, orderDir, api, req } = params;
440
+ if (!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length) && !entityTypeId) {
441
+ return { items: [], pageIndex: 0, pageSize: 0, sample: 0 };
442
+ }
443
+ if (!api) {
444
+ api = environment_1.ENVIRONMENT.Api().GetBruceApi();
445
+ }
446
+ req = api_1.Api.PrepReqParams(req);
447
+ const body = BuildV3Filter(params);
448
+ if (params.sample > 0) {
449
+ body["Sample"] = params.sample;
450
+ }
451
+ else {
452
+ body["PageIndex"] = pageIndex > 0 ? pageIndex : 0;
453
+ if (pageSize > 0) {
454
+ body["PageSize"] = pageSize;
455
+ }
456
+ }
457
+ if (orderBy) {
458
+ body["OrderBy"] = orderBy;
459
+ }
460
+ if (orderDir) {
461
+ body["OrderDir"] = orderDir;
462
+ }
463
+ const cacheKey = api_1.Api.ECacheKey.EntityHistoricDataPage + api_1.Api.ECacheKey.Id + JSON.stringify(body);
464
+ const cached = api.GetCacheItem(cacheKey, req);
465
+ if (cached === null || cached === void 0 ? void 0 : cached.found) {
466
+ return cached.data;
467
+ }
468
+ const prom = api.POST("v3/entities/getHistoric", body, req).then((res) => {
469
+ var _a, _b, _c;
470
+ return {
471
+ items: (res === null || res === void 0 ? void 0 : res.Items) || [],
472
+ pageIndex: (_a = res === null || res === void 0 ? void 0 : res.PageIndex) !== null && _a !== void 0 ? _a : 0,
473
+ pageSize: (_b = res === null || res === void 0 ? void 0 : res.PageSize) !== null && _b !== void 0 ? _b : 0,
474
+ sample: (_c = res === null || res === void 0 ? void 0 : res.Sample) !== null && _c !== void 0 ? _c : 0
475
+ };
476
+ });
477
+ api.SetCacheItem({
478
+ key: cacheKey,
479
+ value: prom,
480
+ req: req,
481
+ duration: CacheDurationFor(params.live)
482
+ });
483
+ return prom;
484
+ });
485
+ }
486
+ EntityHistoricData.GetPage = GetPage;
487
+ /*
488
+ * Converts a v3 record into the flatter shape the render engines consume.
489
+ */
490
+ function ToDataRecord(record) {
491
+ const entity = (record === null || record === void 0 ? void 0 : record.Entity) || {};
492
+ const bruce = entity.Bruce || {};
493
+ const data = Object.assign({}, entity);
494
+ delete data.Bruce;
495
+ return {
496
+ attrKey: record === null || record === void 0 ? void 0 : record.AttrKey,
497
+ dateTime: record === null || record === void 0 ? void 0 : record.DateTime,
498
+ entityId: record === null || record === void 0 ? void 0 : record["Entity.ID"],
499
+ data: data,
500
+ location: bruce.Location,
501
+ transform: bruce.Transform,
502
+ boundaries: bruce.Boundaries,
503
+ geometry: bruce.VectorGeometry
504
+ };
505
+ }
506
+ EntityHistoricData.ToDataRecord = ToDataRecord;
507
+ /**
508
+ * Returns records grouped per Entity.
509
+ * @param params
510
+ * @returns
511
+ */
512
+ function GetRecordsByEntity(params) {
513
+ return __awaiter(this, void 0, void 0, function* () {
514
+ const { entityIds, entityTypeId } = params;
515
+ if (!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length) && !entityTypeId) {
516
+ return { recordsByIds: {}, sample: 0 };
517
+ }
518
+ const page = yield GetPage(Object.assign(Object.assign({}, params), { pageSize: params.sample > 0 ? undefined : (params.pageSize || 1000) }));
519
+ const recordsByIds = {};
520
+ for (const item of page.items) {
521
+ const record = ToDataRecord(item);
522
+ if (!record.entityId) {
523
+ continue;
524
+ }
525
+ if (!recordsByIds[record.entityId]) {
526
+ recordsByIds[record.entityId] = [];
527
+ }
528
+ recordsByIds[record.entityId].push(record);
529
+ }
530
+ for (const entityId of Object.keys(recordsByIds)) {
531
+ recordsByIds[entityId].sort((a, b) => new Date(a.dateTime).getTime() - new Date(b.dateTime).getTime());
532
+ }
533
+ return { recordsByIds, sample: page.sample };
534
+ });
535
+ }
536
+ EntityHistoricData.GetRecordsByEntity = GetRecordsByEntity;
537
+ /*
538
+ * Assembles a v3 record, nesting the platform managed values where a read reports them.
539
+ */
540
+ function BuildRecord(params) {
541
+ const { entityId, attrKey, dateTime, values, internal, scenario } = params;
542
+ const entity = Object.assign({}, (values || {}));
543
+ if (internal) {
544
+ entity.Bruce = Object.assign(Object.assign({}, (entity.Bruce || {})), internal);
545
+ }
546
+ const record = {
547
+ "Entity.ID": entityId,
548
+ AttrKey: typeof attrKey == "string" ? attrKey : path_utils_1.PathUtils.Wrap(attrKey),
549
+ DateTime: dateTime,
550
+ Entity: entity
551
+ };
552
+ if (scenario) {
553
+ record.Scenario = scenario;
554
+ }
555
+ return record;
556
+ }
557
+ EntityHistoricData.BuildRecord = BuildRecord;
558
+ /**
559
+ * Creates or updates historic records.
560
+ * @param params
561
+ * @returns
562
+ */
563
+ function Save(params) {
564
+ return __awaiter(this, void 0, void 0, function* () {
565
+ let { records, scenario, api, req } = params;
566
+ if (!(records === null || records === void 0 ? void 0 : records.length)) {
567
+ return { records: [], warnings: [] };
568
+ }
569
+ if (!api) {
570
+ api = environment_1.ENVIRONMENT.Api().GetBruceApi();
571
+ }
572
+ const body = { Items: records };
573
+ if (scenario) {
574
+ body["Scenario"] = scenario;
575
+ }
576
+ const res = yield api.POST("v3/entities/historic", body, api_1.Api.PrepReqParams(req));
577
+ const entityIds = records.map(r => r["Entity.ID"]).filter((v, i, a) => v && a.indexOf(v) === i);
578
+ ClearCacheByEntityIds(api, entityIds);
579
+ for (const attrKey of records.map(r => r.AttrKey).filter((v, i, a) => v && a.indexOf(v) === i)) {
580
+ api.Cache.RemoveByContains(entity_1.Entity.GetHistoricContainsKey(attrKey));
581
+ }
582
+ return {
583
+ records: ((res === null || res === void 0 ? void 0 : res.Items) || []),
584
+ warnings: ((res === null || res === void 0 ? void 0 : res.Warning) || [])
585
+ };
586
+ });
587
+ }
588
+ EntityHistoricData.Save = Save;
589
+ /**
590
+ * Deletes every historic record matching the filter, and reports how many were removed.
591
+ * The filter is the one the reads accept, so a caller can delete exactly what it just listed.
592
+ * @param params
593
+ * @returns
594
+ */
595
+ function DeleteRange(params) {
596
+ var _a;
597
+ return __awaiter(this, void 0, void 0, function* () {
598
+ let { entityIds, attrKey, dateTimeFrom, dateTimeTo, scenario, api, req } = params;
599
+ if (!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length)) {
600
+ return { deleted: 0 };
601
+ }
602
+ if (!api) {
603
+ api = environment_1.ENVIRONMENT.Api().GetBruceApi();
604
+ }
605
+ if (!scenario && (!attrKey || !dateTimeFrom || !dateTimeTo)) {
606
+ throw new Error("Deleting outside a Scenario requires attrKey, dateTimeFrom and dateTimeTo.");
607
+ }
608
+ const body = BuildV3Filter(params);
609
+ const res = yield api.POST("v3/entities/deleteHistoric", body, api_1.Api.PrepReqParams(req));
610
+ if (attrKey) {
611
+ api.Cache.RemoveByContains(entity_1.Entity.GetHistoricContainsKey(typeof attrKey == "string" ? attrKey : path_utils_1.PathUtils.Wrap(attrKey)));
612
+ }
613
+ ClearCacheByEntityIds(api, entityIds);
614
+ return { deleted: (_a = res === null || res === void 0 ? void 0 : res.Deleted) !== null && _a !== void 0 ? _a : 0 };
615
+ });
616
+ }
617
+ EntityHistoricData.DeleteRange = DeleteRange;
226
618
  function GetListCacheKey(entityIds, attrKey, dateTimeFrom, dateTimeTo) {
227
619
  return api_1.Api.ECacheKey.EntityHistoricDataRec + api_1.Api.ECacheKey.Id + entityIds.join(",") + api_1.Api.ECacheKey.Id + attrKey + api_1.Api.ECacheKey.Id + dateTimeFrom + api_1.Api.ECacheKey.Id + dateTimeTo;
228
620
  }
@@ -241,15 +633,21 @@ var EntityHistoricData;
241
633
  if (!api || !(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length)) {
242
634
  return;
243
635
  }
244
- const REC_KEY_PREFIX = api_1.Api.ECacheKey.EntityHistoricDataRec + api_1.Api.ECacheKey.Id;
245
- const STATS_KEY_PREFIX = api_1.Api.ECacheKey.EntityHistoricDataStats + api_1.Api.ECacheKey.Id;
636
+ const PREFIXES = [
637
+ api_1.Api.ECacheKey.EntityHistoricDataRec + api_1.Api.ECacheKey.Id,
638
+ api_1.Api.ECacheKey.EntityHistoricDataStats + api_1.Api.ECacheKey.Id,
639
+ api_1.Api.ECacheKey.EntityHistoricDataSeries + api_1.Api.ECacheKey.Id,
640
+ api_1.Api.ECacheKey.EntityHistoricDataAnalysis + api_1.Api.ECacheKey.Id,
641
+ api_1.Api.ECacheKey.EntityHistoricDataPage + api_1.Api.ECacheKey.Id
642
+ ];
246
643
  api.Cache.RemoveByCallback((key) => {
247
644
  let keyStr = String(key);
248
- if (!keyStr.startsWith(STATS_KEY_PREFIX) && !keyStr.startsWith(REC_KEY_PREFIX)) {
645
+ const prefix = PREFIXES.find(p => keyStr.startsWith(p));
646
+ if (!prefix) {
249
647
  return false;
250
648
  }
251
649
  // Shorten to speed up the next step.
252
- keyStr = keyStr.replace(STATS_KEY_PREFIX, "").replace(REC_KEY_PREFIX, "");
650
+ keyStr = keyStr.replace(prefix, "");
253
651
  // Look for any matching Entity IDs.
254
652
  for (let i = 0; i < entityIds.length; i++) {
255
653
  const entityId = entityIds[i];
@@ -1 +1 @@
1
- {"version":3,"file":"entity-historic-data.js","sourceRoot":"","sources":["../../../src/entity/entity-historic-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-historic-data.js","sourceRoot":"","sources":["../../../src/entity/entity-historic-data.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ var Entity;
27
27
  (function (EOutlineKind) {
28
28
  EOutlineKind["Entity"] = "ENTITY";
29
29
  EOutlineKind["Attribute"] = "ATTRIBUTE";
30
+ EOutlineKind["Reference"] = "REFERENCE";
30
31
  })(EOutlineKind = Entity.EOutlineKind || (Entity.EOutlineKind = {}));
31
32
  /**
32
33
  * Returns an entity record for the given entity id.