sodas-sdk 1.1.1 → 1.1.12

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.
@@ -5540,6 +5540,70 @@ class Dataset extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"] {
5540
5540
  }
5541
5541
  });
5542
5542
  }
5543
+ static syncToCurrentHub(dataset) {
5544
+ return __awaiter(this, void 0, void 0, function* () {
5545
+ var _a;
5546
+ try {
5547
+ const checkExisting = yield Dataset.getDBRecordByAssetID((0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(dataset.assetID));
5548
+ if (checkExisting) {
5549
+ checkExisting.populateToSync(dataset);
5550
+ yield checkExisting.updateDBRecord();
5551
+ }
5552
+ }
5553
+ catch (error) {
5554
+ if (axios__WEBPACK_IMPORTED_MODULE_6__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
5555
+ const newDataset = new Dataset();
5556
+ newDataset.populateToSync(dataset);
5557
+ yield newDataset.createDBRecord();
5558
+ }
5559
+ else {
5560
+ throw error;
5561
+ }
5562
+ }
5563
+ });
5564
+ }
5565
+ populateToSync(source) {
5566
+ const excludedKeys = new Set([
5567
+ "ID",
5568
+ "DatasetID",
5569
+ "IsVersionOf",
5570
+ "PreviousVersionID",
5571
+ "NextVersionID",
5572
+ "VersionInfos",
5573
+ "InSeriesID",
5574
+ "FirstID",
5575
+ "PreviousID",
5576
+ "NextID",
5577
+ "LastID",
5578
+ "DistributionIDs",
5579
+ ]);
5580
+ for (const key in source) {
5581
+ if (!Object.prototype.hasOwnProperty.call(source, key))
5582
+ continue;
5583
+ if (key === "Distributions")
5584
+ continue;
5585
+ if (excludedKeys.has(key))
5586
+ continue;
5587
+ const value = source[key];
5588
+ if (value !== undefined) {
5589
+ this[key] = value;
5590
+ }
5591
+ }
5592
+ // Handle distributions separately so that we can preserve identity fields
5593
+ // of existing distributions while syncing other fields, and create new
5594
+ // distributions for any additional ones in the source.
5595
+ const sourceDistributions = source.Distributions;
5596
+ if (!sourceDistributions || sourceDistributions.length === 0) {
5597
+ return;
5598
+ }
5599
+ this.Distributions = [];
5600
+ for (let i = 0; i < sourceDistributions.length; i++) {
5601
+ const srcDist = sourceDistributions[i];
5602
+ const targetDist = new _distribution__WEBPACK_IMPORTED_MODULE_5__["default"]();
5603
+ targetDist.populateToSync(srcDist);
5604
+ this.Distributions.push(targetDist);
5605
+ }
5606
+ }
5543
5607
  createDBRecord() {
5544
5608
  const _super = Object.create(null, {
5545
5609
  createDBRecord: { get: () => super.createDBRecord }
@@ -5729,6 +5793,7 @@ __webpack_require__.r(__webpack_exports__);
5729
5793
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5730
5794
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
5731
5795
  /* harmony export */ });
5796
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
5732
5797
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
5733
5798
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
5734
5799
  /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/util */ "./lib/core/util.ts");
@@ -5748,10 +5813,105 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
5748
5813
 
5749
5814
 
5750
5815
 
5816
+
5751
5817
  /**
5752
5818
  * Represents a series of datasets.
5753
5819
  */
5754
5820
  class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"] {
5821
+ static syncToCurrentHub(datasetSeries) {
5822
+ return __awaiter(this, void 0, void 0, function* () {
5823
+ var _a;
5824
+ try {
5825
+ const checkExisting = yield DatasetSeries.getDBRecordByAssetID((0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(datasetSeries.assetID));
5826
+ if (checkExisting) {
5827
+ yield checkExisting.populateToSync(datasetSeries);
5828
+ yield checkExisting.updateDBRecord();
5829
+ }
5830
+ }
5831
+ catch (error) {
5832
+ if (axios__WEBPACK_IMPORTED_MODULE_5__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
5833
+ const newDatasetSeries = new DatasetSeries();
5834
+ yield newDatasetSeries.populateToSync(datasetSeries);
5835
+ yield newDatasetSeries.createDBRecord();
5836
+ }
5837
+ else {
5838
+ throw error;
5839
+ }
5840
+ }
5841
+ });
5842
+ }
5843
+ /**
5844
+ * Populates this instance with values from the given DatasetSeries, except for:
5845
+ * - DB identity / temporal fields (ID, IRI, Issued, Modified, CreatedAt, UpdatedAt)
5846
+ * - Version/lineage fields (IsVersionOf, PreviousVersionID, NextVersionID, VersionInfos)
5847
+ * - Series identity fields (DatasetSeriesID, InSeriesID)
5848
+ * - Fields explicitly set to `undefined` on the source instance
5849
+ *
5850
+ * Additionally, when SeriesMembers are present on the source, this method
5851
+ * resolves each member via Dataset.getDBRecordByAssetID (by AssetID) and
5852
+ * replaces this.SeriesMemberIDs with the resolved IDs.
5853
+ */
5854
+ populateToSync(source) {
5855
+ return __awaiter(this, void 0, void 0, function* () {
5856
+ var _a;
5857
+ const excludedKeys = new Set([
5858
+ "ID",
5859
+ "IsVersionOf",
5860
+ "PreviousVersionID",
5861
+ "NextVersionID",
5862
+ "VersionInfos",
5863
+ "DatasetSeriesID",
5864
+ "InSeriesID",
5865
+ ]);
5866
+ for (const key in source) {
5867
+ if (!Object.prototype.hasOwnProperty.call(source, key))
5868
+ continue;
5869
+ if (key === "SeriesMembers")
5870
+ continue;
5871
+ if (excludedKeys.has(key))
5872
+ continue;
5873
+ const value = source[key];
5874
+ if (value !== undefined) {
5875
+ this[key] = value;
5876
+ }
5877
+ }
5878
+ this.SeriesMembers = [];
5879
+ const sourceMembers = source.SeriesMembers;
5880
+ if (!sourceMembers || sourceMembers.length === 0) {
5881
+ return;
5882
+ }
5883
+ const resolvedIDs = [];
5884
+ for (const member of sourceMembers) {
5885
+ if (!member)
5886
+ continue;
5887
+ const assetIDStr = member.assetID;
5888
+ if (!assetIDStr)
5889
+ continue;
5890
+ const assetID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(assetIDStr);
5891
+ // Prefer existing record by AssetID; if not found, create a new one.
5892
+ try {
5893
+ const existing = yield _dataset__WEBPACK_IMPORTED_MODULE_3__["default"].getDBRecordByAssetID(assetID);
5894
+ if (existing) {
5895
+ existing.populateToSync(member);
5896
+ yield existing.updateDBRecord();
5897
+ resolvedIDs.push(existing.id);
5898
+ }
5899
+ }
5900
+ catch (error) {
5901
+ if (axios__WEBPACK_IMPORTED_MODULE_5__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
5902
+ const newMember = new _dataset__WEBPACK_IMPORTED_MODULE_3__["default"]();
5903
+ newMember.populateToSync(member);
5904
+ yield newMember.createDBRecord();
5905
+ resolvedIDs.push(newMember.id);
5906
+ }
5907
+ else {
5908
+ throw error;
5909
+ }
5910
+ }
5911
+ }
5912
+ this.SeriesMemberIDs = resolvedIDs;
5913
+ });
5914
+ }
5755
5915
  /**
5756
5916
  * Initializes or updates the API_URL and LIST_URL for Dataset.
5757
5917
  *
@@ -5792,11 +5952,17 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
5792
5952
  }
5793
5953
  populateSeriesMembersFromDTO(dto) {
5794
5954
  return __awaiter(this, void 0, void 0, function* () {
5955
+ this.SeriesMembers = [];
5795
5956
  if (dto.SeriesMemberIDs && dto.SeriesMemberIDs.length != 0) {
5796
5957
  this.SeriesMemberIDs = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIDs)(dto.SeriesMemberIDs);
5797
- this.SeriesMembers = yield Promise.all(dto.SeriesMemberIDs.map((seriesMemberID) => __awaiter(this, void 0, void 0, function* () {
5798
- return yield _dataset__WEBPACK_IMPORTED_MODULE_3__["default"].getDBRecord(seriesMemberID);
5799
- })));
5958
+ if (this.SeriesMemberIDs && this.SeriesMemberIDs.length != 0) {
5959
+ for (const seriesMemberID of this.SeriesMemberIDs) {
5960
+ const seriesMember = yield _dataset__WEBPACK_IMPORTED_MODULE_3__["default"].getDBRecord(seriesMemberID);
5961
+ if (seriesMember) {
5962
+ this.SeriesMembers.push(seriesMember);
5963
+ }
5964
+ }
5965
+ }
5800
5966
  }
5801
5967
  });
5802
5968
  }
@@ -5815,6 +5981,17 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
5815
5981
  yield _super.deleteDBRecord.call(this);
5816
5982
  });
5817
5983
  }
5984
+ /**
5985
+ * Creates a dataset series DB record in an interoperated context
5986
+ * (e.g. together with related Dataset instances or other resources).
5987
+ *
5988
+ * The implementation will be added later.
5989
+ */
5990
+ createInteroperatedDBRecord() {
5991
+ return __awaiter(this, void 0, void 0, function* () {
5992
+ // TODO: Implement interoperated create logic.
5993
+ });
5994
+ }
5818
5995
  appendSeriesMember(dataset) {
5819
5996
  if (!this.SeriesMemberIDs) {
5820
5997
  this.SeriesMemberIDs = [];
@@ -5847,7 +6024,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
5847
6024
  get datasetSeriesID() {
5848
6025
  return this.DatasetSeriesID;
5849
6026
  }
5850
- get seriesMembereIDs() {
6027
+ get seriesMemberIDs() {
5851
6028
  return this.SeriesMemberIDs;
5852
6029
  }
5853
6030
  get seriesMembers() {
@@ -6271,8 +6448,8 @@ __webpack_require__.r(__webpack_exports__);
6271
6448
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6272
6449
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6273
6450
  /* harmony export */ });
6274
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
6275
- /* harmony import */ var _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../SODAS_SDK_FILE/dataFile */ "./lib/SODAS_SDK_FILE/dataFile.ts");
6451
+ /* harmony import */ var _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../SODAS_SDK_FILE/dataFile */ "./lib/SODAS_SDK_FILE/dataFile.ts");
6452
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
6276
6453
  /* harmony import */ var _dcatClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dcatClass */ "./lib/SODAS_SDK_CLASS/dcatClass.ts");
6277
6454
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
6278
6455
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -6287,6 +6464,24 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
6287
6464
 
6288
6465
 
6289
6466
  class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
6467
+ /**
6468
+ * Populates this instance with values from the given Distribution, except for:
6469
+ * - DB identity / temporal fields (ID, IRI, Issued, Modified, CreatedAt, UpdatedAt)
6470
+ * - Fields that are explicitly set to `undefined` on the source instance
6471
+ */
6472
+ populateToSync(source) {
6473
+ const excludedKeys = new Set(["ID", "IsDistributionOf", "AccessServiceID"]);
6474
+ for (const key in source) {
6475
+ if (!Object.prototype.hasOwnProperty.call(source, key))
6476
+ continue;
6477
+ if (excludedKeys.has(key))
6478
+ continue;
6479
+ const value = source[key];
6480
+ if (value !== undefined) {
6481
+ this[key] = value;
6482
+ }
6483
+ }
6484
+ }
6290
6485
  toDTO() {
6291
6486
  return Object.assign(Object.assign(Object.assign(Object.assign({}, super.toDTO()), (this.IsDistributionOf && { IsDistributionOf: this.IsDistributionOf })), (this.AccessServiceID && { AccessServiceID: this.AccessServiceID })), { AccessURL: this.AccessURL, ByteSize: this.ByteSize, CompressFormat: this.CompressFormat, DownloadURL: this.DownloadURL, MediaType: this.MediaType, PackageFormat: this.PackageFormat, SpatialResolutionInMeters: this.SpatialResolutionInMeters, TemporalResolution: this.TemporalResolution, AccessRights: this.AccessRights, ConformsTo: this.ConformsTo, DescriptionML: this.DescriptionML, Format: this.Format, License: this.License, Rights: this.Rights, TitleML: this.TitleML, HasPolicy: this.HasPolicy, Checksum: this.Checksum });
6292
6487
  }
@@ -6298,7 +6493,7 @@ class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
6298
6493
  yield _super.populateFromDTO.call(this, dto);
6299
6494
  const distributionDTO = dto;
6300
6495
  distributionDTO.AccessServiceID &&
6301
- (this.AccessServiceID = (0,_core_type__WEBPACK_IMPORTED_MODULE_0__.asID)(distributionDTO.AccessServiceID));
6496
+ (this.AccessServiceID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(distributionDTO.AccessServiceID));
6302
6497
  distributionDTO.AccessURL && (this.AccessURL = distributionDTO.AccessURL);
6303
6498
  distributionDTO.ByteSize && (this.ByteSize = distributionDTO.ByteSize);
6304
6499
  distributionDTO.CompressFormat &&
@@ -6326,7 +6521,7 @@ class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
6326
6521
  distributionDTO.HasPolicy && (this.HasPolicy = distributionDTO.HasPolicy);
6327
6522
  distributionDTO.Checksum && (this.Checksum = distributionDTO.Checksum);
6328
6523
  distributionDTO.IsDistributionOf &&
6329
- (this.IsDistributionOf = (0,_core_type__WEBPACK_IMPORTED_MODULE_0__.asID)(distributionDTO.IsDistributionOf));
6524
+ (this.IsDistributionOf = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(distributionDTO.IsDistributionOf));
6330
6525
  });
