sodas-sdk 1.5.1 → 1.6.0

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.
Files changed (30) hide show
  1. package/dist/SODAS_SDK_CLASS/DCAT/dataService.d.ts +2 -2
  2. package/dist/SODAS_SDK_CLASS/DCAT/dataset.d.ts +2 -2
  3. package/dist/SODAS_SDK_CLASS/DCAT/datasetSeries.d.ts +2 -2
  4. package/dist/SODAS_SDK_CLASS/DCAT/dcatResource.d.ts +9 -5
  5. package/dist/SODAS_SDK_CLASS/DCAT/distribution.d.ts +4 -4
  6. package/dist/SODAS_SDK_CLASS/profileModel.d.ts +38 -0
  7. package/dist/SODAS_SDK_CLASS/template/validation.d.ts +30 -55
  8. package/dist/SODAS_SDK_CLASS/template/validationType.d.ts +196 -0
  9. package/dist/__tests__/setting/testEnvironmentConfig.d.ts +1 -1
  10. package/dist/__tests__/setting/testSetting.d.ts +1 -1
  11. package/dist/__tests__/utility/BOC.d.ts +4 -4
  12. package/dist/__tests__/utility/testDTO.d.ts +3 -0
  13. package/dist/__tests__/utility/validation.d.ts +3 -5
  14. package/dist/core/auth.d.ts +1 -1
  15. package/dist/core/error.d.ts +0 -7
  16. package/dist/core/functionalityError.d.ts +1 -8
  17. package/dist/core/type.d.ts +3 -37
  18. package/dist/index.browser.js +947 -509
  19. package/dist/index.browser.js.map +1 -1
  20. package/dist/index.d.ts +20 -5
  21. package/dist/index.legacy.browser.js +931 -506
  22. package/dist/index.legacy.browser.js.map +1 -1
  23. package/dist/index.legacy.node.cjs +930 -505
  24. package/dist/index.legacy.node.cjs.map +1 -1
  25. package/dist/index.node.js +947 -509
  26. package/dist/index.node.js.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/SODAS_SDK_CLASS/dcatClass.d.ts +0 -38
  29. /package/dist/__tests__/SODAS_SDK_CLASS/template/validation/{CRUD.medium.test.d.ts → CRUDL.medium.test.d.ts} +0 -0
  30. /package/dist/__tests__/SODAS_SDK_CLASS/template/validation/{LIST.big.test.d.ts → manageRules.medium.test.d.ts} +0 -0
@@ -6318,7 +6318,7 @@ __webpack_require__.r(__webpack_exports__);
6318
6318
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
6319
6319
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
6320
6320
  /* harmony import */ var _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../SODAS_SDK_FILE/thumbnailFile */ "./lib/SODAS_SDK_FILE/thumbnailFile.ts");
6321
- /* harmony import */ var _dcatClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dcatClass */ "./lib/SODAS_SDK_CLASS/dcatClass.ts");
6321
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
6322
6322
  /* harmony import */ var _versionInfo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./versionInfo */ "./lib/SODAS_SDK_CLASS/DCAT/versionInfo.ts");
6323
6323
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
6324
6324
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -6334,11 +6334,11 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
6334
6334
 
6335
6335
 
6336
6336
 
6337
- class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
6337
+ class DCAT_RESOURCE extends _profileModel__WEBPACK_IMPORTED_MODULE_3__["default"] {
6338
6338
  toDTO() {
6339
6339
  return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, super.toDTO()), { AssetID: this.AssetID, DatahubID: this.DatahubID, ThumbnailURL: this.ThumbnailURL, AccessRights: this.AccessRights, Status: this.Status, VersionNotes: this.VersionNotes, Version: this.Version }), (this.IsVersionOf && { IsVersionOf: this.IsVersionOf })), (this.PreviousVersionID && {
6340
6340
  PreviousVersionID: this.PreviousVersionID,
6341
- })), (this.NextVersionID && { NextVersionID: this.NextVersionID })), { ContactPoint: this.ContactPoint, KeywordML: this.KeywordML, LandingPage: this.LandingPage, Theme: this.Theme, ConformsTo: this.ConformsTo, Creator: this.Creator, DescriptionML: this.DescriptionML, Identifier: this.Identifier, IsReferencedBy: this.IsReferencedBy, Language: this.Language, License: this.License, Publisher: this.Publisher, Rights: this.Rights, TitleML: this.TitleML, Type: this.Type, HasPolicy: this.HasPolicy, IssuerID: this.IssuerID, ExtraMetadata: this.ExtraMetadata });
6341
+ })), (this.NextVersionID && { NextVersionID: this.NextVersionID })), { ContactPoint: this.ContactPoint, KeywordML: this.KeywordML, LandingPage: this.LandingPage, Theme: this.Theme, ConformsTo: this.ConformsTo, Creator: this.Creator, DescriptionML: this.DescriptionML, Identifier: this.Identifier, IsReferencedBy: this.IsReferencedBy, Language: this.Language, License: this.License, Publisher: this.Publisher, Rights: this.Rights, TitleML: this.TitleML, Type: this.Type, HasPolicy: this.HasPolicy, IssuerID: this.IssuerID, ExtraMetadata: this.ExtraMetadata, QualityMetadata: this.QualityMetadata });
6342
6342
  }
6343
6343
  populateFromDTO(dto) {
6344
6344
  const _super = Object.create(null, {
@@ -6391,6 +6391,8 @@ class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
6391
6391
  dcatResourceDTO.IssuerID && (this.IssuerID = dcatResourceDTO.IssuerID);
6392
6392
  dcatResourceDTO.ExtraMetadata &&
6393
6393
  (this.ExtraMetadata = dcatResourceDTO.ExtraMetadata);
6394
+ dcatResourceDTO.QualityMetadata &&
6395
+ (this.QualityMetadata = dcatResourceDTO.QualityMetadata);
6394
6396
  yield this.populateVersionInfoFromDTO(dcatResourceDTO);
6395
6397
  });
6396
6398
  }
@@ -6591,6 +6593,18 @@ class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
6591
6593
  }
6592
6594
  return this.ExtraMetadata[name];
6593
6595
  }
6596
+ setQualityMetadata(name, value) {
6597
+ if (!this.QualityMetadata) {
6598
+ this.QualityMetadata = {};
6599
+ }
6600
+ this.QualityMetadata[name] = value;
6601
+ }
6602
+ getQualityMetadata(name) {
6603
+ if (!this.QualityMetadata) {
6604
+ return undefined;
6605
+ }
6606
+ return this.QualityMetadata[name];
6607
+ }
6594
6608
  getTitle(languageCode = "ko") {
6595
6609
  if (!this.TitleML) {
6596
6610
  this.TitleML = {};
@@ -6688,7 +6702,7 @@ __webpack_require__.r(__webpack_exports__);
6688
6702
  /* harmony export */ });
6689
6703
  /* harmony import */ var _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../SODAS_SDK_FILE/dataFile */ "./lib/SODAS_SDK_FILE/dataFile.ts");
6690
6704
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
6691
- /* harmony import */ var _dcatClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dcatClass */ "./lib/SODAS_SDK_CLASS/dcatClass.ts");
6705
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
6692
6706
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
6693
6707
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6694
6708
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -6701,7 +6715,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
6701
6715
 
6702
6716
 
6703
6717
 
