sodas-sdk 1.5.2 → 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 -56
  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 -512
  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 -509
  22. package/dist/index.legacy.browser.js.map +1 -1
  23. package/dist/index.legacy.node.cjs +930 -508
  24. package/dist/index.legacy.node.cjs.map +1 -1
  25. package/dist/index.node.js +947 -512
  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) {
@@ -7980,48 +7991,17 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
7980
7991
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7981
7992
  step((generator = generator.apply(thisArg, _arguments || [])).next());
7982
7993
  });
7983
- };
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"] {
7994
+ };
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,14 +8348,409 @@ 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;
8351
+ }
8352
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
8353
+
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;
8296
8431
  }
8297
- get escapedRules() {
8298
- return ValidationTemplate.stringifyValidationRulesToEscapedString(this.rules);
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;
8299
8752
  }
8300
8753
  }
8301
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
8302
8754
 
8303
8755
 
8304
8756
  /***/ }),
@@ -8601,7 +9053,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
8601
9053
 
8602
9054
 
8603
9055
  class Config {
8604
- constructor(governanceBaseUrl, sodasProfileBaseUrl, legacyDatahubBaseUrl) {
9056
+ constructor(sodasProfileBaseUrl, legacyDatahubBaseUrl, governanceBaseUrl) {
8605
9057
  this.governanceToken = null;
8606
9058
  this.legacyDatahubToken = null;
8607
9059
  this.governanceBaseUrl = governanceBaseUrl.replace(/\/$/, "");
@@ -8613,9 +9065,9 @@ class Config {
8613
9065
  * Explicitly configure the SDK with the given API URLs.
8614
9066
  * This is the preferred way to set API URLs instead of using configureAPIURL.
8615
9067
  */
8616
- static configure(datahubApiUrl, governanceApiUrl, legacyDatahubApiUrl) {
9068
+ static configure(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl) {
8617
9069
  if (!Config.instance) {
8618
- Config.instance = new Config(governanceApiUrl, datahubApiUrl, legacyDatahubApiUrl);
9070
+ Config.instance = new Config(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl);
8619
9071
  }
8620
9072
  else {
8621
9073
  Config.instance.governanceBaseUrl = governanceApiUrl.replace(/\/$/, "");
@@ -8659,6 +9111,7 @@ class Config {
8659
9111
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8660
9112
  _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
8661
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);
8662
9115
  }
8663
9116
  else {
8664
9117
  console.error("DATAHUB_API_URL not found in config");
@@ -8666,7 +9119,6 @@ class Config {
8666
9119
  if (this.governanceBaseUrl) {
8667
9120
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8668
9121
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8669
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8670
9122
  }
8671
9123
  else {
8672
9124
  console.error("GOVERNANCE_API_URL not found in config");
@@ -8803,8 +9255,6 @@ __webpack_require__.r(__webpack_exports__);
8803
9255
  /* harmony export */ NotRecordedYetError: () => (/* binding */ NotRecordedYetError),
8804
9256
  /* harmony export */ RecordNotFoundError: () => (/* binding */ RecordNotFoundError),
8805
9257
  /* harmony export */ RequirementsNotSetError: () => (/* binding */ RequirementsNotSetError),
8806
- /* harmony export */ ResourceRoleDescriptorAlreadyExist: () => (/* binding */ ResourceRoleDescriptorAlreadyExist),
8807
- /* harmony export */ ResourceRoleDescriptorNotExist: () => (/* binding */ ResourceRoleDescriptorNotExist),
8808
9258
  /* harmony export */ RetryLimitReachedError: () => (/* binding */ RetryLimitReachedError),
8809
9259
  /* harmony export */ SwitchSameIndexError: () => (/* binding */ SwitchSameIndexError),
8810
9260
  /* harmony export */ UnexpectedResponseFormatError: () => (/* binding */ UnexpectedResponseFormatError)
@@ -8895,16 +9345,6 @@ class RequirementsNotSetError extends Error {
8895
9345
  super(`Requirements are not set`);
8896
9346
  }
8897
9347
  }
8898
- class ResourceRoleDescriptorAlreadyExist extends Error {
8899
- constructor(role) {
8900
- super(`Resource Descripotor with specific role : ${role} already exists.`);
8901
- }
8902
- }
8903
- class ResourceRoleDescriptorNotExist extends Error {
8904
- constructor(role) {
8905
- super(`Resource Descripotor with specific role : ${role} doesn't exists.`);
8906
- }
8907
- }
8908
9348
  class RetryLimitReachedError extends Error {
8909
9349
  constructor(max) {
8910
9350
  super(`Max retries[${max}] reached`);
@@ -8959,13 +9399,13 @@ __webpack_require__.r(__webpack_exports__);
8959
9399
  function setGovernanceBearerToken(token) {
8960
9400
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].BEARER_TOKEN = token;
8961
9401
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].BEARER_TOKEN = token;
8962
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
8963
9402
  }
8964
9403
  function setLegacyDatahubBearerToken(token) {
8965
9404
  _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].BEARER_TOKEN = token;
8966
9405
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].BEARER_TOKEN = token;
8967
9406
  _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"].BEARER_TOKEN = token;
8968
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;
8969
9409
  }
8970
9410
 
8971
9411
 
@@ -8980,10 +9420,7 @@ function setLegacyDatahubBearerToken(token) {
8980
9420
  "use strict";
8981
9421
  __webpack_require__.r(__webpack_exports__);
8982
9422
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8983
- /* harmony export */ ArtifactType: () => (/* binding */ ArtifactType),
8984
- /* harmony export */ ResourceDescriptorRole: () => (/* binding */ ResourceDescriptorRole),
8985
9423
  /* harmony export */ SortOrder: () => (/* binding */ SortOrder),
8986
- /* harmony export */ TemplateDetailFunctionality: () => (/* binding */ TemplateDetailFunctionality),
8987
9424
  /* harmony export */ asID: () => (/* binding */ asID),
8988
9425
  /* harmony export */ asIDs: () => (/* binding */ asIDs),
8989
9426
  /* harmony export */ asIRI: () => (/* binding */ asIRI),
@@ -9038,51 +9475,6 @@ function toDate(dateString) {
9038
9475
  }
9039
9476
  return date;
9040
9477
  }
9041
- var ResourceDescriptorRole;
9042
- (function (ResourceDescriptorRole) {
9043
- ResourceDescriptorRole["VOCABULARY"] = "vocabulary";
9044
- ResourceDescriptorRole["TYPE"] = "type";
9045
- ResourceDescriptorRole["SCHEMA"] = "schema";
9046
- ResourceDescriptorRole["CONSTRAINT"] = "constraint";
9047
- ResourceDescriptorRole["VALIDATION"] = "validation";
9048
- ResourceDescriptorRole["MAPPING"] = "mapping";
9049
- ResourceDescriptorRole["EXAMPLE"] = "example";
9050
- ResourceDescriptorRole["SPECIFICATION"] = "specification";
9051
- ResourceDescriptorRole["GUIDANCE"] = "guidance";
9052
- })(ResourceDescriptorRole || (ResourceDescriptorRole = {}));
9053
- var ArtifactType;
9054
- (function (ArtifactType) {
9055
- ArtifactType["TEMPLATE"] = "template";
9056
- ArtifactType["FILE"] = "file";
9057
- })(ArtifactType || (ArtifactType = {}));
9058
- var TemplateDetailFunctionality;
9059
- (function (TemplateDetailFunctionality) {
9060
- //VOCABULARY
9061
- TemplateDetailFunctionality["ORIGIN"] = "origin";
9062
- TemplateDetailFunctionality["NAMESPACE"] = "namespaceIRI";
9063
- TemplateDetailFunctionality["TERM"] = "term";
9064
- TemplateDetailFunctionality["DESCRIPTION"] = "description";
9065
- //TYPE
9066
- TemplateDetailFunctionality["NAME"] = "name";
9067
- TemplateDetailFunctionality["LABEL"] = "label";
9068
- TemplateDetailFunctionality["VALUE"] = "value";
9069
- //SCHEMA
9070
- TemplateDetailFunctionality["TYPE"] = "type";
9071
- TemplateDetailFunctionality["REQUIRED"] = "required";
9072
- TemplateDetailFunctionality["FIELD_TERM"] = "fieldTerm";
9073
- //CONSTRAINT
9074
- TemplateDetailFunctionality["FIELD"] = "field";
9075
- TemplateDetailFunctionality["REGEX"] = "regex";
9076
- //VALIDATION
9077
- TemplateDetailFunctionality["MEASURE"] = "measure";
9078
- //MAPPING
9079
- TemplateDetailFunctionality["TARGET_PROFILE"] = "targetProfile";
9080
- TemplateDetailFunctionality["TARGET_FIELD"] = "targetField";
9081
- //EXAMPLE : FIELD, VALUE, DESCIRPTION
9082
- //SPECIFICATION
9083
- TemplateDetailFunctionality["CONVERSION"] = "conversion";
9084
- //GUIDANCE : I think I need to remove it
9085
- })(TemplateDetailFunctionality || (TemplateDetailFunctionality = {}));
9086
9478
  var SortOrder;
9087
9479
  (function (SortOrder) {
9088
9480
  SortOrder["ASC"] = "ASC";
@@ -15489,35 +15881,50 @@ var __webpack_exports__ = {};
15489
15881
  \**********************/
15490
15882
  __webpack_require__.r(__webpack_exports__);
15491
15883
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
15492
- /* harmony export */ ArtifactType: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType),
15493
- /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES),
15494
- /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES),
15495
- /* 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),
15496
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),
15497
15895
  /* harmony export */ Dataset: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"]),
15498
15896
  /* harmony export */ DatasetSeries: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"]),
15499
15897
  /* harmony export */ Distribution: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"]),
15500
- /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES),
15501
- /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES),
15502
- /* harmony export */ ResourceDescriptorRole: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole),
15503
- /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder),
15504
- /* 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),
15505
15911
  /* harmony export */ ValidationTemplate: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"]),
15506
- /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asID),
15507
- /* 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),
15508
15914
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
15509
- /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken),
15510
- /* 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)
15511
15917
  /* harmony export */ });
