sodas-sdk 1.1.12 → 1.3.11

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.
@@ -1,4 +1,4 @@
1
- import { IDType } from "../../core/type";
1
+ import { IDType, PaginatedResponse, SortOrder } from "../../core/type";
2
2
  import { DCAT_MODEL_DTO } from "../dcatClass";
3
3
  import DCAT_RESOURCE, { DCAT_RESOURCE_DTO } from "./dcatResource";
4
4
  export interface DataServiceDTO extends DCAT_RESOURCE_DTO {
@@ -20,6 +20,7 @@ declare class DataService extends DCAT_RESOURCE {
20
20
  * @param {string} url - The base URL of the API.
21
21
  */
22
22
  static configureAPIURL(url: string): void;
23
+ static listUserDBRecords(pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<DataService>>;
23
24
  toDTO(): DataServiceDTO;
24
25
  populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
25
26
  get dataServiceID(): IDType;
@@ -42,6 +42,7 @@ declare class Dataset extends DCAT_RESOURCE {
42
42
  * @param {string} url - The base URL for the dataset API.
43
43
  */
44
44
  static configureAPIURL(url: string): void;
45
+ static listUserDBRecords(pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<Dataset>>;
45
46
  static searchDBRecords(searchKeyword: string, pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<Dataset>>;
46
47
  toDTO(): DatasetDTO;
47
48
  populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { IDType } from "../../core/type";
1
+ import { IDType, PaginatedResponse, SortOrder } from "../../core/type";
2
2
  import { DCAT_MODEL_DTO } from "../dcatClass";
3
3
  import Dataset from "./dataset";
4
4
  import DCAT_RESOURCE, { DCAT_RESOURCE_DTO } from "./dcatResource";
@@ -47,6 +47,7 @@ declare class DatasetSeries extends DCAT_RESOURCE {
47
47
  * @param {string} url - The base URL for the dataset API.
48
48
  */
49
49
  static configureAPIURL(url: string): void;
50
+ static listUserDBRecords(pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<DatasetSeries>>;
50
51
  toDTO(): DatasetSeriesDTO;
51
52
  populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
52
53
  populateSeriesMembersFromDTO(dto: DatasetSeriesDTO): Promise<void>;
@@ -2320,8 +2320,12 @@ __webpack_require__.r(__webpack_exports__);
2320
2320
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2321
2321
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2322
2322
  /* harmony export */ });
2323
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
2324
- /* harmony import */ var _dcatResource__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dcatResource */ "./lib/SODAS_SDK_CLASS/DCAT/dcatResource.ts");
2323
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
2324
+ /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
2325
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
2326
+ /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/util */ "./lib/core/util.ts");
2327
+ /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
2328
+ /* harmony import */ var _dcatResource__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dcatResource */ "./lib/SODAS_SDK_CLASS/DCAT/dcatResource.ts");
2325
2329
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
2326
2330
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2327
2331
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -2333,10 +2337,14 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
2333
2337
  };
2334
2338
 
2335
2339
 
2340
+
2341
+
2342
+
2343
+
2336
2344
  /**
2337
2345
  * Represents a Data Service DTO.
2338
2346
  */
2339
- class DataService extends _dcatResource__WEBPACK_IMPORTED_MODULE_1__["default"] {
2347
+ class DataService extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"] {
2340
2348
  /**
2341
2349
  * Initializes the API URL for DataService.
2342
2350
  *
@@ -2347,6 +2355,37 @@ class DataService extends _dcatResource__WEBPACK_IMPORTED_MODULE_1__["default"]
2347
2355
  DataService.API_URL = `${url}/dataservice`;
2348
2356
  DataService.LIST_URL = `${DataService.API_URL}/list`;
2349
2357
  }
2358
+ static listUserDBRecords() {
2359
+ return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
2360
+ // @ts-ignore - static helper expects SODAS_SDK_CLASS constructor type
2361
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
2362
+ const url = DataService.LIST_URL.replace(/\/list$/, "/user/list");
2363
+ let response;
2364
+ try {
2365
+ response = yield axios__WEBPACK_IMPORTED_MODULE_5__["default"].get(url, {
2366
+ headers: Object.assign({ "Content-Type": "application/json" }, (DataService.BEARER_TOKEN && {
2367
+ Authorization: `Bearer ${DataService.BEARER_TOKEN}`,
2368
+ })),
2369
+ params: { pageNumber, pageSize, sortOrder },
2370
+ });
2371
+ }
2372
+ catch (error) {
2373
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
2374
+ }
2375
+ if (response.data.total != null && Array.isArray(response.data.list)) {
2376
+ const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
2377
+ const dataService = new DataService();
2378
+ yield dataService.populateFromDTO(item);
2379
+ return dataService;
2380
+ })));
2381
+ return {
2382
+ total: response.data.total,
2383
+ list,
2384
+ };
2385
+ }
2386
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
2387
+ });
2388
+ }
2350
2389
  toDTO() {
2351
2390
  return Object.assign(Object.assign(Object.assign({}, super.toDTO()), (this.DataServiceID && { DataServiceID: this.DataServiceID })), { EndpointURL: this.EndpointURL, EndpointDescription: this.EndpointDescription });
2352
2391
  }
@@ -2358,7 +2397,7 @@ class DataService extends _dcatResource__WEBPACK_IMPORTED_MODULE_1__["default"]
2358
2397
  yield _super.populateFromDTO.call(this, dto);
2359
2398
  const dataServiceDTO = dto;
2360
2399
  dataServiceDTO.DataServiceID &&
2361
- (this.DataServiceID = (0,_core_type__WEBPACK_IMPORTED_MODULE_0__.asID)(dataServiceDTO.DataServiceID));
2400
+ (this.DataServiceID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(dataServiceDTO.DataServiceID));
2362
2401
  dataServiceDTO.EndpointURL &&
2363
2402
  (this.EndpointURL = dataServiceDTO.EndpointURL);
2364
2403
  dataServiceDTO.EndpointDescription &&
@@ -2433,6 +2472,37 @@ class Dataset extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"] {
2433
2472
  Dataset.API_URL = `${url}/dataset`;
2434
2473
  Dataset.LIST_URL = `${Dataset.API_URL}/list`;
2435
2474
  }
2475
+ static listUserDBRecords() {
2476
+ return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
2477
+ // @ts-ignore - static helper expects SODAS_SDK_CLASS constructor type
2478
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
2479
+ const url = Dataset.LIST_URL.replace(/\/list$/, "/user/list");
2480
+ let response;
2481
+ try {
2482
+ response = yield axios__WEBPACK_IMPORTED_MODULE_6__["default"].get(url, {
2483
+ headers: Object.assign({ "Content-Type": "application/json" }, (Dataset.BEARER_TOKEN && {
2484
+ Authorization: `Bearer ${Dataset.BEARER_TOKEN}`,
2485
+ })),
2486
+ params: { pageNumber, pageSize, sortOrder },
2487
+ });
2488
+ }
2489
+ catch (error) {
2490
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
2491
+ }
2492
+ if (response.data.total != null && Array.isArray(response.data.list)) {
2493
+ const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
2494
+ const dataset = new Dataset();
2495
+ yield dataset.populateFromDTO(item);
2496
+ return dataset;
2497
+ })));
2498
+ return {
2499
+ total: response.data.total,
2500
+ list,
2501
+ };
2502
+ }
2503
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
2504
+ });
2505
+ }
2436
2506
  static searchDBRecords(searchKeyword_1) {
2437
2507
  return __awaiter(this, arguments, void 0, function* (searchKeyword, pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
2438
2508
  if (!searchKeyword || !searchKeyword.trim()) {
@@ -2621,6 +2691,9 @@ class Dataset extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"] {
2621
2691
  }
2622
2692
  else {
2623
2693
  yield distribution.createDBRecord();
2694
+ if (!this.DistributionIDs) {
2695
+ this.DistributionIDs = [];
2696
+ }
2624
2697
  this.DistributionIDs.push((0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(distribution.id));
2625
2698
  }
2626
2699
  }
@@ -2754,12 +2827,13 @@ __webpack_require__.r(__webpack_exports__);
2754
2827
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2755
2828
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2756
2829
  /* harmony export */ });
2757
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
2830
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
2758
2831
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
2759
2832
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
2760
2833
  /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/util */ "./lib/core/util.ts");