6704
- class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
6718
+ class Distribution extends _profileModel__WEBPACK_IMPORTED_MODULE_2__["default"] {
6705
6719
  /**
6706
6720
  * Populates this instance with values from the given Distribution, except for:
6707
6721
  * - DB identity / temporal fields (ID, IRI, Issued, Modified, CreatedAt, UpdatedAt)
@@ -7078,255 +7092,6 @@ class VersionInfo {
7078
7092
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionInfo);
7079
7093
 
7080
7094
 
7081
- /***/ }),
7082
-
7083
- /***/ "./lib/SODAS_SDK_CLASS/dcatClass.ts":
7084
- /*!******************************************!*\
7085
- !*** ./lib/SODAS_SDK_CLASS/dcatClass.ts ***!
7086
- \******************************************/
7087
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7088
-
7089
- "use strict";
7090
- __webpack_require__.r(__webpack_exports__);
7091
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7092
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7093
- /* harmony export */ });
7094
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
7095
- /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
7096
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
7097
- /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util */ "./lib/core/util.ts");
7098
- /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
7099
- var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
7100
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7101
- return new (P || (P = Promise))(function (resolve, reject) {
7102
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7103
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7104
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7105
- step((generator = generator.apply(thisArg, _arguments || [])).next());
7106
- });
7107
- };
7108
-
7109
-
7110
-
7111
-
7112
-
7113
- class DCAT_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
7114
- toDTO() {
7115
- return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.ID && { ID: this.ID })), (this.IRI && { IRI: this.IRI })), (this.Issued && { Issued: this.Issued.toISOString() })), (this.Modified && { Modified: this.Modified.toISOString() })), (this.CreatedAt && { CreatedAt: this.CreatedAt.toISOString() })), (this.UpdatedAt && { UpdatedAt: this.UpdatedAt.toISOString() }));
7116
- }
7117
- hasDBRecord() {
7118
- if (this.ID && this.IRI) {
7119
- return true;
7120
- }
7121
- else {
7122
- return false;
7123
- }
7124
- }
7125
- populateFromDTO(dto) {
7126
- return __awaiter(this, void 0, void 0, function* () {
7127
- dto.ID && (this.ID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(dto.ID));
7128
- dto.IRI && (this.IRI = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIRI)(dto.IRI));
7129
- dto.Issued && (this.Issued = new Date(dto.Issued));
7130
- dto.Modified && (this.Modified = new Date(dto.Modified));
7131
- dto.CreatedAt && (this.CreatedAt = new Date(dto.CreatedAt));
7132
- dto.UpdatedAt && (this.UpdatedAt = new Date(dto.UpdatedAt));
7133
- });
7134
- }
7135
- static listDBRecords() {
7136
- return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
7137
- //@ts-ignore
7138
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
7139
- let response;
7140
- try {
7141
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(this.prototype.constructor.LIST_URL, {
7142
- params: { pageNumber, pageSize, sortOrder },
7143
- });
7144
- }
7145
- catch (error) {
7146
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7147
- }
7148
- if (response.data.total != null && Array.isArray(response.data.list)) {
7149
- const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
7150
- const dcatResource = new this();
7151
- yield dcatResource.populateFromDTO(item);
7152
- return dcatResource;
7153
- })));
7154
- return {
7155
- total: response.data.total,
7156
- list,
7157
- };
7158
- }
7159
- else {
7160
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
7161
- }
7162
- });
7163
- }
7164
- static getAllDBRecords() {
7165
- return __awaiter(this, void 0, void 0, function* () {
7166
- const paginatedResponse = yield this.listDBRecords(1, _core_util__WEBPACK_IMPORTED_MODULE_2__.LARGE_ENOUGH_NUMBER);
7167
- return paginatedResponse.list;
7168
- });
7169
- }
7170
- createDBRecord() {
7171
- return __awaiter(this, void 0, void 0, function* () {
7172
- this.throwErrorIfAPIURLNotSet();
7173
- this.throwErrorIfRecorded();
7174
- const data = this.toDTO();
7175
- const cleanData = JSON.parse(JSON.stringify(data));
7176
- const cls = this.constructor;
7177
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
7178
- baseURL: cls.API_URL,
7179
- headers: {
7180
- "Content-Type": "application/json",
7181
- },
7182
- });
7183
- if (cls.BEARER_TOKEN) {
7184
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
7185
- }
7186
- let response;
7187
- try {
7188
- response = yield apiClient.post("", cleanData);
7189
- }
7190
- catch (error) {
7191
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7192
- }
7193
- yield this.populateFromDTO(response.data);
7194
- });
7195
- }
7196
- static getDBRecord(ID) {
7197
- return __awaiter(this, void 0, void 0, function* () {
7198
- //@ts-ignore
7199
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
7200
- const url = `${this.prototype.constructor.API_URL}/${ID}`;
7201
- let response;
7202
- try {
7203
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
7204
- headers: { "Content-Type": "application/json" },
7205
- });
7206
- }
7207
- catch (error) {
7208
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7209
- }
7210
- if (response.data) {
7211
- const dcatResource = new this();
7212
- yield dcatResource.populateFromDTO(response.data);
7213
- return dcatResource;
7214
- }
7215
- else {
7216
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
7217
- }
7218
- });
7219
- }
7220
- static getDBRecordByAssetID(assetID) {
7221
- return __awaiter(this, void 0, void 0, function* () {
7222
- //@ts-ignore
7223
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
7224
- const url = `${this.prototype.constructor.API_URL}/asset/${assetID}`;
7225
- let response;
7226
- try {
7227
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
7228
- headers: { "Content-Type": "application/json" },
7229
- });
7230
- }
7231
- catch (error) {
7232
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7233
- }
7234
- if (response.data) {
7235
- const dcatResource = new this();
7236
- yield dcatResource.populateFromDTO(response.data);
7237
- return dcatResource;
7238
- }
7239
- else {
7240
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
7241
- }
7242
- });
7243
- }
7244
- /**
7245
- * Checks whether a DB record exists for the given AssetID and returns its ID.
7246
- *
7247
- * This method wraps getDBRecordByAssetID and converts a 404 response to `null`,
7248
- * while rethrowing any other kind of error.
7249
- */
7250
- static checkDBRecordOfAssetID(assetID) {
7251
- return __awaiter(this, void 0, void 0, function* () {
7252
- var _a;
7253
- try {
7254
- const record = (yield this.getDBRecordByAssetID(assetID));
7255
- return record.id;
7256
- }
7257
- catch (error) {
7258
- if (axios__WEBPACK_IMPORTED_MODULE_4__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
7259
- return null;
7260
- }
7261
- throw error;
7262
- }
7263
- });
7264
- }
7265
- updateDBRecord() {
7266
- return __awaiter(this, void 0, void 0, function* () {
7267
- this.throwErrorIfAPIURLNotSet();
7268
- this.throwErrorIfNotRecorded();
7269
- const data = this.toDTO();
7270
- const cleanData = JSON.parse(JSON.stringify(data));
7271
- const cls = this.constructor;
7272
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
7273
- baseURL: cls.API_URL,
7274
- headers: {
7275
- "Content-Type": "application/json",
7276
- },
7277
- });
7278
- if (cls.BEARER_TOKEN) {
7279
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
7280
- }
7281
- let response;
7282
- try {
7283
- response = yield apiClient.post("", cleanData);
7284
- }
7285
- catch (error) {
7286
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7287
- }
7288
- yield this.populateFromDTO(response.data);
7289
- });
7290
- }
7291
- deleteDBRecord() {
7292
- return __awaiter(this, void 0, void 0, function* () {
7293
- this.throwErrorIfAPIURLNotSet();
7294
- this.throwErrorIfNotRecorded();
7295
- const cls = this.constructor;
7296
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
7297
- baseURL: `${cls.API_URL}/`,
7298
- headers: {
7299
- "Content-Type": "application/json",
7300
- },
7301
- });
7302
- if (cls.BEARER_TOKEN) {
7303
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
7304
- }
7305
- let response;
7306
- try {
7307
- response = yield apiClient.delete(`${this.ID}`);
7308
- }
7309
- catch (error) {
7310
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7311
- }
7312
- if (response.status === 204) {
7313
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.destroy)(this); // Nullify the instance
7314
- }
7315
- else {
7316
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.DeleteRecordFailError();
7317
- }
7318
- });
7319
- }
7320
- get createdAt() {
7321
- return this.CreatedAt;
7322
- }
7323
- get updatedAt() {
7324
- return this.UpdatedAt;
7325
- }
7326
- }
7327
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DCAT_MODEL);
7328
-
7329
-
7330
7095
  /***/ }),
7331
7096
 
7332
7097
  /***/ "./lib/SODAS_SDK_CLASS/dictionary/term.ts":
@@ -7878,17 +7643,269 @@ class GOVERNANCE_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["defa
7878
7643
 
7879
7644
  /***/ }),
7880
7645
 
7881
- /***/ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts":
7882
- /*!**********************************************!*\
7883
- !*** ./lib/SODAS_SDK_CLASS/sodasSDKClass.ts ***!
7884
- \**********************************************/
7646
+ /***/ "./lib/SODAS_SDK_CLASS/profileModel.ts":
7647
+ /*!*********************************************!*\
7648
+ !*** ./lib/SODAS_SDK_CLASS/profileModel.ts ***!
7649
+ \*********************************************/
7885
7650
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7886
7651
 
7887
7652
  "use strict";
7888
7653
  __webpack_require__.r(__webpack_exports__);
