sodas-sdk 1.4.1 → 1.4.3

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.
@@ -21,6 +21,7 @@ declare class DataService extends DCAT_RESOURCE {
21
21
  */
22
22
  static configureAPIURL(url: string): void;
23
23
  static listUserDBRecords(pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<DataService>>;
24
+ static searchDBRecords(searchKeyword: string, pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<DataService>>;
24
25
  toDTO(): DataServiceDTO;
25
26
  populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
26
27
  get dataServiceID(): IDType;
@@ -49,19 +49,14 @@ declare class DatasetSeries extends DCAT_RESOURCE {
49
49
  static configureAPIURL(url: string): void;
50
50
  static getRDF(id: string, depth?: number): Promise<string>;
51
51
  static listUserDBRecords(pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<DatasetSeries>>;
52
+ static searchDBRecords(searchKeyword: string, pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<DatasetSeries>>;
52
53
  toDTO(): DatasetSeriesDTO;
53
54
  populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
54
55
  populateSeriesMembersFromDTO(dto: DatasetSeriesDTO): Promise<void>;
55
56
  deleteDBRecord(): Promise<void>;
56
- /**
57
- * Creates a dataset series DB record in an interoperated context
58
- * (e.g. together with related Dataset instances or other resources).
59
- *
60
- * The implementation will be added later.
61
- */
62
- createInteroperatedDBRecord(): Promise<void>;
63
57
  appendSeriesMember(dataset: Dataset): void;
64
58
  switchSeriesMembers(index1: number, index2: number): void;
59
+ removeSeriesMember(index: number): void;
65
60
  get datasetSeriesID(): IDType;
66
61
  get seriesMemberIDs(): IDType[];
67
62
  get seriesMembers(): Dataset[];
@@ -2386,6 +2386,36 @@ class DataService extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"]
2386
2386
  throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
2387
2387
  });
2388
2388
  }
2389
+ static searchDBRecords(searchKeyword_1) {
2390
+ return __awaiter(this, arguments, void 0, function* (searchKeyword, pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
2391
+ if (!searchKeyword || !searchKeyword.trim()) {
2392
+ return this.listDBRecords(pageNumber, pageSize, sortOrder);
2393
+ }
2394
+ // @ts-ignore - static helper expects SODAS_SDK_CLASS constructor type
2395
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
2396
+ let response;
2397
+ try {
2398
+ response = yield axios__WEBPACK_IMPORTED_MODULE_5__["default"].get(this.prototype.constructor.LIST_URL, {
2399
+ params: { pageNumber, pageSize, sortOrder, search: searchKeyword },
2400
+ });
2401
+ }
2402
+ catch (error) {
2403
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
2404
+ }
2405
+ if (response.data.total != null && Array.isArray(response.data.list)) {
2406
+ const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
2407
+ const dataService = new this();
2408
+ yield dataService.populateFromDTO(item);
2409
+ return dataService;
2410
+ })));
2411
+ return {
2412
+ total: response.data.total,
2413
+ list,
2414
+ };
2415
+ }
2416
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
2417
+ });
2418
+ }
2389
2419
  toDTO() {
2390
2420
  return Object.assign(Object.assign(Object.assign({}, super.toDTO()), (this.DataServiceID && { DataServiceID: this.DataServiceID })), { EndpointURL: this.EndpointURL, EndpointDescription: this.EndpointDescription });
2391
2421
  }
@@ -3037,6 +3067,36 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_5__["default"
3037
3067
  throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
3038
3068
  });
3039
3069
  }
3070
+ static searchDBRecords(searchKeyword_1) {
3071
+ return __awaiter(this, arguments, void 0, function* (searchKeyword, pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
3072
+ if (!searchKeyword || !searchKeyword.trim()) {
3073
+ return this.listDBRecords(pageNumber, pageSize, sortOrder);
3074
+ }
3075
+ // @ts-ignore - static helper expects SODAS_SDK_CLASS constructor type
3076
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
3077
+ let response;
3078
+ try {
3079
+ response = yield axios__WEBPACK_IMPORTED_MODULE_6__["default"].get(this.prototype.constructor.LIST_URL, {
3080
+ params: { pageNumber, pageSize, sortOrder, search: searchKeyword },
3081
+ });
3082
+ }
3083
+ catch (error) {
3084
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
3085
+ }
3086
+ if (response.data.total != null && Array.isArray(response.data.list)) {
3087
+ const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
3088
+ const datasetSeries = new this();
3089
+ yield datasetSeries.populateFromDTO(item);
3090
+ return datasetSeries;
3091
+ })));
3092
+ return {
3093
+ total: response.data.total,
3094
+ list,
3095
+ };
3096
+ }
3097
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
3098
+ });
3099
+ }
3040
3100
  toDTO() {
3041
3101
  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 }));
3042
3102
  return result;
@@ -3096,17 +3156,6 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_5__["default"
3096
3156
  yield _super.deleteDBRecord.call(this);
3097
3157
  });
3098
3158
  }
3099
- /**
3100
- * Creates a dataset series DB record in an interoperated context
3101
- * (e.g. together with related Dataset instances or other resources).
3102
- *
3103
- * The implementation will be added later.
3104
- */
3105
- createInteroperatedDBRecord() {
3106
- return __awaiter(this, void 0, void 0, function* () {
3107
- // TODO: Implement interoperated create logic.
3108
- });
3109
- }
3110
3159
  appendSeriesMember(dataset) {
3111
3160
  if (!this.SeriesMemberIDs) {
3112
3161
  this.SeriesMemberIDs = [];
@@ -3136,6 +3185,18 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_5__["default"
3136
3185
  this.SeriesMemberIDs[index1] = this.SeriesMemberIDs[index2];
3137
3186
  this.SeriesMemberIDs[index2] = temp;
3138
3187
  }
3188
+ removeSeriesMember(index) {
3189
+ if (!this.SeriesMemberIDs || this.SeriesMemberIDs.length === 0) {
3190
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.NotInitializedError("SeriesMemberIDs");
3191
+ }
3192
+ if (index < 0 || index >= this.SeriesMemberIDs.length) {
3193
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.IndexOutOfBoundsError(index);
3194
+ }
3195
+ this.SeriesMemberIDs.splice(index, 1);
3196
+ if (this.SeriesMembers && index < this.SeriesMembers.length) {
3197
+ this.SeriesMembers.splice(index, 1);
3198
+ }
3199
+ }
3139
3200
  get datasetSeriesID() {
3140
3201
  return this.DatasetSeriesID;
3141
3202
  }