bruce-models 3.9.7 → 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.
@@ -7637,6 +7637,80 @@ var ProgramKey;
7637
7637
  ProgramKey.GetListCacheKey = GetListCacheKey;
7638
7638
  })(ProgramKey || (ProgramKey = {}));
7639
7639
 
7640
+ /**
7641
+ * Converts legacy records into something easier to work with alongside the newer ones.
7642
+ * On save we'll convert back to the legacy format.
7643
+ * @param record record we need to convert into a new version
7644
+ * @param newer supplementary newer one that lacks the legacy fields
7645
+ * @returns
7646
+ */
7647
+ function convertLegacyRec(record, newer) {
7648
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
7649
+ const tileset = {
7650
+ id: record.ID,
7651
+ name: record.Name,
7652
+ type: (_a = record.Type) !== null && _a !== void 0 ? _a : newer === null || newer === void 0 ? void 0 : newer.type,
7653
+ rootFileName: record.RootFileName,
7654
+ settings: {
7655
+ creationTypeId: record["TilesetCreation.EntityType.ID"],
7656
+ creationEntityFilter: record["TilesetCreation.EntitiesFilter"],
7657
+ creationTerrainSrc: record["TilesetCreation.TerrainSource"],
7658
+ creationSettings: record["TilesetCreation.Settings"],
7659
+ creationZoomControl: record["TilesetCreation.ZoomControl"],
7660
+ origin: Object.assign({}, (_b = record.Settings) === null || _b === void 0 ? void 0 : _b.origin),
7661
+ positionOffset: Object.assign({}, (_c = record.Settings) === null || _c === void 0 ? void 0 : _c.positionOffset),
7662
+ rotation: Object.assign({}, (_d = record.Settings) === null || _d === void 0 ? void 0 : _d.rotation),
7663
+ visual: Object.assign({}, (_e = record.Settings) === null || _e === void 0 ? void 0 : _e.visual),
7664
+ dontRotate: (_g = (_f = record.Settings) === null || _f === void 0 ? void 0 : _f.etc) === null || _g === void 0 ? void 0 : _g.dontRotate,
7665
+ dontTransform: (_j = (_h = record.Settings) === null || _h === void 0 ? void 0 : _h.etc) === null || _j === void 0 ? void 0 : _j.dontTransform,
7666
+ ExternalTilesetURL: (_l = (_k = record.Settings) === null || _k === void 0 ? void 0 : _k.etc) === null || _l === void 0 ? void 0 : _l.ExternalTilesetURL,
7667
+ showAdvancedSettings: (_o = (_m = record.Settings) === null || _m === void 0 ? void 0 : _m.etc) === null || _o === void 0 ? void 0 : _o.showAdvancedSettings
7668
+ },
7669
+ // Not returned in legacy data.
7670
+ creationTime: newer === null || newer === void 0 ? void 0 : newer.creationTime,
7671
+ // Not returned in legacy data.
7672
+ fileIds: newer === null || newer === void 0 ? void 0 : newer.fileIds,
7673
+ // Not returned in legacy data.
7674
+ generateVersion: newer === null || newer === void 0 ? void 0 : newer.generateVersion,
7675
+ // Not returned in legacy data.
7676
+ loadUrl: null,
7677
+ // Not returned in legacy data.
7678
+ modificationTime: newer === null || newer === void 0 ? void 0 : newer.modificationTime,
7679
+ // Not returned in legacy data.
7680
+ isDeleteDisabled: newer === null || newer === void 0 ? void 0 : newer.isDeleteDisabled,
7681
+ // Not returned in legacy data.
7682
+ isRestricted: newer === null || newer === void 0 ? void 0 : newer.isRestricted
7683
+ };
7684
+ return tileset;
7685
+ }
7686
+ function convertBackToLegacy(tileset) {
7687
+ var _a;
7688
+ const settings = ((_a = tileset.settings) !== null && _a !== void 0 ? _a : {});
7689
+ const record = {
7690
+ ID: tileset.id,
7691
+ Name: tileset.name,
7692
+ Type: tileset.type,
7693
+ RootFileName: tileset.rootFileName,
7694
+ Settings: {
7695
+ origin: Object.assign({}, settings === null || settings === void 0 ? void 0 : settings.origin),
7696
+ positionOffset: Object.assign({}, settings === null || settings === void 0 ? void 0 : settings.positionOffset),
7697
+ rotation: Object.assign({}, settings === null || settings === void 0 ? void 0 : settings.rotation),
7698
+ visual: Object.assign({}, settings === null || settings === void 0 ? void 0 : settings.visual),
7699
+ etc: {
7700
+ dontRotate: settings === null || settings === void 0 ? void 0 : settings.dontRotate,
7701
+ dontTransform: settings === null || settings === void 0 ? void 0 : settings.dontTransform,
7702
+ showAdvancedSettings: settings === null || settings === void 0 ? void 0 : settings.showAdvancedSettings,
7703
+ ExternalTilesetURL: settings === null || settings === void 0 ? void 0 : settings.ExternalTilesetURL
7704
+ }
7705
+ },
7706
+ "TilesetCreation.EntityType.ID": settings === null || settings === void 0 ? void 0 : settings.creationTypeId,
7707
+ "TilesetCreation.EntitiesFilter": settings === null || settings === void 0 ? void 0 : settings.creationEntityFilter,
7708
+ "TilesetCreation.TerrainSource": settings === null || settings === void 0 ? void 0 : settings.creationTerrainSrc,
7709
+ "TilesetCreation.Settings": settings === null || settings === void 0 ? void 0 : settings.creationSettings,
7710
+ "TilesetCreation.ZoomControl": settings === null || settings === void 0 ? void 0 : settings.creationZoomControl
7711
+ };
7712
+ return record;
7713
+ }
7640
7714
  /**
7641
7715
  * Describes the "Tileset" concept in Nextspace.
7642
7716
  *
@@ -7702,7 +7776,12 @@ var Tileset;
7702
7776
  }
7703
7777
  const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
7704
7778
  try {
7705
- const data = yield api.GET(`tileset/get/${tilesetId}?noFiles=${Boolean(loadFiles) ? 0 : 1}`, reqParams);
7779
+ let data = yield api.GET(`tileset/get/${tilesetId}?noFiles=${Boolean(loadFiles) ? 0 : 1}`, reqParams);
7780
+ // If this is a legacy record we have to re-request using the old endpoint and convert.
7781
+ if (data.type == EType.LegacyEntitiesSet || data.type == EType.LegacyStatic || data.type == EType.LegacyExternal) {
7782
+ const tmp = yield api.GET(`ui.tileset/${tilesetId}`, reqParams);
7783
+ data = convertLegacyRec(tmp, data);
7784
+ }
7706
7785
  res({
7707
7786
  tileset: data
7708
7787
  });
@@ -7774,6 +7853,13 @@ var Tileset;
7774
7853
  const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
7775
7854
  try {
7776
7855
  const data = yield api.GET("tileset/getList", reqParams);
7856
+ // Convert legacy records.
7857
+ for (let i = 0; i < data.length; i++) {
7858
+ const record = data[i];
7859
+ if (record.type == EType.LegacyEntitiesSet || record.type == EType.LegacyStatic || record.type == EType.LegacyExternal) {
7860
+ data[i] = convertLegacyRec(yield api.GET(`ui.tileset/${record.id}`, reqParams), data[i]);
7861
+ }
7862
+ }
7777
7863
  res({
7778
7864
  tilesets: data
7779
7865
  });
@@ -7829,7 +7915,14 @@ var Tileset;
7829
7915
  const res = yield api.GET(`tileset/new?type=${data.type}&name=${Api.Encode(data.name)}`, reqParams);
7830
7916
  data = Object.assign(Object.assign(Object.assign({}, res), data), { settings: Object.assign(Object.assign({}, res.settings), data.settings), id: res.id });
7831
7917
  }
7832
- yield api.POST(`tileset/update/${data.id}`, data, Api.PrepReqParams(reqParams));
7918
+ // Legacy path. We use a different endpoint and we convert before saving.
7919
+ if (data.type == EType.LegacyEntitiesSet || data.type == EType.LegacyStatic || data.type == EType.LegacyExternal) {
7920
+ const legacy = convertBackToLegacy(data);
7921
+ yield api.POST(`ui.tileset/${data.id}`, legacy, Api.PrepReqParams(reqParams));
7922
+ }
7923
+ else {
7924
+ yield api.POST(`tileset/update/${data.id}`, data, Api.PrepReqParams(reqParams));
7925
+ }
7833
7926
  yield api.Cache.RemoveByStartsWith(Api.ECacheKey.Tileset + Api.ECacheKey.Id + data.id);
7834
7927
  yield api.Cache.RemoveByStartsWith(Api.ECacheKey.Tileset);
7835
7928
  return {
@@ -7901,6 +7994,26 @@ var Tileset;
7901
7994
  });
7902
7995
  }
7903
7996
  Tileset.DeleteFile = DeleteFile;
7997
+ /**
7998
+ * Deletes all files from a tileset.
7999
+ * @param params
8000
+ */
8001
+ function DeleteAllFiles(params) {
8002
+ return __awaiter(this, void 0, void 0, function* () {
8003
+ let { api, tilesetId, req } = params;
8004
+ if (!tilesetId) {
8005
+ throw ("Tileset ID is required.");
8006
+ }
8007
+ if (!api) {
8008
+ api = ENVIRONMENT.Api().GetBruceApi();
8009
+ }
8010
+ req = Api.PrepReqParams(req);
8011
+ yield api.DELETE(`ui.tileset/${tilesetId}/files`, req);
8012
+ const cacheKey = `${Api.ECacheKey.Tileset}${Api.ECacheKey.Id}${tilesetId}`;
8013
+ api.Cache.RemoveByStartsWith(cacheKey);
8014
+ });
8015
+ }
8016
+ Tileset.DeleteAllFiles = DeleteAllFiles;
7904
8017
  /**
7905
8018
  * Uploads a file to a tileset.
7906
8019
  * Src files are used to generate tilesets.
@@ -11530,7 +11643,7 @@ var DataSource;
11530
11643
  })(DataSource || (DataSource = {}));
11531
11644
 
11532
11645
  // This is updated with the package.json version on build.
11533
- const VERSION = "3.9.7";
11646
+ const VERSION = "3.9.9";
11534
11647
 
11535
11648
  export { VERSION, AnnDocument, CustomForm, AbstractApi, Api, BruceApi, GlobalApi, GuardianApi, ApiGetters, Calculator, Bounds, BruceEvent, CacheControl, Camera, Cartes, Carto, Color, DelayQueue, Geometry, UTC, BruceVariable, LRUCache, EntityAttachmentType, EntityAttachment, EntityComment, EntityLink, EntityLod, EntityLodCategory, EntityRelationType, EntityRelation, EntitySource, EntityTag, EntityType, Entity, EntityCoords, EntityTypeVisualSettings, EntityAttribute, EntityHistoricData, ClientFile, ProgramKey, ZoomControl, MenuItem, ProjectViewBookmark, ProjectView, ProjectViewLegacyTile, ProjectViewTile, ProjectViewLegacy, ProjectViewLegacyBookmark, PendingAction, MessageBroker, HostingLocation, Style, Tileset, Permission, Session, UserGroup, User, Account, AccountInvite, AccountFeatures, EncryptUtils, MathUtils, ObjectUtils, PathUtils, UrlUtils, DataLab, ImportCad, ImportCsv, ImportJson, ImportKml, ImportedFile, Markup, Uploader, Plugin, ENVIRONMENT, DataSource };
11536
11649
  //# sourceMappingURL=bruce-models.es5.js.map