7889
7654
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7890
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
7891
- /* harmony export */ throwErrorIfAPIURLNotSetForStatic: () => (/* binding */ throwErrorIfAPIURLNotSetForStatic)
7655
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7656
+ /* harmony export */ });
7657
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
7658
+ /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
7659
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
7660
+ /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util */ "./lib/core/util.ts");
7661
+ /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
7662
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
7663
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7664
+ return new (P || (P = Promise))(function (resolve, reject) {
7665
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7666
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7667
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7668
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
7669
+ });
7670
+ };
7671
+
7672
+
7673
+
7674
+
7675
+
7676
+ class PROFILE_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
7677
+ toDTO() {
7678
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.ID && { ID: this.ID })), (this.IRI && { IRI: this.IRI })), (this.Issued && { Issued: this.Issued.toISOString() })), (this.Modified && { Modified: this.Modified.toISOString() })), (this.CreatedAt && { CreatedAt: this.CreatedAt.toISOString() })), (this.UpdatedAt && { UpdatedAt: this.UpdatedAt.toISOString() }));
7679
+ }
7680
+ hasDBRecord() {
7681
+ if (this.ID && this.IRI) {
7682
+ return true;
7683
+ }
7684
+ else {
7685
+ return false;
7686
+ }
7687
+ }
7688
+ populateFromDTO(dto) {
7689
+ return __awaiter(this, void 0, void 0, function* () {
7690
+ dto.ID && (this.ID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(dto.ID));
7691
+ dto.IRI && (this.IRI = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIRI)(dto.IRI));
7692
+ dto.Issued && (this.Issued = new Date(dto.Issued));
7693
+ dto.Modified && (this.Modified = new Date(dto.Modified));
7694
+ dto.CreatedAt && (this.CreatedAt = new Date(dto.CreatedAt));
7695
+ dto.UpdatedAt && (this.UpdatedAt = new Date(dto.UpdatedAt));
7696
+ });
7697
+ }
7698
+ static listDBRecords() {
7699
+ return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
7700
+ //@ts-ignore
7701
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
7702
+ let response;
7703
+ try {
7704
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(this.prototype.constructor.LIST_URL, {
7705
+ params: { pageNumber, pageSize, sortOrder },
7706
+ });
7707
+ }
7708
+ catch (error) {
7709
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7710
+ }
7711
+ if (response.data.total != null && Array.isArray(response.data.list)) {
7712
+ const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
7713
+ const dcatResource = new this();
7714
+ yield dcatResource.populateFromDTO(item);
7715
+ return dcatResource;
7716
+ })));
7717
+ return {
7718
+ total: response.data.total,
7719
+ list,
7720
+ };
7721
+ }
7722
+ else {
7723
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
7724
+ }
7725
+ });
7726
+ }
7727
+ static getAllDBRecords() {
7728
+ return __awaiter(this, void 0, void 0, function* () {
7729
+ const paginatedResponse = yield this.listDBRecords(1, _core_util__WEBPACK_IMPORTED_MODULE_2__.LARGE_ENOUGH_NUMBER);
7730
+ return paginatedResponse.list;
7731
+ });
7732
+ }
7733
+ createDBRecord() {
7734
+ return __awaiter(this, void 0, void 0, function* () {
7735
+ this.throwErrorIfAPIURLNotSet();
7736
+ this.throwErrorIfRecorded();
7737
+ const data = this.toDTO();
7738
+ const cleanData = JSON.parse(JSON.stringify(data));
7739
+ const cls = this.constructor;
7740
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
7741
+ baseURL: cls.API_URL,
7742
+ headers: {
7743
+ "Content-Type": "application/json",
7744
+ },
7745
+ });
7746
+ if (cls.BEARER_TOKEN) {
7747
+ apiClient.defaults.headers.common["Authorization"] =
7748
+ `Bearer ${cls.BEARER_TOKEN}`;
7749
+ }
7750
+ let response;
7751
+ try {
7752
+ response = yield apiClient.post("", cleanData);
7753
+ }
7754
+ catch (error) {
7755
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7756
+ }
7757
+ yield this.populateFromDTO(response.data);
7758
+ });
7759
+ }
7760
+ static getDBRecord(ID) {
7761
+ return __awaiter(this, void 0, void 0, function* () {
7762
+ //@ts-ignore
7763
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
7764
+ const url = `${this.prototype.constructor.API_URL}/${ID}`;
7765
+ let response;
7766
+ try {
7767
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
7768
+ headers: { "Content-Type": "application/json" },
7769
+ });
7770
+ }
7771
+ catch (error) {
7772
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7773
+ }
7774
+ if (response.data) {
7775
+ const dcatResource = new this();
7776
+ yield dcatResource.populateFromDTO(response.data);
7777
+ return dcatResource;
7778
+ }
7779
+ else {
7780
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
7781
+ }
7782
+ });
7783
+ }
7784
+ static getDBRecordByAssetID(assetID) {
7785
+ return __awaiter(this, void 0, void 0, function* () {
7786
+ //@ts-ignore
7787
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
7788
+ const url = `${this.prototype.constructor.API_URL}/asset/${assetID}`;
7789
+ let response;
7790
+ try {
7791
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
7792
+ headers: { "Content-Type": "application/json" },
7793
+ });
7794
+ }
7795
+ catch (error) {
7796
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7797
+ }
7798
+ if (response.data) {
7799
+ const dcatResource = new this();
7800
+ yield dcatResource.populateFromDTO(response.data);
7801
+ return dcatResource;
7802
+ }
7803
+ else {
7804
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
7805
+ }
7806
+ });
7807
+ }
7808
+ /**
7809
+ * Checks whether a DB record exists for the given AssetID and returns its ID.
7810
+ *
7811
+ * This method wraps getDBRecordByAssetID and converts a 404 response to `null`,
7812
+ * while rethrowing any other kind of error.
7813
+ */
7814
+ static checkDBRecordOfAssetID(assetID) {
7815
+ return __awaiter(this, void 0, void 0, function* () {
7816
+ var _a;
7817
+ try {
7818
+ const record = (yield this.getDBRecordByAssetID(assetID));
7819
+ return record.id;
7820
+ }
7821
+ catch (error) {
7822
+ if (axios__WEBPACK_IMPORTED_MODULE_4__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
7823
+ return null;
7824
+ }
7825
+ throw error;
7826
+ }
7827
+ });
7828
+ }
7829
+ updateDBRecord() {
7830
+ return __awaiter(this, void 0, void 0, function* () {
7831
+ this.throwErrorIfAPIURLNotSet();
7832
+ this.throwErrorIfNotRecorded();
7833
+ const data = this.toDTO();
7834
+ const cleanData = JSON.parse(JSON.stringify(data));
7835
+ const cls = this.constructor;
7836
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
7837
+ baseURL: cls.API_URL,
7838
+ headers: {
7839
+ "Content-Type": "application/json",
7840
+ },
7841
+ });
7842
+ if (cls.BEARER_TOKEN) {
7843
+ apiClient.defaults.headers.common["Authorization"] =
7844
+ `Bearer ${cls.BEARER_TOKEN}`;
7845
+ }
7846
+ let response;
7847
+ try {
7848
+ response = yield apiClient.post("", cleanData);
7849
+ }
7850
+ catch (error) {
7851
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7852
+ }
7853
+ yield this.populateFromDTO(response.data);
7854
+ });
7855
+ }
7856
+ deleteDBRecord() {
7857
+ return __awaiter(this, void 0, void 0, function* () {
7858
+ this.throwErrorIfAPIURLNotSet();
7859
+ this.throwErrorIfNotRecorded();
7860
+ const cls = this.constructor;
7861
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
7862
+ baseURL: `${cls.API_URL}/`,
7863
+ headers: {
7864
+ "Content-Type": "application/json",
7865
+ },
7866
+ });
7867
+ if (cls.BEARER_TOKEN) {
7868
+ apiClient.defaults.headers.common["Authorization"] =
7869
+ `Bearer ${cls.BEARER_TOKEN}`;
7870
+ }
7871
+ let response;
7872
+ try {
7873
+ response = yield apiClient.delete(`${this.ID}`);
7874
+ }
7875
+ catch (error) {
7876
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7877
+ }
7878
+ if (response.status === 204) {
7879
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.destroy)(this); // Nullify the instance
7880
+ }
7881
+ else {
7882
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.DeleteRecordFailError();
7883
+ }
7884
+ });
7885
+ }
7886
+ get createdAt() {
7887
+ return this.CreatedAt;
7888
+ }
7889
+ get updatedAt() {
7890
+ return this.UpdatedAt;
7891
+ }
7892
+ }
7893
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PROFILE_MODEL);
7894
+
7895
+
7896
+ /***/ }),
7897
+
7898
+ /***/ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts":
7899
+ /*!**********************************************!*\
7900
+ !*** ./lib/SODAS_SDK_CLASS/sodasSDKClass.ts ***!
7901
+ \**********************************************/
7902
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7903
+
7904
+ "use strict";
7905
+ __webpack_require__.r(__webpack_exports__);
7906
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7907
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
7908
+ /* harmony export */ throwErrorIfAPIURLNotSetForStatic: () => (/* binding */ throwErrorIfAPIURLNotSetForStatic)
7892
7909
  /* harmony export */ });
7893
7910
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
7894
7911
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
@@ -7962,16 +7979,10 @@ class SODAS_SDK_CLASS {
7962
7979
  "use strict";
7963
7980
  __webpack_require__.r(__webpack_exports__);
7964
7981
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7965
- /* harmony export */ EXPECTED_TYPE: () => (/* binding */ EXPECTED_TYPE),
7966
- /* harmony export */ VALIDATION_TYPE: () => (/* binding */ VALIDATION_TYPE),
7967
7982
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7968
7983
  /* harmony export */ });
7969
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
7970
- /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
7971
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
7972
- /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/util */ "./lib/core/util.ts");
7973
- /* harmony import */ var _governanceClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../governanceClass */ "./lib/SODAS_SDK_CLASS/governanceClass.ts");
7974
- /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
7984
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
7985
+ /* harmony import */ var _validationType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validationType */ "./lib/SODAS_SDK_CLASS/template/validationType.ts");
7975
7986
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
7976
7987
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7977
7988
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -7981,47 +7992,16 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
7981
7992
  step((generator = generator.apply(thisArg, _arguments || [])).next());
7982
7993
  });
7983
7994
  };