6331
6526
  }
6332
6527
  /**
@@ -6342,7 +6537,7 @@ class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
6342
6537
  Distribution.DOWNLOAD_API_URL = `${url}/data/download`;
6343
6538
  }
6344
6539
  static configureBucketName(bucketName) {
6345
- _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_1__["default"].configureBucketName(bucketName);
6540
+ _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_0__["default"].configureBucketName(bucketName);
6346
6541
  }
6347
6542
  /**
6348
6543
  * Sets file information for a browser environment.
@@ -6350,7 +6545,7 @@ class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
6350
6545
  */
6351
6546
  setUploadingDataForBrowser(file) {
6352
6547
  if (!this.UploadingData) {
6353
- this.UploadingData = new _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_1__["default"]();
6548
+ this.UploadingData = new _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_0__["default"]();
6354
6549
  }
6355
6550
  this.UploadingData.setFileForBrowser(file);
6356
6551
  }
@@ -6360,7 +6555,7 @@ class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
6360
6555
  */
6361
6556
  setUploadingDataForNode(filePath) {
6362
6557
  if (!this.UploadingData) {
6363
- this.UploadingData = new _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_1__["default"]();
6558
+ this.UploadingData = new _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_0__["default"]();
6364
6559
  }
6365
6560
  this.UploadingData.setFileForNode(filePath);
6366
6561
  }
