bruce-models 3.9.8 → 3.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.
@@ -7485,6 +7485,80 @@
7485
7485
  ProgramKey.GetListCacheKey = GetListCacheKey;
7486
7486
  })(exports.ProgramKey || (exports.ProgramKey = {}));
7487
7487
 
7488
+ /**
7489
+ * Converts legacy records into something easier to work with alongside the newer ones.
7490
+ * On save we'll convert back to the legacy format.
7491
+ * @param record record we need to convert into a new version
7492
+ * @param newer supplementary newer one that lacks the legacy fields
7493
+ * @returns
7494
+ */
7495
+ function convertLegacyRec(record, newer) {
7496
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
7497
+ const tileset = {
7498
+ id: record.ID,
7499
+ name: record.Name,
7500
+ type: (_a = record.Type) !== null && _a !== void 0 ? _a : newer === null || newer === void 0 ? void 0 : newer.type,
7501
+ rootFileName: record.RootFileName,
7502
+ settings: {
7503
+ creationTypeId: record["TilesetCreation.EntityType.ID"],
7504
+ creationEntityFilter: record["TilesetCreation.EntitiesFilter"],
7505
+ creationTerrainSrc: record["TilesetCreation.TerrainSource"],
7506
+ creationSettings: record["TilesetCreation.Settings"],
7507
+ creationZoomControl: record["TilesetCreation.ZoomControl"],
7508
+ origin: Object.assign({}, (_b = record.Settings) === null || _b === void 0 ? void 0 : _b.origin),
7509
+ positionOffset: Object.assign({}, (_c = record.Settings) === null || _c === void 0 ? void 0 : _c.positionOffset),
7510
+ rotation: Object.assign({}, (_d = record.Settings) === null || _d === void 0 ? void 0 : _d.rotation),
7511
+ visual: Object.assign({}, (_e = record.Settings) === null || _e === void 0 ? void 0 : _e.visual),
7512
+ dontRotate: (_g = (_f = record.Settings) === null || _f === void 0 ? void 0 : _f.etc) === null || _g === void 0 ? void 0 : _g.dontRotate,
7513
+ dontTransform: (_j = (_h = record.Settings) === null || _h === void 0 ? void 0 : _h.etc) === null || _j === void 0 ? void 0 : _j.dontTransform,
7514
+ ExternalTilesetURL: (_l = (_k = record.Settings) === null || _k === void 0 ? void 0 : _k.etc) === null || _l === void 0 ? void 0 : _l.ExternalTilesetURL,
7515
+ showAdvancedSettings: (_o = (_m = record.Settings) === null || _m === void 0 ? void 0 : _m.etc) === null || _o === void 0 ? void 0 : _o.showAdvancedSettings
7516
+ },
7517
+ // Not returned in legacy data.
7518
+ creationTime: newer === null || newer === void 0 ? void 0 : newer.creationTime,
7519
+ // Not returned in legacy data.
7520
+ fileIds: newer === null || newer === void 0 ? void 0 : newer.fileIds,
7521
+ // Not returned in legacy data.
7522
+ generateVersion: newer === null || newer === void 0 ? void 0 : newer.generateVersion,
7523
+ // Not returned in legacy data.
7524
+ loadUrl: null,
7525
+ // Not returned in legacy data.
7526
+ modificationTime: newer === null || newer === void 0 ? void 0 : newer.modificationTime,
7527
+ // Not returned in legacy data.
7528
+ isDeleteDisabled: newer === null || newer === void 0 ? void 0 : newer.isDeleteDisabled,
7529
+ // Not returned in legacy data.
7530
+ isRestricted: newer === null || newer === void 0 ? void 0 : newer.isRestricted
7531
+ };
7532
+ return tileset;
7533
+ }
7534
+ function convertBackToLegacy(tileset) {
7535
+ var _a;
7536
+ const settings = ((_a = tileset.settings) !== null && _a !== void 0 ? _a : {});
7537
+ const record = {
7538
+ ID: tileset.id,
7539
+ Name: tileset.name,
7540
+ Type: tileset.type,
7541
+ RootFileName: tileset.rootFileName,
7542
+ Settings: {
7543
+ origin: Object.assign({}, settings === null || settings === void 0 ? void 0 : settings.origin),
7544
+ positionOffset: Object.assign({}, settings === null || settings === void 0 ? void 0 : settings.positionOffset),
7545
+ rotation: Object.assign({}, settings === null || settings === void 0 ? void 0 : settings.rotation),
7546
+ visual: Object.assign({}, settings === null || settings === void 0 ? void 0 : settings.visual),
7547
+ etc: {
7548
+ dontRotate: settings === null || settings === void 0 ? void 0 : settings.dontRotate,
7549
+ dontTransform: settings === null || settings === void 0 ? void 0 : settings.dontTransform,
7550
+ showAdvancedSettings: settings === null || settings === void 0 ? void 0 : settings.showAdvancedSettings,
7551
+ ExternalTilesetURL: settings === null || settings === void 0 ? void 0 : settings.ExternalTilesetURL
7552
+ }
7553
+ },
7554
+ "TilesetCreation.EntityType.ID": settings === null || settings === void 0 ? void 0 : settings.creationTypeId,
7555
+ "TilesetCreation.EntitiesFilter": settings === null || settings === void 0 ? void 0 : settings.creationEntityFilter,
7556
+ "TilesetCreation.TerrainSource": settings === null || settings === void 0 ? void 0 : settings.creationTerrainSrc,
7557
+ "TilesetCreation.Settings": settings === null || settings === void 0 ? void 0 : settings.creationSettings,
7558
+ "TilesetCreation.ZoomControl": settings === null || settings === void 0 ? void 0 : settings.creationZoomControl
7559
+ };
7560
+ return record;
7561
+ }
7488
7562
  (function (Tileset) {
7489
7563
  /**
7490
7564
  * Available tileset types.
@@ -7539,7 +7613,12 @@
7539
7613
  }
7540
7614
  const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
7541
7615
  try {
7542
- const data = yield api.GET(`tileset/get/${tilesetId}?noFiles=${Boolean(loadFiles) ? 0 : 1}`, reqParams);
7616
+ let data = yield api.GET(`tileset/get/${tilesetId}?noFiles=${Boolean(loadFiles) ? 0 : 1}`, reqParams);
7617
+ // If this is a legacy record we have to re-request using the old endpoint and convert.
7618
+ if (data.type == EType.LegacyEntitiesSet || data.type == EType.LegacyStatic || data.type == EType.LegacyExternal) {
7619
+ const tmp = yield api.GET(`ui.tileset/${tilesetId}`, reqParams);
7620
+ data = convertLegacyRec(tmp, data);
7621
+ }
7543
7622
  res({
7544
7623
  tileset: data
7545
7624
  });
@@ -7611,6 +7690,13 @@
7611
7690
  const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
7612
7691
  try {
7613
7692
  const data = yield api.GET("tileset/getList", reqParams);
7693
+ // Convert legacy records.
7694
+ for (let i = 0; i < data.length; i++) {
7695
+ const record = data[i];
7696
+ if (record.type == EType.LegacyEntitiesSet || record.type == EType.LegacyStatic || record.type == EType.LegacyExternal) {
7697
+ data[i] = convertLegacyRec(yield api.GET(`ui.tileset/${record.id}`, reqParams), data[i]);
7698
+ }
7699
+ }
7614
7700
  res({
7615
7701
  tilesets: data
7616
7702
  });
@@ -7666,7 +7752,14 @@
7666
7752
  const res = yield api.GET(`tileset/new?type=${data.type}&name=${exports.Api.Encode(data.name)}`, reqParams);
7667
7753
  data = Object.assign(Object.assign(Object.assign({}, res), data), { settings: Object.assign(Object.assign({}, res.settings), data.settings), id: res.id });
7668
7754
  }
7669
- yield api.POST(`tileset/update/${data.id}`, data, exports.Api.PrepReqParams(reqParams));
7755
+ // Legacy path. We use a different endpoint and we convert before saving.
7756
+ if (data.type == EType.LegacyEntitiesSet || data.type == EType.LegacyStatic || data.type == EType.LegacyExternal) {
7757
+ const legacy = convertBackToLegacy(data);
7758
+ yield api.POST(`ui.tileset/${data.id}`, legacy, exports.Api.PrepReqParams(reqParams));
7759
+ }
7760
+ else {
7761
+ yield api.POST(`tileset/update/${data.id}`, data, exports.Api.PrepReqParams(reqParams));
7762
+ }
7670
7763
  yield api.Cache.RemoveByStartsWith(exports.Api.ECacheKey.Tileset + exports.Api.ECacheKey.Id + data.id);
7671
7764
  yield api.Cache.RemoveByStartsWith(exports.Api.ECacheKey.Tileset);
7672
7765
  return {
@@ -11291,7 +11384,7 @@
11291
11384
  })(exports.DataSource || (exports.DataSource = {}));
11292
11385
 
11293
11386
  // This is updated with the package.json version on build.
11294
- const VERSION = "3.9.8";
11387
+ const VERSION = "3.9.9";
11295
11388
 
11296
11389
  exports.VERSION = VERSION;
11297
11390
  exports.AbstractApi = AbstractApi;