7984
-
7985
-
7986
-
7987
-
7988
-
7989
-
7990
- var VALIDATION_TYPE;
7991
- (function (VALIDATION_TYPE) {
7992
- VALIDATION_TYPE["DATA_TYPE"] = "data_type";
7993
- VALIDATION_TYPE["RANGE"] = "range";
7994
- VALIDATION_TYPE["PATTERN"] = "pattern";
7995
- VALIDATION_TYPE["UNIQUENESS"] = "uniqueness";
7996
- VALIDATION_TYPE["COMPLETENESS"] = "completeness";
7997
- VALIDATION_TYPE["LENGTH"] = "length";
7998
- VALIDATION_TYPE["ALLOWED_VALUES"] = "allowed_values";
7999
- VALIDATION_TYPE["OUTLIER"] = "outlier";
8000
- VALIDATION_TYPE["STATISTICAL"] = "statistical";
8001
- })(VALIDATION_TYPE || (VALIDATION_TYPE = {}));
8002
- var EXPECTED_TYPE;
8003
- (function (EXPECTED_TYPE) {
8004
- EXPECTED_TYPE["NUMERIC"] = "numeric";
8005
- EXPECTED_TYPE["STRING"] = "string";
8006
- EXPECTED_TYPE["DATETIME"] = "datetime";
8007
- })(EXPECTED_TYPE || (EXPECTED_TYPE = {}));
8008
- class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
7995
+
7996
+
7997
+ class ValidationTemplate extends _profileModel__WEBPACK_IMPORTED_MODULE_0__["default"] {
8009
7998
  static configureAPIURL(url) {
8010
- const PREFIX = "api/v1/governance/template";
8011
- ValidationTemplate.API_URL = `${url}/${PREFIX}/validation`;
7999
+ ValidationTemplate.API_URL = `${url}/validation-template`;
8012
8000
  ValidationTemplate.LIST_URL = `${ValidationTemplate.API_URL}/list`;
8013
- ValidationTemplate.GET_URL = `${ValidationTemplate.API_URL}/get`;
8014
- ValidationTemplate.CREATE_URL = `${ValidationTemplate.API_URL}/create`;
8015
- ValidationTemplate.UPDATE_URL = `${ValidationTemplate.API_URL}/update`;
8016
- ValidationTemplate.DELETE_URL = `${ValidationTemplate.API_URL}/remove`;
8017
8001
  }
8018
8002
  toDTO() {
8019
- return Object.assign(Object.assign(Object.assign(Object.assign({}, super.toDTO()), { name: this.Name }), (this.ValidationRules && { validationRules: this.ValidationRules })), (this.Description && { description: this.Description }));
8020
- }
8021
- populateFromFormData(data) {
8022
- return __awaiter(this, void 0, void 0, function* () {
8023
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.NeedToImplementError();
8024
- });
8003
+ var _a;
8004
+ return Object.assign(Object.assign({}, super.toDTO()), { Name: this.Name, Description: this.Description, ValidationRules: (_a = this.ValidationRules) === null || _a === void 0 ? void 0 : _a.map((rule) => rule.toDTO()) });
8025
8005
  }
8026
8006
  populateFromDTO(dto) {
8027
8007
  const _super = Object.create(null, {
@@ -8030,28 +8010,11 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
8030
8010
  return __awaiter(this, void 0, void 0, function* () {
8031
8011
  yield _super.populateFromDTO.call(this, dto);
8032
8012
  const validationTemplateDTO = dto;
8033
- this.ValidationRules = validationTemplateDTO.validationRules;
8034
- this.Name = validationTemplateDTO.name;
8035
- this.Description = validationTemplateDTO.description;
8036
- });
8037
- }
8038
- static listDBRecords() {
8039
- return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC, vocabularyID) {
8040
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_4__.throwErrorIfAPIURLNotSetForStatic)(ValidationTemplate);
8041
- try {
8042
- const response = yield axios__WEBPACK_IMPORTED_MODULE_5__["default"].get(ValidationTemplate.LIST_URL, {
8043
- params: {
8044
- offset: (pageNumber - 1) * pageSize,
8045
- limit: pageSize,
8046
- ordered: sortOrder,
8047
- vocabularyId: vocabularyID,
8048
- },
8049
- // headers,
8050
- });
8051
- return yield ValidationTemplate.listResponseToPaginatedResponse(response);
8052
- }
8053
- catch (error) {
8054
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
8013
+ validationTemplateDTO.Name && (this.Name = validationTemplateDTO.Name);
8014
+ validationTemplateDTO.Description &&
8015
+ (this.Description = validationTemplateDTO.Description);
8016
+ if (validationTemplateDTO.ValidationRules !== undefined) {
8017
+ this.ValidationRules = ValidationTemplate.parseValidationRules(validationTemplateDTO.ValidationRules);
8055
8018
  }
8056
8019
  });
8057
8020
  }
@@ -8074,24 +8037,62 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
8074
8037
  this.ValidationRules = value;
8075
8038
  }
8076
8039
  static parseValidationRules(rawRules) {
8040
+ if (rawRules === null || rawRules === undefined) {
8041
+ return [];
8042
+ }
8077
8043
  return rawRules.map((rule) => {
8078
- const baseRule = {
8079
- column: rule.column,
8080
- name: rule.name,
8081
- type: rule.type,
8082
- };
8044
+ let validationRule;
8083
8045
  switch (rule.type) {
8084
- case VALIDATION_TYPE.COMPLETENESS:
8085
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.COMPLETENESS, min_completeness: rule.min_completeness, weight: rule.weight });
8086
- case VALIDATION_TYPE.DATA_TYPE:
8087
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.DATA_TYPE, expected_type: rule.expected_type, weight: rule.weight });
8088
- case VALIDATION_TYPE.PATTERN:
8089
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.PATTERN, pattern: rule.pattern, weight: rule.weight });
8090
- case VALIDATION_TYPE.UNIQUENESS:
8091
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.UNIQUENESS, weight: rule.weight });
8046
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.COMPLETENESS:
8047
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CompletenessValidationRule();
8048
+ validationRule.populateFromDTO(rule);
8049
+ break;
8050
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.DATA_TYPE:
8051
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.DataTypeValidationRule();
8052
+ validationRule.populateFromDTO(rule);
8053
+ break;
8054
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.PATTERN:
8055
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.PatternValidationRule();
8056
+ validationRule.populateFromDTO(rule);
8057
+ break;
8058
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.UNIQUENESS:
8059
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.UniquenessValidationRule();
8060
+ validationRule.populateFromDTO(rule);
8061
+ break;
8062
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.RANGE:
8063
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.RangeValidationRule();
8064
+ validationRule.populateFromDTO(rule);
8065
+ break;
8066
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.CUSTOM:
8067
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CustomValidationRule();
8068
+ validationRule.populateFromDTO(rule);
8069
+ break;
8070
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.LENGTH:
8071
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.LengthValidationRule();
8072
+ validationRule.populateFromDTO(rule);
8073
+ break;
8074
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.ALLOWED_VALUES:
8075
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.AllowedValuesValidationRule();
8076
+ validationRule.populateFromDTO(rule);
8077
+ break;
8078
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.OUTLIER:
8079
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.OutlierValidationRule();
8080
+ validationRule.populateFromDTO(rule);
8081
+ break;
8082
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.STATISTICAL:
8083
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.StatisticalValidationRule();
8084
+ validationRule.populateFromDTO(rule);
8085
+ break;
8092
8086
  default:
8093
- return baseRule;
8087
+ // For unknown types, create a base ValidationRule
8088
+ validationRule = new (class extends _validationType__WEBPACK_IMPORTED_MODULE_1__.ValidationRule {
8089
+ constructor() {
8090
+ super(rule.type);
8091
+ }
8092
+ })();
8093
+ validationRule.populateFromDTO(rule);
8094
8094
  }
8095
+ return validationRule;
8095
8096
  });
8096
8097
  }
8097
8098
  ensureValidationRulesInitialized() {
@@ -8099,63 +8100,141 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
8099
8100
  this.ValidationRules = [];
8100
8101
  }
8101
8102
  }
