sodas-sdk 1.1.13 → 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()) {
@@ -2757,12 +2827,13 @@ __webpack_require__.r(__webpack_exports__);
2757
2827
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2758
2828
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2759
2829
  /* harmony export */ });
2760
- /* 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");
2761
2831
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
2762
2832
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
2763
2833
  /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/util */ "./lib/core/util.ts");
2764
- /* harmony import */ var _dataset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataset */ "./lib/SODAS_SDK_CLASS/DCAT/dataset.ts");
2765
- /* 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");
2766
2837
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
2767
2838
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2768
2839
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -2778,10 +2849,11 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
2778
2849
 
2779
2850
 
2780
2851
 
2852
+
2781
2853
  /**
2782
2854
  * Represents a series of datasets.
2783
2855
  */
2784
- class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"] {
2856
+ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_5__["default"] {
2785
2857
  static syncToCurrentHub(datasetSeries) {
2786
2858
  return __awaiter(this, void 0, void 0, function* () {
2787
2859
  var _a;
@@ -2793,7 +2865,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2793
2865
  }
2794
2866
  }
2795
2867
  catch (error) {
2796
- 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) {
2797
2869
  const newDatasetSeries = new DatasetSeries();
2798
2870
  yield newDatasetSeries.populateToSync(datasetSeries);
2799
2871
  yield newDatasetSeries.createDBRecord();
@@ -2854,7 +2926,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2854
2926
  const assetID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(assetIDStr);
2855
2927
  // Prefer existing record by AssetID; if not found, create a new one.
2856
2928
  try {
2857
- const existing = yield _dataset__WEBPACK_IMPORTED_MODULE_3__["default"].getDBRecordByAssetID(assetID);
2929
+ const existing = yield _dataset__WEBPACK_IMPORTED_MODULE_4__["default"].getDBRecordByAssetID(assetID);
2858
2930
  if (existing) {
2859
2931
  existing.populateToSync(member);
2860
2932
  yield existing.updateDBRecord();
@@ -2862,8 +2934,8 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2862
2934
  }
2863
2935
  }
2864
2936
  catch (error) {
2865
- if (axios__WEBPACK_IMPORTED_MODULE_5__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
2866
- 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"]();
2867
2939
  newMember.populateToSync(member);
2868
2940
  yield newMember.createDBRecord();
2869
2941
  resolvedIDs.push(newMember.id);
@@ -2886,6 +2958,37 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2886
2958
  DatasetSeries.API_URL = `${url}/datasetseries`;
2887
2959
  DatasetSeries.LIST_URL = `${DatasetSeries.API_URL}/list`;
2888
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
+ }
2889
2992
  toDTO() {
2890
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 }));
2891
2994
  return result;
@@ -2921,7 +3024,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2921
3024
  this.SeriesMemberIDs = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIDs)(dto.SeriesMemberIDs);
2922
3025
  if (this.SeriesMemberIDs && this.SeriesMemberIDs.length != 0) {
2923
3026
  for (const seriesMemberID of this.SeriesMemberIDs) {
2924
- const seriesMember = yield _dataset__WEBPACK_IMPORTED_MODULE_3__["default"].getDBRecord(seriesMemberID);
3027
+ const seriesMember = yield _dataset__WEBPACK_IMPORTED_MODULE_4__["default"].getDBRecord(seriesMemberID);
2925
3028
  if (seriesMember) {
2926
3029
  this.SeriesMembers.push(seriesMember);
2927
3030
  }
@@ -2960,7 +3063,7 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"
2960
3063
  if (!this.SeriesMemberIDs) {
2961
3064
  this.SeriesMemberIDs = [];
2962
3065
  }
2963
- if (!(dataset instanceof _dataset__WEBPACK_IMPORTED_MODULE_3__["default"])) {
3066
+ if (!(dataset instanceof _dataset__WEBPACK_IMPORTED_MODULE_4__["default"])) {
2964
3067
  throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.InvalidTypeError(dataset, "Dataset");
2965
3068
  }
2966
3069
  if (!dataset.id) {