2761
- /* harmony import */ var _dataset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataset */ "./lib/SODAS_SDK_CLASS/DCAT/dataset.ts");
2762
- /* harmony import */ var _dcatResource__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dcatResource */ "./lib/SODAS_SDK_CLASS/DCAT/dcatResource.ts");
2834
+ /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
2835
+ /* harmony import */ var _dataset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dataset */ "./lib/SODAS_SDK_CLASS/DCAT/dataset.ts");
2836
+ /* harmony import */ var _dcatResource__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dcatResource */ "./lib/SODAS_SDK_CLASS/DCAT/dcatResource.ts");
2763
2837
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
2764
2838
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2765
2839
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -2775,10 +2849,11 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
2775
2849
 
2776
2850
 
2777
2851
 
2852
+
2778
2853
  /**
2779
2854
  * Represents a series of datasets.
2780
2855
  */
2781
- class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"] {
2856
+ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_5__["default"] {
2782
2857
  static syncToCurrentHub(datasetSeries) {
2783
2858
  return __awaiter(this, void 0, void 0, function* () {
2784
2859
  var _a;
@@ -2790,7 +2865,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2790
2865
  }
2791
2866
  }
2792
2867
  catch (error) {
2793
- if (axios__WEBPACK_IMPORTED_MODULE_5__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
2868
+ if (axios__WEBPACK_IMPORTED_MODULE_6__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
2794
2869
  const newDatasetSeries = new DatasetSeries();
2795
2870
  yield newDatasetSeries.populateToSync(datasetSeries);
2796
2871
  yield newDatasetSeries.createDBRecord();
@@ -2851,7 +2926,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2851
2926
  const assetID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(assetIDStr);
2852
2927
  // Prefer existing record by AssetID; if not found, create a new one.
2853
2928
  try {
2854
- const existing = yield _dataset__WEBPACK_IMPORTED_MODULE_3__["default"].getDBRecordByAssetID(assetID);
2929
+ const existing = yield _dataset__WEBPACK_IMPORTED_MODULE_4__["default"].getDBRecordByAssetID(assetID);
2855
2930
  if (existing) {
2856
2931
  existing.populateToSync(member);
2857
2932
  yield existing.updateDBRecord();
@@ -2859,8 +2934,8 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2859
2934
  }
2860
2935
  }
2861
2936
  catch (error) {
2862
- if (axios__WEBPACK_IMPORTED_MODULE_5__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
2863
- const newMember = new _dataset__WEBPACK_IMPORTED_MODULE_3__["default"]();
2937
+ if (axios__WEBPACK_IMPORTED_MODULE_6__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
2938
+ const newMember = new _dataset__WEBPACK_IMPORTED_MODULE_4__["default"]();
2864
2939
  newMember.populateToSync(member);
2865
2940
  yield newMember.createDBRecord();
2866
2941
  resolvedIDs.push(newMember.id);
@@ -2883,6 +2958,37 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2883
2958
  DatasetSeries.API_URL = `${url}/datasetseries`;
2884
2959
  DatasetSeries.LIST_URL = `${DatasetSeries.API_URL}/list`;
2885
2960
  }
2961
+ static listUserDBRecords() {
2962
+ return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
2963
+ // @ts-ignore - static helper expects SODAS_SDK_CLASS constructor type
2964
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
2965
+ const url = DatasetSeries.LIST_URL.replace(/\/list$/, "/user/list");
2966
+ let response;
2967
+ try {
2968
+ response = yield axios__WEBPACK_IMPORTED_MODULE_6__["default"].get(url, {
2969
+ headers: Object.assign({ "Content-Type": "application/json" }, (DatasetSeries.BEARER_TOKEN && {
2970
+ Authorization: `Bearer ${DatasetSeries.BEARER_TOKEN}`,
2971
+ })),
2972
+ params: { pageNumber, pageSize, sortOrder },
2973
+ });
2974
+ }
2975
+ catch (error) {
2976
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
2977
+ }
2978
+ if (response.data.total != null && Array.isArray(response.data.list)) {
2979
+ const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
2980
+ const datasetSeries = new DatasetSeries();
2981
+ yield datasetSeries.populateFromDTO(item);
2982
+ return datasetSeries;
2983
+ })));
2984
+ return {
2985
+ total: response.data.total,
2986
+ list,
2987
+ };
2988
+ }
2989
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
2990
+ });
2991
+ }
2886
2992
  toDTO() {
2887
2993
  const result = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, super.toDTO()), (this.DatasetSeriesID && { DatasetSeriesID: this.DatasetSeriesID })), (this.InSeriesID && { InSeriesID: this.InSeriesID })), { Frequency: this.Frequency, SpatialResolutionInMeters: this.SpatialResolutionInMeters, TemporalResolution: this.TemporalResolution, Spatial: this.Spatial, Temporal: this.Temporal, WasGeneratedBy: this.WasGeneratedBy }), (this.SeriesMemberIDs && { SeriesMemberIDs: this.SeriesMemberIDs }));