8102
- createRule(type) {
8103
+ // Type-specific creator methods
8104
+ createRangeRule() {
8103
8105
  this.ensureValidationRulesInitialized();
8104
- let rule;
8105
- const baseRule = {
8106
- column: "",
8107
- name: "",
8108
- type,
8109
- };
8110
- switch (type) {
8111
- case VALIDATION_TYPE.COMPLETENESS:
8112
- rule = Object.assign(Object.assign({}, baseRule), { min_completeness: 0, weight: 0 });
8113
- break;
8114
- case VALIDATION_TYPE.DATA_TYPE:
8115
- rule = Object.assign(Object.assign({}, baseRule), { expected_type: EXPECTED_TYPE.STRING, weight: 0 });
8116
- break;
8117
- case VALIDATION_TYPE.PATTERN:
8118
- rule = Object.assign(Object.assign({}, baseRule), { pattern: "", weight: 0 });
8119
- break;
8120
- case VALIDATION_TYPE.UNIQUENESS:
8121
- rule = Object.assign(Object.assign({}, baseRule), { weight: 0 });
8122
- break;
8123
- default:
8124
- rule = baseRule;
8125
- }
8106
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.RangeValidationRule();
8107
+ this.ValidationRules.push(rule);
8108
+ return rule;
8109
+ }
8110
+ createPatternRule() {
8111
+ this.ensureValidationRulesInitialized();
8112
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.PatternValidationRule();
8113
+ this.ValidationRules.push(rule);
8114
+ return rule;
8115
+ }
8116
+ createCompletenessRule() {
8117
+ this.ensureValidationRulesInitialized();
8118
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CompletenessValidationRule();
8119
+ this.ValidationRules.push(rule);
8120
+ return rule;
8121
+ }
8122
+ createDataTypeRule() {
8123
+ this.ensureValidationRulesInitialized();
8124
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.DataTypeValidationRule();
8125
+ this.ValidationRules.push(rule);
8126
+ return rule;
8127
+ }
8128
+ createUniquenessRule() {
8129
+ this.ensureValidationRulesInitialized();
8130
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.UniquenessValidationRule();
8131
+ this.ValidationRules.push(rule);
8132
+ return rule;
8133
+ }
8134
+ createCustomRule() {
8135
+ this.ensureValidationRulesInitialized();
8136
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CustomValidationRule();
8137
+ this.ValidationRules.push(rule);
8138
+ return rule;
8139
+ }
8140
+ createLengthRule() {
8141
+ this.ensureValidationRulesInitialized();
8142
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.LengthValidationRule();
8143
+ this.ValidationRules.push(rule);
8144
+ return rule;
8145
+ }
8146
+ createAllowedValuesRule() {
8147
+ this.ensureValidationRulesInitialized();
8148
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.AllowedValuesValidationRule();
8149
+ this.ValidationRules.push(rule);
8150
+ return rule;
8151
+ }
8152
+ createOutlierRule() {
8153
+ this.ensureValidationRulesInitialized();
8154
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.OutlierValidationRule();
8155
+ this.ValidationRules.push(rule);
8156
+ return rule;
8157
+ }
8158
+ createStatisticalRule() {
8159
+ this.ensureValidationRulesInitialized();
8160
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.StatisticalValidationRule();
8126
8161
  this.ValidationRules.push(rule);
8127
8162
  return rule;
8128
8163
  }
8129
- deleteRuleAt(index) {
8164
+ // Type-specific getter methods
8165
+ getRangeRules() {
8130
8166
  if (!this.ValidationRules) {
8131
- return;
8167
+ return [];
8132
8168
  }
8133
- if (index < 0 || index >= this.ValidationRules.length) {
8134
- return;
8169
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.RANGE);
8170
+ }
8171
+ getPatternRules() {
8172
+ if (!this.ValidationRules) {
8173
+ return [];
8135
8174
  }
8136
- this.ValidationRules.splice(index, 1);
8175
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.PATTERN);
8137
8176
  }
8138
- deleteRuleByTypeAt(type, index) {
8177
+ getCompletenessRules() {
8139
8178
  if (!this.ValidationRules) {
8140
- return;
8179
+ return [];
8141
8180
  }
8142
- if (index < 0) {
8181
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.COMPLETENESS);
8182
+ }
8183
+ getDataTypeRules() {
8184
+ if (!this.ValidationRules) {
8185
+ return [];
8186
+ }
8187
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.DATA_TYPE);
8188
+ }
8189
+ getUniquenessRules() {
8190
+ if (!this.ValidationRules) {
8191
+ return [];
8192
+ }
8193
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.UNIQUENESS);
8194
+ }
8195
+ getCustomRules() {
8196
+ if (!this.ValidationRules) {
8197
+ return [];
8198
+ }
8199
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.CUSTOM);
8200
+ }
8201
+ getLengthRules() {
8202
+ if (!this.ValidationRules) {
8203
+ return [];
8204
+ }
8205
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.LENGTH);
8206
+ }
8207
+ getAllowedValuesRules() {
8208
+ if (!this.ValidationRules) {
8209
+ return [];
8210
+ }
8211
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.ALLOWED_VALUES);
8212
+ }
8213
+ getOutlierRules() {
8214
+ if (!this.ValidationRules) {
8215
+ return [];
8216
+ }
8217
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.OUTLIER);
8218
+ }
8219
+ getStatisticalRules() {
8220
+ if (!this.ValidationRules) {
8221
+ return [];
8222
+ }
8223
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.STATISTICAL);
8224
+ }
8225
+ // Delete rule method
8226
+ deleteRule(rule) {
8227
+ if (!this.ValidationRules) {
8143
8228
  return;
8144
8229
  }
8145
- let current = 0;
8146
- for (let i = 0; i < this.ValidationRules.length; i++) {
8147
- if (this.ValidationRules[i].type === type) {
8148
- if (current === index) {
8149
- this.ValidationRules.splice(i, 1);
8150
- return;
8151
- }
8152
- current++;
8153
- }
8230
+ const index = this.ValidationRules.indexOf(rule);
8231
+ if (index !== -1) {
8232
+ this.ValidationRules.splice(index, 1);
8154
8233
  }
8155
8234
  }
8156
8235
  static groupValidationRulesByColumn(rules) {
8157
8236
  return rules.reduce((acc, rule) => {
8158
- const column = rule.column;
8237
+ const column = rule.getColumn;
8159
8238
  if (!acc[column]) {
8160
8239
  acc[column] = [];
8161
8240
  }
@@ -8165,7 +8244,7 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
8165
8244
  }
8166
8245
  static groupValidationRulesByType(rules) {
8167
8246
  return rules.reduce((acc, rule) => {
8168
- const type = rule.type;
8247
+ const type = rule.getType;
8169
8248
  if (!acc[type]) {
8170
8249
  acc[type] = [];
8171
8250
  }
@@ -8258,30 +8337,8 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
8258
8337
  * @returns Escaped JSON string with format: "{\"validation_rules\":[...]}"
8259
8338
  */
8260
8339
  static stringifyValidationRulesToEscapedString(rules) {
8261
- // Convert ValidationRule[] to plain objects for JSON serialization
8262
- const plainRules = rules.map((rule) => {
8263
- const plainRule = {
8264
- column: rule.column,
8265
- name: rule.name,
8266
- type: rule.type,
8267
- };
8268
- switch (rule.type) {
8269
- case VALIDATION_TYPE.COMPLETENESS:
8270
- const completenessRule = rule;
8271
- return Object.assign(Object.assign({}, plainRule), { min_completeness: completenessRule.min_completeness, weight: completenessRule.weight });
8272
- case VALIDATION_TYPE.DATA_TYPE:
8273
- const dataTypeRule = rule;
8274
- return Object.assign(Object.assign({}, plainRule), { expected_type: dataTypeRule.expected_type, weight: dataTypeRule.weight });
8275
- case VALIDATION_TYPE.PATTERN:
8276
- const patternRule = rule;
8277
- return Object.assign(Object.assign({}, plainRule), { pattern: patternRule.pattern, weight: patternRule.weight });
8278
- case VALIDATION_TYPE.UNIQUENESS:
8279
- const uniquenessRule = rule;
8280
- return Object.assign(Object.assign({}, plainRule), { weight: uniquenessRule.weight });
8281
- default:
8282
- return plainRule;
8283
- }
8284
- });
8340
+ // Convert ValidationRule[] to plain objects for JSON serialization using toDTO
8341
+ const plainRules = rules.map((rule) => rule.toDTO());
8285
8342
  // Create object with validation_rules property
8286
8343
  if (rules._escapedString) {
8287
8344
  return rules._escapedString;
@@ -8291,13 +8348,411 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
8291
8348
  const escaped = jsonString.replace(/"/g, '\\"');
8292
8349
  return '"' + escaped + '"';
8293
8350
  }
8294
- get rules() {
8295
- return this.ValidationRules;
8296
- }
8297
8351
  }
8298
8352
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
8299
8353
 
8300
8354
 
8355
+ /***/ }),
8356
+
8357
+ /***/ "./lib/SODAS_SDK_CLASS/template/validationType.ts":
8358
+ /*!********************************************************!*\
8359
+ !*** ./lib/SODAS_SDK_CLASS/template/validationType.ts ***!
8360
+ \********************************************************/
8361
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8362
+
8363
+ "use strict";
8364
+ __webpack_require__.r(__webpack_exports__);
8365
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8366
+ /* harmony export */ AllowedValuesValidationRule: () => (/* binding */ AllowedValuesValidationRule),
8367
+ /* harmony export */ COMPARISION_OPERATOR: () => (/* binding */ COMPARISION_OPERATOR),
8368
+ /* harmony export */ CUSTOM_CONDITION_TYPE: () => (/* binding */ CUSTOM_CONDITION_TYPE),
8369
+ /* harmony export */ CompletenessValidationRule: () => (/* binding */ CompletenessValidationRule),
8370
+ /* harmony export */ CustomValidationRule: () => (/* binding */ CustomValidationRule),
8371
+ /* harmony export */ DATETIME_FORMAT_TYPE: () => (/* binding */ DATETIME_FORMAT_TYPE),
8372
+ /* harmony export */ DataTypeValidationRule: () => (/* binding */ DataTypeValidationRule),
8373
+ /* harmony export */ EXPECTED_TYPE: () => (/* binding */ EXPECTED_TYPE),
8374
+ /* harmony export */ LengthValidationRule: () => (/* binding */ LengthValidationRule),
8375
+ /* harmony export */ OUTLIER_METHOD: () => (/* binding */ OUTLIER_METHOD),
8376
+ /* harmony export */ OutlierValidationRule: () => (/* binding */ OutlierValidationRule),
8377
+ /* harmony export */ PatternValidationRule: () => (/* binding */ PatternValidationRule),
8378
+ /* harmony export */ RangeValidationRule: () => (/* binding */ RangeValidationRule),
8379
+ /* harmony export */ StatisticalValidationRule: () => (/* binding */ StatisticalValidationRule),
8380
+ /* harmony export */ UniquenessValidationRule: () => (/* binding */ UniquenessValidationRule),
8381
+ /* harmony export */ VALIDATION_TYPE: () => (/* binding */ VALIDATION_TYPE),
8382
+ /* harmony export */ ValidationRule: () => (/* binding */ ValidationRule)
8383
+ /* harmony export */ });
8384
+ var VALIDATION_TYPE;
8385
+ (function (VALIDATION_TYPE) {
8386
+ VALIDATION_TYPE["DATA_TYPE"] = "data_type";
8387
+ VALIDATION_TYPE["RANGE"] = "range";
8388
+ VALIDATION_TYPE["PATTERN"] = "pattern";
8389
+ VALIDATION_TYPE["UNIQUENESS"] = "uniqueness";
8390
+ VALIDATION_TYPE["CUSTOM"] = "custom";
8391
+ VALIDATION_TYPE["COMPLETENESS"] = "completeness";
8392
+ VALIDATION_TYPE["LENGTH"] = "length";
8393
+ VALIDATION_TYPE["ALLOWED_VALUES"] = "allowed_values";
8394
+ VALIDATION_TYPE["OUTLIER"] = "outlier";
8395
+ VALIDATION_TYPE["STATISTICAL"] = "statistical";
8396
+ })(VALIDATION_TYPE || (VALIDATION_TYPE = {}));
8397
+ var EXPECTED_TYPE;
8398
+ (function (EXPECTED_TYPE) {
8399
+ EXPECTED_TYPE["NUMERIC"] = "numeric";
8400
+ EXPECTED_TYPE["STRING"] = "string";
8401
+ EXPECTED_TYPE["DATETIME"] = "datetime";
8402
+ })(EXPECTED_TYPE || (EXPECTED_TYPE = {}));
8403
+ class ValidationRule {
8404
+ constructor(type) {
8405
+ this.column = "";
8406
+ this.name = "";
8407
+ this.weight = 0;
8408
+ this.type = type;
8409
+ }
8410
+ toDTO() {
8411
+ return {
8412
+ column: this.column,
8413
+ name: this.name,
8414
+ type: this.type,
8415
+ weight: this.weight,
8416
+ };
8417
+ }
8418
+ populateFromDTO(dto) {
8419
+ this.column = dto.column || "";
8420
+ this.name = dto.name || "";
8421
+ this.weight = dto.weight || 0;
8422
+ }
8423
+ // Common setters with chaining
8424
+ setColumn(column) {
8425
+ this.column = column;
8426
+ return this;
8427
+ }
8428
+ setName(name) {
8429
+ this.name = name;
8430
+ return this;
8431
+ }
8432
+ setWeight(weight) {
8433
+ this.weight = weight;
8434
+ return this;
8435
+ }
8436
+ // Getters
8437
+ get getColumn() {
8438
+ return this.column;
8439
+ }
8440
+ get getName() {
8441
+ return this.name;
8442
+ }
8443
+ get getType() {
8444
+ return this.type;
8445
+ }
8446
+ get getWeight() {
8447
+ return this.weight;
8448
+ }
8449
+ }
8450
+ class UniquenessValidationRule extends ValidationRule {
8451
+ constructor() {
8452
+ super(VALIDATION_TYPE.UNIQUENESS);
8453
+ this.unique = false;
8454
+ }
8455
+ toDTO() {
8456
+ return Object.assign(Object.assign({}, super.toDTO()), { unique: this.unique });
8457
+ }
8458
+ populateFromDTO(dto) {
8459
+ var _a;
8460
+ super.populateFromDTO(dto);
8461
+ this.unique = (_a = dto.unique) !== null && _a !== void 0 ? _a : false;
8462
+ }
8463
+ setUnique(unique) {
8464
+ this.unique = unique;
8465
+ return this;
8466
+ }
8467
+ get getUnique() {
8468
+ return this.unique;
8469
+ }
8470
+ }
8471
+ class PatternValidationRule extends ValidationRule {
8472
+ constructor() {
8473
+ super(VALIDATION_TYPE.PATTERN);
8474
+ this.pattern = "";
8475
+ }
8476
+ toDTO() {
8477
+ return Object.assign(Object.assign({}, super.toDTO()), { pattern: this.pattern });
8478
+ }
8479
+ populateFromDTO(dto) {
8480
+ super.populateFromDTO(dto);
8481
+ this.pattern = dto.pattern || "";
8482
+ }
8483
+ setPattern(pattern) {
8484
+ this.pattern = pattern;
8485
+ return this;
8486
+ }
8487
+ get getPattern() {
8488
+ return this.pattern;
8489
+ }
8490
+ }
8491
+ class RangeValidationRule extends ValidationRule {
8492
+ constructor() {
8493
+ super(VALIDATION_TYPE.RANGE);
8494
+ this.min_value = 0;
8495
+ this.max_value = 0;
8496
+ }
8497
+ toDTO() {
8498
+ return Object.assign(Object.assign({}, super.toDTO()), { min_value: this.min_value, max_value: this.max_value });
8499
+ }
8500
+ populateFromDTO(dto) {
8501
+ var _a, _b;
8502
+ super.populateFromDTO(dto);
8503
+ this.min_value = (_a = dto.min_value) !== null && _a !== void 0 ? _a : 0;
8504
+ this.max_value = (_b = dto.max_value) !== null && _b !== void 0 ? _b : 0;
8505
+ }
8506
+ setMinValue(minValue) {
8507
+ this.min_value = minValue;
8508
+ return this;
8509
+ }
8510
+ setMaxValue(maxValue) {
8511
+ this.max_value = maxValue;
8512
+ return this;
8513
+ }
8514
+ get getMinValue() {
8515
+ return this.min_value;
8516
+ }
8517
+ get getMaxValue() {
8518
+ return this.max_value;
8519
+ }
8520
+ }
8521
+ var COMPARISION_OPERATOR;
8522
+ (function (COMPARISION_OPERATOR) {
8523
+ COMPARISION_OPERATOR["EQUAL"] = "==";
8524
+ COMPARISION_OPERATOR["NOT_EQUAL"] = "!=";
8525
+ COMPARISION_OPERATOR["GREATER_THAN"] = ">";
8526
+ COMPARISION_OPERATOR["LESS_THAN"] = "<";
8527
+ COMPARISION_OPERATOR["GREATER_THAN_OR_EQUAL"] = ">=";
8528
+ COMPARISION_OPERATOR["LESS_THAN_OR_EQUAL"] = "<=";
8529
+ })(COMPARISION_OPERATOR || (COMPARISION_OPERATOR = {}));
8530
+ var CUSTOM_CONDITION_TYPE;
8531
+ (function (CUSTOM_CONDITION_TYPE) {
8532
+ CUSTOM_CONDITION_TYPE["ALL"] = "all";
8533
+ CUSTOM_CONDITION_TYPE["ANY"] = "any";
8534
+ CUSTOM_CONDITION_TYPE["MIN"] = "min";
8535
+ CUSTOM_CONDITION_TYPE["MAX"] = "max";
8536
+ CUSTOM_CONDITION_TYPE["MEAN"] = "mean";
8537
+ CUSTOM_CONDITION_TYPE["RATIO"] = "ratio";
8538
+ })(CUSTOM_CONDITION_TYPE || (CUSTOM_CONDITION_TYPE = {}));
8539
+ class CustomValidationRule extends ValidationRule {
8540
+ constructor() {
8541
+ super(VALIDATION_TYPE.CUSTOM);
8542
+ this.condition = {
8543
+ type: CUSTOM_CONDITION_TYPE.ALL,
8544
+ threholder: 0,
8545
+ comparision: COMPARISION_OPERATOR.EQUAL,
8546
+ };
8547
+ }
8548
+ toDTO() {
8549
+ return Object.assign(Object.assign({}, super.toDTO()), { condition: this.condition });
8550
+ }
8551
+ populateFromDTO(dto) {
8552
+ var _a;
8553
+ super.populateFromDTO(dto);
8554
+ if (dto.condition) {
8555
+ this.condition = {
8556
+ type: dto.condition.type || CUSTOM_CONDITION_TYPE.ALL,
8557
+ threholder: (_a = dto.condition.threholder) !== null && _a !== void 0 ? _a : 0,
8558
+ comparision: dto.condition.comparision || COMPARISION_OPERATOR.EQUAL,
8559
+ };
8560
+ }
8561
+ }
8562
+ setCondition(condition) {
8563
+ this.condition = condition;
8564
+ return this;
8565
+ }
8566
+ get getCondition() {
8567
+ return this.condition;
8568
+ }
8569
+ }
8570
+ class LengthValidationRule extends ValidationRule {
8571
+ constructor() {
8572
+ super(VALIDATION_TYPE.LENGTH);
8573
+ this.min_length = 0;
8574
+ this.max_length = 0;
8575
+ }
8576
+ toDTO() {
8577
+ return Object.assign(Object.assign({}, super.toDTO()), { min_length: this.min_length, max_length: this.max_length });
8578
+ }
8579
+ populateFromDTO(dto) {
8580
+ var _a, _b;
8581
+ super.populateFromDTO(dto);
8582
+ this.min_length = (_a = dto.min_length) !== null && _a !== void 0 ? _a : 0;
8583
+ this.max_length = (_b = dto.max_length) !== null && _b !== void 0 ? _b : 0;
8584
+ }
8585
+ setMinLength(minLength) {
8586
+ this.min_length = minLength;
8587
+ return this;
8588
+ }
8589
+ setMaxLength(maxLength) {
8590
+ this.max_length = maxLength;
8591
+ return this;
8592
+ }
8593
+ get getMinLength() {
8594
+ return this.min_length;
8595
+ }
8596
+ get getMaxLength() {
8597
+ return this.max_length;
8598
+ }
8599
+ }
8600
+ class AllowedValuesValidationRule extends ValidationRule {
8601
+ constructor() {
8602
+ super(VALIDATION_TYPE.ALLOWED_VALUES);
8603
+ this.allowed_values = [];
8604
+ }
8605
+ toDTO() {
8606
+ return Object.assign(Object.assign({}, super.toDTO()), { allowed_values: this.allowed_values });
8607
+ }
8608
+ populateFromDTO(dto) {
8609
+ super.populateFromDTO(dto);
8610
+ this.allowed_values = dto.allowed_values || [];
8611
+ }
8612
+ setAllowedValues(allowedValues) {
8613
+ this.allowed_values = allowedValues;
8614
+ return this;
8615
+ }
8616
+ get getAllowedValues() {
8617
+ return this.allowed_values;
8618
+ }
8619
+ }
8620
+ var OUTLIER_METHOD;
8621
+ (function (OUTLIER_METHOD) {
8622
+ OUTLIER_METHOD["Z_SCORE"] = "zscore";
8623
+ OUTLIER_METHOD["IQR"] = "iqr";
8624
+ OUTLIER_METHOD["ISOLATION"] = "isolation";
8625
+ })(OUTLIER_METHOD || (OUTLIER_METHOD = {}));
8626
+ class OutlierValidationRule extends ValidationRule {
8627
+ constructor() {
8628
+ super(VALIDATION_TYPE.OUTLIER);
8629
+ this.method = OUTLIER_METHOD.Z_SCORE;
8630
+ this.threshold = 0;
8631
+ }
8632
+ toDTO() {
8633
+ return Object.assign(Object.assign({}, super.toDTO()), { method: this.method, threshold: this.threshold });
8634
+ }
8635
+ populateFromDTO(dto) {
8636
+ var _a;
8637
+ super.populateFromDTO(dto);
8638
+ this.method = dto.method || OUTLIER_METHOD.Z_SCORE;
8639
+ this.threshold = (_a = dto.threshold) !== null && _a !== void 0 ? _a : 0;
8640
+ }
8641
+ setMethod(method) {
8642
+ this.method = method;
8643
+ return this;
8644
+ }
8645
+ setThreshold(threshold) {
8646
+ this.threshold = threshold;
8647
+ return this;
8648
+ }
8649
+ get getMethod() {
8650
+ return this.method;
8651
+ }
8652
+ get getThreshold() {
8653
+ return this.threshold;
8654
+ }
8655
+ }
8656
+ class StatisticalValidationRule extends ValidationRule {
8657
+ constructor() {
8658
+ super(VALIDATION_TYPE.STATISTICAL);
8659
+ this.check = "";
8660
+ this.threshold = 0;
8661
+ this.comparision = COMPARISION_OPERATOR.EQUAL;
8662
+ }
8663
+ toDTO() {
8664
+ return Object.assign(Object.assign({}, super.toDTO()), { check: this.check, threshold: this.threshold, comparision: this.comparision });
8665
+ }
8666
+ populateFromDTO(dto) {
8667
+ var _a;
8668
+ super.populateFromDTO(dto);
8669
+ this.check = dto.check || "";
8670
+ this.threshold = (_a = dto.threshold) !== null && _a !== void 0 ? _a : 0;
8671
+ this.comparision = dto.comparision || COMPARISION_OPERATOR.EQUAL;
8672
+ }
8673
+ setCheck(check) {
8674
+ this.check = check;
8675
+ return this;
8676
+ }
8677
+ setThreshold(threshold) {
8678
+ this.threshold = threshold;
8679
+ return this;
8680
+ }
8681
+ setComparision(comparision) {
8682
+ this.comparision = comparision;
8683
+ return this;
8684
+ }
8685
+ get getCheck() {
8686
+ return this.check;
8687
+ }
8688
+ get getThreshold() {
8689
+ return this.threshold;
8690
+ }
8691
+ get getComparision() {
8692
+ return this.comparision;
8693
+ }
8694
+ }
8695
+ class CompletenessValidationRule extends ValidationRule {
8696
+ constructor() {
8697
+ super(VALIDATION_TYPE.COMPLETENESS);
8698
+ this.min_completeness = 0;
8699
+ }
8700
+ toDTO() {
8701
+ return Object.assign(Object.assign({}, super.toDTO()), { min_completeness: this.min_completeness });
8702
+ }
8703
+ populateFromDTO(dto) {
8704
+ var _a;
8705
+ super.populateFromDTO(dto);
8706
+ this.min_completeness = (_a = dto.min_completeness) !== null && _a !== void 0 ? _a : 0;
8707
+ }
8708
+ setMinCompleteness(minCompleteness) {
8709
+ this.min_completeness = minCompleteness;
8710
+ return this;
8711
+ }
8712
+ get getMinCompleteness() {
8713
+ return this.min_completeness;
8714
+ }
8715
+ }
8716
+ var DATETIME_FORMAT_TYPE;
8717
+ (function (DATETIME_FORMAT_TYPE) {
8718
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_HH_MM_SS"] = "%Y-%m-%d %H:%M:%S";
8719
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD"] = "%Y-%m-%d";
8720
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_SLASH"] = "%Y/%m/%d";
8721
+ DATETIME_FORMAT_TYPE["DD_MM_YYYY"] = "%d-%m-%Y";
8722
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_T_HH_MM_SS"] = "%Y-%m-%dT%H:%M:%S";
8723
+ })(DATETIME_FORMAT_TYPE || (DATETIME_FORMAT_TYPE = {}));
8724
+ class DataTypeValidationRule extends ValidationRule {
8725
+ constructor() {
8726
+ super(VALIDATION_TYPE.DATA_TYPE);
8727
+ this.expected_type = EXPECTED_TYPE.STRING;
8728
+ this.datetime_format = DATETIME_FORMAT_TYPE.YYYY_MM_DD_HH_MM_SS;
8729
+ }
8730
+ toDTO() {
8731
+ return Object.assign(Object.assign({}, super.toDTO()), { expected_type: this.expected_type, datetime_format: this.datetime_format });
8732
+ }
8733
+ populateFromDTO(dto) {
8734
+ super.populateFromDTO(dto);
8735
+ this.expected_type = dto.expected_type || EXPECTED_TYPE.STRING;
8736
+ this.datetime_format =
8737
+ dto.datetime_format || DATETIME_FORMAT_TYPE.YYYY_MM_DD_HH_MM_SS;
8738
+ }
8739
+ setExpectedType(expectedType) {
8740
+ this.expected_type = expectedType;
8741
+ return this;
8742
+ }
8743
+ setDatetimeFormat(datetimeFormat) {
8744
+ this.datetime_format = datetimeFormat;
8745
+ return this;
8746
+ }
8747
+ get getExpectedType() {
8748
+ return this.expected_type;
8749
+ }
8750
+ get getDatetimeFormat() {
8751
+ return this.datetime_format;
8752
+ }
8753
+ }
8754
+
8755
+
8301
8756
  /***/ }),
8302
8757
 
8303
8758
  /***/ "./lib/SODAS_SDK_FILE/dataFile.ts":
@@ -8598,7 +9053,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
8598
9053
 
8599
9054
 
8600
9055
  class Config {
8601
- constructor(governanceBaseUrl, sodasProfileBaseUrl, legacyDatahubBaseUrl) {
9056
+ constructor(sodasProfileBaseUrl, legacyDatahubBaseUrl, governanceBaseUrl) {
8602
9057
  this.governanceToken = null;
8603
9058
  this.legacyDatahubToken = null;
8604
9059
  this.governanceBaseUrl = governanceBaseUrl.replace(/\/$/, "");
@@ -8610,9 +9065,9 @@ class Config {
8610
9065
  * Explicitly configure the SDK with the given API URLs.
8611
9066
  * This is the preferred way to set API URLs instead of using configureAPIURL.
8612
9067
  */
8613
- static configure(datahubApiUrl, governanceApiUrl, legacyDatahubApiUrl) {
9068
+ static configure(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl) {
8614
9069
  if (!Config.instance) {
8615
- Config.instance = new Config(governanceApiUrl, datahubApiUrl, legacyDatahubApiUrl);
9070
+ Config.instance = new Config(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl);
8616
9071
  }
8617
9072
  else {
8618
9073
  Config.instance.governanceBaseUrl = governanceApiUrl.replace(/\/$/, "");
@@ -8656,6 +9111,7 @@ class Config {
8656
9111
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8657
9112
  _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8658
9113
  _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_7__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
9114
+ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8659
9115
  }
8660
9116
  else {
8661
9117
  console.error("DATAHUB_API_URL not found in config");
@@ -8663,7 +9119,6 @@ class Config {
8663
9119
  if (this.governanceBaseUrl) {
8664
9120
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8665
9121
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8666
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8667
9122
  }
8668
9123
  else {
8669
9124
  console.error("GOVERNANCE_API_URL not found in config");
@@ -8800,8 +9255,6 @@ __webpack_require__.r(__webpack_exports__);
8800
9255
  /* harmony export */ NotRecordedYetError: () => (/* binding */ NotRecordedYetError),
8801
9256
  /* harmony export */ RecordNotFoundError: () => (/* binding */ RecordNotFoundError),
8802
9257
  /* harmony export */ RequirementsNotSetError: () => (/* binding */ RequirementsNotSetError),
8803
- /* harmony export */ ResourceRoleDescriptorAlreadyExist: () => (/* binding */ ResourceRoleDescriptorAlreadyExist),
8804
- /* harmony export */ ResourceRoleDescriptorNotExist: () => (/* binding */ ResourceRoleDescriptorNotExist),
8805
9258
  /* harmony export */ RetryLimitReachedError: () => (/* binding */ RetryLimitReachedError),
8806
9259
  /* harmony export */ SwitchSameIndexError: () => (/* binding */ SwitchSameIndexError),
8807
9260
  /* harmony export */ UnexpectedResponseFormatError: () => (/* binding */ UnexpectedResponseFormatError)
@@ -8892,16 +9345,6 @@ class RequirementsNotSetError extends Error {
8892
9345
  super(`Requirements are not set`);
8893
9346
  }
8894
9347
  }
8895
- class ResourceRoleDescriptorAlreadyExist extends Error {
8896
- constructor(role) {
8897
- super(`Resource Descripotor with specific role : ${role} already exists.`);
8898
- }
8899
- }
8900
- class ResourceRoleDescriptorNotExist extends Error {
8901
- constructor(role) {
8902
- super(`Resource Descripotor with specific role : ${role} doesn't exists.`);
8903
- }
8904
- }
8905
9348
  class RetryLimitReachedError extends Error {
8906
9349
  constructor(max) {
8907
9350
  super(`Max retries[${max}] reached`);
@@ -8956,13 +9399,13 @@ __webpack_require__.r(__webpack_exports__);
8956
9399
  function setGovernanceBearerToken(token) {
8957
9400
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].BEARER_TOKEN = token;
8958
9401
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].BEARER_TOKEN = token;
8959
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
8960
9402
  }
8961
9403
  function setLegacyDatahubBearerToken(token) {
8962
9404
  _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].BEARER_TOKEN = token;
8963
9405
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].BEARER_TOKEN = token;
8964
9406
  _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"].BEARER_TOKEN = token;
8965
9407
  _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"].BEARER_TOKEN = token;
9408
+ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
8966
9409
  }
8967
9410
 
8968
9411
 
@@ -8977,10 +9420,7 @@ function setLegacyDatahubBearerToken(token) {
8977
9420
  "use strict";
8978
9421
  __webpack_require__.r(__webpack_exports__);
8979
9422
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8980
- /* harmony export */ ArtifactType: () => (/* binding */ ArtifactType),
8981
- /* harmony export */ ResourceDescriptorRole: () => (/* binding */ ResourceDescriptorRole),
8982
9423
  /* harmony export */ SortOrder: () => (/* binding */ SortOrder),
8983
- /* harmony export */ TemplateDetailFunctionality: () => (/* binding */ TemplateDetailFunctionality),
8984
9424
  /* harmony export */ asID: () => (/* binding */ asID),
8985
9425
  /* harmony export */ asIDs: () => (/* binding */ asIDs),
8986
9426
  /* harmony export */ asIRI: () => (/* binding */ asIRI),
@@ -9035,51 +9475,6 @@ function toDate(dateString) {
9035
9475
  }
9036
9476
  return date;
9037
9477
  }
9038
- var ResourceDescriptorRole;
9039
- (function (ResourceDescriptorRole) {
9040
- ResourceDescriptorRole["VOCABULARY"] = "vocabulary";
9041
- ResourceDescriptorRole["TYPE"] = "type";
9042
- ResourceDescriptorRole["SCHEMA"] = "schema";
9043
- ResourceDescriptorRole["CONSTRAINT"] = "constraint";
9044
- ResourceDescriptorRole["VALIDATION"] = "validation";
9045
- ResourceDescriptorRole["MAPPING"] = "mapping";
9046
- ResourceDescriptorRole["EXAMPLE"] = "example";
9047
- ResourceDescriptorRole["SPECIFICATION"] = "specification";
9048
- ResourceDescriptorRole["GUIDANCE"] = "guidance";
9049
- })(ResourceDescriptorRole || (ResourceDescriptorRole = {}));
9050
- var ArtifactType;
9051
- (function (ArtifactType) {
9052
- ArtifactType["TEMPLATE"] = "template";
9053
- ArtifactType["FILE"] = "file";
9054
- })(ArtifactType || (ArtifactType = {}));
9055
- var TemplateDetailFunctionality;
9056
- (function (TemplateDetailFunctionality) {
9057
- //VOCABULARY
9058
- TemplateDetailFunctionality["ORIGIN"] = "origin";
9059
- TemplateDetailFunctionality["NAMESPACE"] = "namespaceIRI";
9060
- TemplateDetailFunctionality["TERM"] = "term";
9061
- TemplateDetailFunctionality["DESCRIPTION"] = "description";
9062
- //TYPE
9063
- TemplateDetailFunctionality["NAME"] = "name";
9064
- TemplateDetailFunctionality["LABEL"] = "label";
9065
- TemplateDetailFunctionality["VALUE"] = "value";
9066
- //SCHEMA
9067
- TemplateDetailFunctionality["TYPE"] = "type";
9068
- TemplateDetailFunctionality["REQUIRED"] = "required";
9069
- TemplateDetailFunctionality["FIELD_TERM"] = "fieldTerm";
9070
- //CONSTRAINT
9071
- TemplateDetailFunctionality["FIELD"] = "field";
9072
- TemplateDetailFunctionality["REGEX"] = "regex";
9073
- //VALIDATION
9074
- TemplateDetailFunctionality["MEASURE"] = "measure";
9075
- //MAPPING
9076
- TemplateDetailFunctionality["TARGET_PROFILE"] = "targetProfile";
9077
- TemplateDetailFunctionality["TARGET_FIELD"] = "targetField";
9078
- //EXAMPLE : FIELD, VALUE, DESCIRPTION
9079
- //SPECIFICATION
9080
- TemplateDetailFunctionality["CONVERSION"] = "conversion";
9081
- //GUIDANCE : I think I need to remove it
9082
- })(TemplateDetailFunctionality || (TemplateDetailFunctionality = {}));
9083
9478
  var SortOrder;
9084
9479
  (function (SortOrder) {
9085
9480
  SortOrder["ASC"] = "ASC";
@@ -15486,35 +15881,50 @@ var __webpack_exports__ = {};
15486
15881
  \**********************/
15487
15882
  __webpack_require__.r(__webpack_exports__);
15488
15883
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
15489
- /* harmony export */ ArtifactType: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType),
15490
- /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES),
15491
- /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES),
15492
- /* harmony export */ Config: () => (/* reexport safe */ _core_auth__WEBPACK_IMPORTED_MODULE_5__["default"]),
15884
+ /* harmony export */ AllowedValuesValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.AllowedValuesValidationRule),
15885
+ /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.BASIC_TYPE_VALUES),
15886
+ /* harmony export */ COMPARISION_OPERATOR: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.COMPARISION_OPERATOR),
15887
+ /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.CONVERSION_VALUES),
15888
+ /* harmony export */ CUSTOM_CONDITION_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CUSTOM_CONDITION_TYPE),
15889
+ /* harmony export */ CompletenessValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CompletenessValidationRule),
15890
+ /* harmony export */ Config: () => (/* reexport safe */ _core_auth__WEBPACK_IMPORTED_MODULE_6__["default"]),
15891
+ /* harmony export */ CustomValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CustomValidationRule),
15892
+ /* harmony export */ DATETIME_FORMAT_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DATETIME_FORMAT_TYPE),
15493
15893
  /* harmony export */ DataService: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"]),