15512
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");
15513
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");
15514
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");
15515
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");
15516
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");
15517
- /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
15518
- /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
15519
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
15520
- /* 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");
15521
15928
  // Import named functions first
15522
15929
 
15523
15930
 
@@ -15528,28 +15935,43 @@ __webpack_require__.r(__webpack_exports__);
15528
15935
 
15529
15936
 
15530
15937
 
15938
+
15531
15939
  // ✅ Named exports (For ES module compatibility)
15532
15940
 
15533
15941
  // ✅ Default export (For CommonJS compatibility)
15534
15942
  const sdk = {
15535
- ArtifactType: _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType,
15536
- BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES,
15537
- CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES,
15538
- 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,
15539
15952
  DataService: _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"],
15953
+ DataTypeValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DataTypeValidationRule,
15540
15954
  Dataset: _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"],
15541
15955
  DatasetSeries: _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"],
15542
15956
  Distribution: _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"],
15543
- MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES,
15544
- ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES,
15545
- ResourceDescriptorRole: _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole,
15546
- SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder,
15547
- 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,
15548
15970
  ValidationTemplate: _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"],
15549
- asID: _core_type__WEBPACK_IMPORTED_MODULE_7__.asID,
15550
- asIRI: _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI,
15551
- setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken,
15552
- 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,
15553
15975
  };
15554
15976
  // ✅ Ensures `require("sodas-sdk")` works in CommonJS
15555
15977
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sdk);