@@ -6553,7 +6748,7 @@ class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
6553
6748
  return this.IsDistributionOf;
6554
6749
  }
6555
6750
  set isDistributionOf(value) {
6556
- this.IsDistributionOf = (0,_core_type__WEBPACK_IMPORTED_MODULE_0__.asID)(value);
6751
+ this.IsDistributionOf = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(value);
6557
6752
  }
6558
6753
  }
6559
6754
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Distribution);
@@ -6806,6 +7001,27 @@ class DCAT_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["default"]
6806
7001
  }
6807
7002
  });
6808
7003
  }
7004
+ /**
7005
+ * Checks whether a DB record exists for the given AssetID and returns its ID.
7006
+ *
7007
+ * This method wraps getDBRecordByAssetID and converts a 404 response to `null`,
7008
+ * while rethrowing any other kind of error.
7009
+ */
7010
+ static checkDBRecordOfAssetID(assetID) {
7011
+ return __awaiter(this, void 0, void 0, function* () {
7012
+ var _a;
7013
+ try {
7014
+ const record = (yield this.getDBRecordByAssetID(assetID));
7015
+ return record.id;
7016
+ }
7017
+ catch (error) {
7018
+ if (axios__WEBPACK_IMPORTED_MODULE_4__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
7019
+ return null;
7020
+ }
7021
+ throw error;
7022
+ }
7023
+ });
7024
+ }
6809
7025
  updateDBRecord() {
6810
7026
  return __awaiter(this, void 0, void 0, function* () {
6811
7027
  this.throwErrorIfAPIURLNotSet();
@@ -7777,7 +7993,7 @@ __webpack_require__.r(__webpack_exports__);
7777
7993
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7778
7994
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7779
7995
  /* harmony export */ });
7780
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
7996
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
7781
7997
  /* harmony import */ var _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/DCAT/dataService */ "./lib/SODAS_SDK_CLASS/DCAT/dataService.ts");