15894
+ /* harmony export */ DataTypeValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DataTypeValidationRule),
15494
15895
  /* harmony export */ Dataset: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"]),
15495
15896
  /* harmony export */ DatasetSeries: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"]),
15496
15897
  /* harmony export */ Distribution: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"]),
15497
- /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES),
15498
- /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES),
15499
- /* harmony export */ ResourceDescriptorRole: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole),
15500
- /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder),
15501
- /* harmony export */ TemplateDetailFunctionality: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.TemplateDetailFunctionality),
15898
+ /* harmony export */ EXPECTED_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.EXPECTED_TYPE),
15899
+ /* harmony export */ LengthValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.LengthValidationRule),
15900
+ /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.MEASURE_VALUES),
15901
+ /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.ORIGIN_VALUES),
15902
+ /* harmony export */ OUTLIER_METHOD: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OUTLIER_METHOD),
15903
+ /* harmony export */ OutlierValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OutlierValidationRule),
15904
+ /* harmony export */ PatternValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.PatternValidationRule),
15905
+ /* harmony export */ RangeValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.RangeValidationRule),
15906
+ /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.SortOrder),
15907
+ /* harmony export */ StatisticalValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.StatisticalValidationRule),
15908
+ /* harmony export */ UniquenessValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.UniquenessValidationRule),
15909
+ /* harmony export */ VALIDATION_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.VALIDATION_TYPE),
15910
+ /* harmony export */ ValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.ValidationRule),
15502
15911
  /* harmony export */ ValidationTemplate: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"]),