2888
2994
  return result;
@@ -2918,7 +3024,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2918
3024
  this.SeriesMemberIDs = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIDs)(dto.SeriesMemberIDs);
2919
3025
  if (this.SeriesMemberIDs && this.SeriesMemberIDs.length != 0) {
2920
3026
  for (const seriesMemberID of this.SeriesMemberIDs) {
2921
- const seriesMember = yield _dataset__WEBPACK_IMPORTED_MODULE_3__["default"].getDBRecord(seriesMemberID);
3027
+ const seriesMember = yield _dataset__WEBPACK_IMPORTED_MODULE_4__["default"].getDBRecord(seriesMemberID);
2922
3028
  if (seriesMember) {
2923
3029
  this.SeriesMembers.push(seriesMember);
2924
3030
  }
@@ -2957,7 +3063,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2957
3063
  if (!this.SeriesMemberIDs) {
2958
3064
  this.SeriesMemberIDs = [];
2959
3065
  }
2960
- if (!(dataset instanceof _dataset__WEBPACK_IMPORTED_MODULE_3__["default"])) {
3066
+ if (!(dataset instanceof _dataset__WEBPACK_IMPORTED_MODULE_4__["default"])) {
2961
3067
  throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.InvalidTypeError(dataset, "Dataset");
2962
3068
  }
2963
3069
  if (!dataset.id) {