7782
7998
  /* harmony import */ var _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/DCAT/dataset */ "./lib/SODAS_SDK_CLASS/DCAT/dataset.ts");
7783
7999
  /* harmony import */ var _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/DCAT/datasetSeries */ "./lib/SODAS_SDK_CLASS/DCAT/datasetSeries.ts");
@@ -7788,6 +8004,7 @@ __webpack_require__.r(__webpack_exports__);
7788
8004
  /* harmony import */ var _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../SODAS_SDK_FILE/dataFile */ "./lib/SODAS_SDK_FILE/dataFile.ts");
7789
8005
  /* harmony import */ var _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../SODAS_SDK_FILE/thumbnailFile */ "./lib/SODAS_SDK_FILE/thumbnailFile.ts");
7790
8006
  /* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./error */ "./lib/core/error.ts");
8007
+ /* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./init */ "./lib/core/init.ts");
7791
8008
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
7792
8009
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7793
8010
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -7808,25 +8025,28 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
7808
8025
 
7809
8026
 
7810
8027
 
8028
+
7811
8029
  class Config {
7812
- constructor(governanceBaseUrl, datahubBaseUrl) {
8030
+ constructor(governanceBaseUrl, sodasProfileBaseUrl, legacyDatahubBaseUrl) {
7813
8031
  this.governanceToken = null;
7814
- this.datahubToken = null;
8032
+ this.legacyDatahubToken = null;
7815
8033
  this.governanceBaseUrl = governanceBaseUrl.replace(/\/$/, "");
7816
- this.datahubBaseUrl = datahubBaseUrl.replace(/\/$/, "");
8034
+ this.sodasProfileBaseUrl = sodasProfileBaseUrl.replace(/\/$/, "");
8035
+ this.legacyDatahubBaseUrl = legacyDatahubBaseUrl.replace(/\/$/, "");
7817
8036
  this.initializeAPIURLs();
7818
8037
  }
7819
8038
  /**
7820
8039
  * Explicitly configure the SDK with the given API URLs.
7821
8040
  * This is the preferred way to set API URLs instead of using configureAPIURL.
7822
8041
  */
7823
- static configure(datahubApiUrl, governanceApiUrl) {
8042
+ static configure(datahubApiUrl, governanceApiUrl, legacyDatahubApiUrl) {
7824
8043
  if (!Config.instance) {
7825
- Config.instance = new Config(governanceApiUrl, datahubApiUrl);
8044
+ Config.instance = new Config(governanceApiUrl, datahubApiUrl, legacyDatahubApiUrl);
7826
8045
  }
7827
8046
  else {
7828
8047
  Config.instance.governanceBaseUrl = governanceApiUrl.replace(/\/$/, "");
7829
- Config.instance.datahubBaseUrl = datahubApiUrl.replace(/\/$/, "");
8048
+ Config.instance.sodasProfileBaseUrl = datahubApiUrl.replace(/\/$/, "");
8049
+ Config.instance.legacyDatahubBaseUrl = legacyDatahubApiUrl.replace(/\/$/, "");
7830
8050
  Config.instance.initializeAPIURLs();
7831
8051
  }
7832
8052
  return Config.instance;
@@ -7839,13 +8059,16 @@ class Config {
7839
8059
  const governanceBaseUrl = process.env.PRODUCTION_GOVERNANCE_API_URL ||
7840
8060
  process.env.TEST_GOVERNANCE_API_URL ||
7841
8061
  "";
7842
- const datahubBaseUrl = process.env.PRODUCTION_DATAHUB_API_URL ||
7843
- process.env.TEST_DATAHUB_API_URL ||
8062
+ const sodasProfileBaseUrl = process.env.PRODUCTION_DATAHUB_API_URL ||
8063
+ process.env.TEST_SODAS_PROFILE_API_URL ||
8064
+ "";
8065
+ const legacyDatahubBaseUrl = process.env.PRODUCTION_LEGACY_DATAHUB_API_URL ||
8066
+ process.env.TEST_LEGACY_DATAHUB_API_URL ||
7844
8067
  "";
7845
- if (!governanceBaseUrl || !datahubBaseUrl) {
8068
+ if (!governanceBaseUrl || !sodasProfileBaseUrl) {
7846
8069
  throw new Error("Governance or Datahub base URL is not configured in environment variables.");
7847
8070
  }
7848
- Config.instance = new Config(governanceBaseUrl, datahubBaseUrl);
8071
+ Config.instance = new Config(governanceBaseUrl, sodasProfileBaseUrl, legacyDatahubBaseUrl);
7849
8072
  }
7850
8073
  return Config.instance;
7851
8074
  }
@@ -7853,15 +8076,15 @@ class Config {
7853
8076
  * Initialize all SDK class API URLs based on the configured base URLs.
7854
8077
  */
7855
8078
  initializeAPIURLs() {
7856
- const SLASH_DELETED_DATAHUB_API_URL = this.datahubBaseUrl.replace(/\/$/, "");
8079
+ const SLASH_DELETED_SODAS_PROFILE_BASE_URL = this.sodasProfileBaseUrl.replace(/\/$/, "");
7857
8080
  const SLASH_DELETED_GOVERNANCE_PORTAL_API_URL = this.governanceBaseUrl.replace(/\/$/, "");
7858
- if (this.datahubBaseUrl) {
7859
- _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"].configureAPIURL(SLASH_DELETED_DATAHUB_API_URL);
7860
- _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].configureAPIURL(SLASH_DELETED_DATAHUB_API_URL);
7861
- _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"].configureAPIURL(SLASH_DELETED_DATAHUB_API_URL);
7862
- _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].configureAPIURL(SLASH_DELETED_DATAHUB_API_URL);
7863
- _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__["default"].configureAPIURL(SLASH_DELETED_DATAHUB_API_URL);
7864
- _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_7__["default"].configureAPIURL(SLASH_DELETED_DATAHUB_API_URL);
8081
+ if (this.sodasProfileBaseUrl) {
8082
+ _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8083
+ _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8084
+ _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8085
+ _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8086
+ _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8087
+ _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_7__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
7865
8088
  }
7866
8089
  else {
7867
8090
  console.error("DATAHUB_API_URL not found in config");
@@ -7886,9 +8109,10 @@ class Config {
7886
8109
  password,
7887
8110
  offline: false,
7888
8111
  };
7889
- const response = yield axios__WEBPACK_IMPORTED_MODULE_10__["default"].post(url, parameters);
8112
+ const response = yield axios__WEBPACK_IMPORTED_MODULE_11__["default"].post(url, parameters);
7890
8113
  if (response.data && response.data.accessToken) {
7891
8114
  this.governanceToken = response.data.accessToken;
8115
+ (0,_init__WEBPACK_IMPORTED_MODULE_10__.setGovernanceBearerToken)(this.governanceToken);
7892
8116
  }
7893
8117
  else {
7894
8118
  throw new _error__WEBPACK_IMPORTED_MODULE_9__.NoAccessTokenFoundError();
@@ -7898,20 +8122,27 @@ class Config {
7898
8122
  /**
7899
8123
  * Login to the Datahub portal and store the access token.
7900
8124
  */
7901
- loginDatahub(id, password) {
8125
+ loginLegacyDatahub(id, password) {
7902
8126
  return __awaiter(this, void 0, void 0, function* () {
7903
- const url = `${this.datahubBaseUrl}/api/v1/authnz/authentication/user/login`;
8127
+ const url = `${this.legacyDatahubBaseUrl}/api/v1/authnz/authentication/user/login`;
7904
8128
  const parameters = {
7905
8129
  id,
7906
8130
  password,
7907
8131
  offline: false,
7908
8132
  };
7909
- const response = yield axios__WEBPACK_IMPORTED_MODULE_10__["default"].post(url, parameters);
7910
- if (response.data && response.data.accessToken) {
7911
- this.datahubToken = response.data.accessToken;
8133
+ try {
8134
+ const response = yield axios__WEBPACK_IMPORTED_MODULE_11__["default"].post(url, parameters);
8135
+ if (response.data && response.data.accessToken) {
8136
+ this.legacyDatahubToken = response.data.accessToken;
8137
+ (0,_init__WEBPACK_IMPORTED_MODULE_10__.setLegacyDatahubBearerToken)(this.legacyDatahubToken);
8138
+ }
8139
+ else {
8140
+ throw new _error__WEBPACK_IMPORTED_MODULE_9__.NoAccessTokenFoundError();
8141
+ }
7912
8142
  }
7913
- else {
7914
- throw new _error__WEBPACK_IMPORTED_MODULE_9__.NoAccessTokenFoundError();
8143
+ catch (error) {
8144
+ console.error("Error during loginLegacyDatahub:", error);
8145
+ throw error;
7915
8146
  }
7916
8147
  });
7917
8148
  }
@@ -7921,7 +8152,7 @@ class Config {
7921
8152
  logoutGovernance() {
7922
8153
  return __awaiter(this, void 0, void 0, function* () {
7923
8154
  const url = `${this.governanceBaseUrl}/api/v1/authnz/authentication/user/logout`;
7924
- const response = yield axios__WEBPACK_IMPORTED_MODULE_10__["default"].post(url, {}, {
8155
+ const response = yield axios__WEBPACK_IMPORTED_MODULE_11__["default"].post(url, {}, {
7925
8156
  headers: this.governanceToken
7926
8157
  ? { Authorization: `Bearer ${this.governanceToken}` }
7927
8158
  : undefined,
@@ -7937,16 +8168,16 @@ class Config {
7937
8168
  /**
7938
8169
  * Logout from the Datahub portal and clear the stored token.
7939
8170
  */
7940
- logoutDatahub() {
8171
+ logoutLegacyDatahub() {
7941
8172
  return __awaiter(this, void 0, void 0, function* () {
7942
- const url = `${this.datahubBaseUrl}/api/v1/authnz/authentication/user/logout`;
7943
- const response = yield axios__WEBPACK_IMPORTED_MODULE_10__["default"].post(url, {}, {
7944
- headers: this.datahubToken
7945
- ? { Authorization: `Bearer ${this.datahubToken}` }
8173
+ const url = `${this.legacyDatahubBaseUrl}/api/v1/authnz/authentication/user/logout`;
8174
+ const response = yield axios__WEBPACK_IMPORTED_MODULE_11__["default"].post(url, {}, {
8175
+ headers: this.legacyDatahubToken
8176
+ ? { Authorization: `Bearer ${this.legacyDatahubToken}` }
7946
8177
  : undefined,
7947
8178
  });
7948
8179
  if (response.data && response.data.result === "success") {
7949
- this.datahubToken = null;
8180
+ this.legacyDatahubToken = null;
7950
8181
  }
7951
8182
  else {
7952
8183
  throw new _error__WEBPACK_IMPORTED_MODULE_9__.UnexpectedResponseFormatError(response.data);
@@ -7962,8 +8193,8 @@ class Config {
7962
8193
  /**
7963
8194
  * Get the current Datahub access token.
7964
8195
  */
7965
- getDatahubToken() {
7966
- return this.datahubToken;
8196
+ getLegacyDatahubToken() {
8197
+ return this.legacyDatahubToken;
7967
8198
  }
7968
8199
  }
7969
8200
  Config.instance = null;
@@ -8126,7 +8357,8 @@ class UnexpectedResponseFormatError extends Error {
8126
8357
 
8127
8358
  __webpack_require__.r(__webpack_exports__);
8128
8359
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8129
- /* harmony export */ setBearerToken: () => (/* binding */ setBearerToken)
8360
+ /* harmony export */ setGovernanceBearerToken: () => (/* binding */ setGovernanceBearerToken),
8361
+ /* harmony export */ setLegacyDatahubBearerToken: () => (/* binding */ setLegacyDatahubBearerToken)
8130
8362
  /* harmony export */ });
8131
8363
  /* harmony import */ var _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/DCAT/dataService */ "./lib/SODAS_SDK_CLASS/DCAT/dataService.ts");
8132
8364
  /* harmony import */ var _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/DCAT/dataset */ "./lib/SODAS_SDK_CLASS/DCAT/dataset.ts");
@@ -8146,13 +8378,15 @@ __webpack_require__.r(__webpack_exports__);
8146
8378
  * @param {string} token - The Bearer token used for API authentication.
8147
8379
  * @returns {void}
8148
8380
  */
8149
- function setBearerToken(token) {
8381
+ function setGovernanceBearerToken(token) {
8382
+ _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].BEARER_TOKEN = token;
8383
+ _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].BEARER_TOKEN = token;
8384
+ }
8385
+ function setLegacyDatahubBearerToken(token) {
8150
8386
  _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].BEARER_TOKEN = token;
8151
8387
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].BEARER_TOKEN = token;
8152
8388
  _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"].BEARER_TOKEN = token;
8153
8389
  _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"].BEARER_TOKEN = token;
8154
- _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].BEARER_TOKEN = token;
8155
- _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].BEARER_TOKEN = token;
8156
8390
  }
8157
8391
 
8158
8392
 
@@ -14628,7 +14862,8 @@ __webpack_require__.r(__webpack_exports__);
14628
14862
  /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.asID),
14629
14863
  /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.asIRI),
14630
14864
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
14631
- /* harmony export */ setBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_5__.setBearerToken)
14865
+ /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_5__.setGovernanceBearerToken),
14866
+ /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_5__.setLegacyDatahubBearerToken)
14632
14867
  /* harmony export */ });
14633
14868
  /* harmony import */ var _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SODAS_SDK_CLASS/DCAT/dataService */ "./lib/SODAS_SDK_CLASS/DCAT/dataService.ts");
14634
14869
  /* harmony import */ var _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SODAS_SDK_CLASS/DCAT/dataset */ "./lib/SODAS_SDK_CLASS/DCAT/dataset.ts");
@@ -14665,7 +14900,8 @@ const sdk = {
14665
14900
  SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_6__.SortOrder,
14666
14901
  TemplateDetailFunctionality: _core_type__WEBPACK_IMPORTED_MODULE_6__.TemplateDetailFunctionality,
14667
14902
  Config: _core_auth__WEBPACK_IMPORTED_MODULE_4__["default"],
14668
- setBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_5__.setBearerToken,
14903
+ setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_5__.setGovernanceBearerToken,
14904
+ setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_5__.setLegacyDatahubBearerToken,
14669
14905
  };
14670
14906
  // ✅ Ensures `require("sodas-sdk")` works in CommonJS
14671
14907
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sdk);
@@ -14689,7 +14925,8 @@ var __webpack_exports__TemplateDetailFunctionality = __webpack_exports__.Templat
14689
14925
  var __webpack_exports__asID = __webpack_exports__.asID;
14690
14926
  var __webpack_exports__asIRI = __webpack_exports__.asIRI;
14691
14927
  var __webpack_exports__default = __webpack_exports__["default"];
14692
- var __webpack_exports__setBearerToken = __webpack_exports__.setBearerToken;
14693
- export { __webpack_exports__ArtifactType as ArtifactType, __webpack_exports__BASIC_TYPE_VALUES as BASIC_TYPE_VALUES, __webpack_exports__CONVERSION_VALUES as CONVERSION_VALUES, __webpack_exports__Config as Config, __webpack_exports__DataService as DataService, __webpack_exports__Dataset as Dataset, __webpack_exports__DatasetSeries as DatasetSeries, __webpack_exports__Distribution as Distribution, __webpack_exports__MEASURE_VALUES as MEASURE_VALUES, __webpack_exports__ORIGIN_VALUES as ORIGIN_VALUES, __webpack_exports__ProfileType as ProfileType, __webpack_exports__ResourceDescriptorRole as ResourceDescriptorRole, __webpack_exports__SortOrder as SortOrder, __webpack_exports__TemplateDetailFunctionality as TemplateDetailFunctionality, __webpack_exports__asID as asID, __webpack_exports__asIRI as asIRI, __webpack_exports__default as default, __webpack_exports__setBearerToken as setBearerToken };
14928
+ var __webpack_exports__setGovernanceBearerToken = __webpack_exports__.setGovernanceBearerToken;
14929
+ var __webpack_exports__setLegacyDatahubBearerToken = __webpack_exports__.setLegacyDatahubBearerToken;
14930
+ export { __webpack_exports__ArtifactType as ArtifactType, __webpack_exports__BASIC_TYPE_VALUES as BASIC_TYPE_VALUES, __webpack_exports__CONVERSION_VALUES as CONVERSION_VALUES, __webpack_exports__Config as Config, __webpack_exports__DataService as DataService, __webpack_exports__Dataset as Dataset, __webpack_exports__DatasetSeries as DatasetSeries, __webpack_exports__Distribution as Distribution, __webpack_exports__MEASURE_VALUES as MEASURE_VALUES, __webpack_exports__ORIGIN_VALUES as ORIGIN_VALUES, __webpack_exports__ProfileType as ProfileType, __webpack_exports__ResourceDescriptorRole as ResourceDescriptorRole, __webpack_exports__SortOrder as SortOrder, __webpack_exports__TemplateDetailFunctionality as TemplateDetailFunctionality, __webpack_exports__asID as asID, __webpack_exports__asIRI as asIRI, __webpack_exports__default as default, __webpack_exports__setGovernanceBearerToken as setGovernanceBearerToken, __webpack_exports__setLegacyDatahubBearerToken as setLegacyDatahubBearerToken };
14694
14931
 
14695
14932
  //# sourceMappingURL=index.node.js.map