15503
- /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asID),
15504
- /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI),
15912
+ /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.asID),
15913
+ /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.asIRI),
15505
15914
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
15506
- /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken),
15507
- /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setLegacyDatahubBearerToken)
15915
+ /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_7__.setGovernanceBearerToken),
15916
+ /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_7__.setLegacyDatahubBearerToken)
15508
15917
  /* harmony export */ });
15509
15918
  /* 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");
15510
15919
  /* 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");
15511
15920
  /* 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");
15512
15921
  /* harmony import */ var _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SODAS_SDK_CLASS/DCAT/distribution */ "./lib/SODAS_SDK_CLASS/DCAT/distribution.ts");
15513
15922
  /* harmony import */ var _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SODAS_SDK_CLASS/template/validation */ "./lib/SODAS_SDK_CLASS/template/validation.ts");
15514
- /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
15515
- /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
15516
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
15517
- /* harmony import */ var _core_values__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./core/values */ "./lib/core/values.ts");
15923
+ /* harmony import */ var _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SODAS_SDK_CLASS/template/validationType */ "./lib/SODAS_SDK_CLASS/template/validationType.ts");
15924
+ /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
15925
+ /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
15926
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
15927
+ /* harmony import */ var _core_values__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./core/values */ "./lib/core/values.ts");
15518
15928
  // Import named functions first
15519
15929
 
15520
15930
 
@@ -15525,28 +15935,43 @@ __webpack_require__.r(__webpack_exports__);
15525
15935
 
15526
15936
 
15527
15937
 
15938
+
15528
15939
  // ✅ Named exports (For ES module compatibility)
15529
15940
 
15530
15941
  // ✅ Default export (For CommonJS compatibility)
15531
15942
  const sdk = {
15532
- ArtifactType: _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType,
15533
- BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES,
15534
- CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES,
15535
- Config: _core_auth__WEBPACK_IMPORTED_MODULE_5__["default"],
15943
+ AllowedValuesValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.AllowedValuesValidationRule,
15944
+ BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.BASIC_TYPE_VALUES,
15945
+ COMPARISION_OPERATOR: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.COMPARISION_OPERATOR,
15946
+ CompletenessValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CompletenessValidationRule,
15947
+ CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.CONVERSION_VALUES,
15948
+ Config: _core_auth__WEBPACK_IMPORTED_MODULE_6__["default"],
15949
+ CUSTOM_CONDITION_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CUSTOM_CONDITION_TYPE,
15950
+ CustomValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CustomValidationRule,
15951
+ DATETIME_FORMAT_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DATETIME_FORMAT_TYPE,
15536
15952
  DataService: _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"],
15953
+ DataTypeValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DataTypeValidationRule,
15537
15954
  Dataset: _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"],
15538
15955
  DatasetSeries: _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"],
15539
15956
  Distribution: _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"],
15540
- MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES,
15541
- ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES,
15542
- ResourceDescriptorRole: _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole,
15543
- SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder,
15544
- TemplateDetailFunctionality: _core_type__WEBPACK_IMPORTED_MODULE_7__.TemplateDetailFunctionality,
15957
+ EXPECTED_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.EXPECTED_TYPE,
15958
+ LengthValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.LengthValidationRule,
15959
+ MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.MEASURE_VALUES,
15960
+ ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.ORIGIN_VALUES,
15961
+ OutlierValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OutlierValidationRule,
15962
+ OUTLIER_METHOD: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OUTLIER_METHOD,
15963
+ PatternValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.PatternValidationRule,
15964
+ RangeValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.RangeValidationRule,
15965
+ SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_8__.SortOrder,
15966
+ StatisticalValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.StatisticalValidationRule,
15967
+ UniquenessValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.UniquenessValidationRule,
15968
+ VALIDATION_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.VALIDATION_TYPE,
15969
+ ValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.ValidationRule,
15545
15970
  ValidationTemplate: _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"],
15546
- asID: _core_type__WEBPACK_IMPORTED_MODULE_7__.asID,
15547
- asIRI: _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI,
15548
- setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken,
15549
- setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setLegacyDatahubBearerToken,
15971
+ asID: _core_type__WEBPACK_IMPORTED_MODULE_8__.asID,
15972
+ asIRI: _core_type__WEBPACK_IMPORTED_MODULE_8__.asIRI,
15973
+ setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_7__.setGovernanceBearerToken,
15974
+ setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_7__.setLegacyDatahubBearerToken,
15550
15975
  };
15551
15976
  // ✅ Ensures `require("sodas-sdk")` works in CommonJS
15552
15977
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sdk);