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
@@ -3261,7 +3261,7 @@ __webpack_require__.r(__webpack_exports__);
3261
3261
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
3262
3262
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
3263
3263
  /* harmony import */ var _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../SODAS_SDK_FILE/thumbnailFile */ "./lib/SODAS_SDK_FILE/thumbnailFile.ts");
3264
- /* harmony import */ var _dcatClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dcatClass */ "./lib/SODAS_SDK_CLASS/dcatClass.ts");
3264
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
3265
3265
  /* harmony import */ var _versionInfo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./versionInfo */ "./lib/SODAS_SDK_CLASS/DCAT/versionInfo.ts");
3266
3266
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3267
3267
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -3277,11 +3277,11 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
3277
3277
 
3278
3278
 
3279
3279
 
3280
- class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
3280
+ class DCAT_RESOURCE extends _profileModel__WEBPACK_IMPORTED_MODULE_3__["default"] {
3281
3281
  toDTO() {
3282
3282
  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 && {
3283
3283
  PreviousVersionID: this.PreviousVersionID,
3284
- })), (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 });
3284
+ })), (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 });
3285
3285
  }
3286
3286
  populateFromDTO(dto) {
3287
3287
  const _super = Object.create(null, {
@@ -3334,6 +3334,8 @@ class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
3334
3334
  dcatResourceDTO.IssuerID && (this.IssuerID = dcatResourceDTO.IssuerID);
3335
3335
  dcatResourceDTO.ExtraMetadata &&
3336
3336
  (this.ExtraMetadata = dcatResourceDTO.ExtraMetadata);
3337
+ dcatResourceDTO.QualityMetadata &&
3338
+ (this.QualityMetadata = dcatResourceDTO.QualityMetadata);
3337
3339
  yield this.populateVersionInfoFromDTO(dcatResourceDTO);
3338
3340
  });
3339
3341
  }
@@ -3534,6 +3536,18 @@ class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
3534
3536
  }
3535
3537
  return this.ExtraMetadata[name];
3536
3538
  }
3539
+ setQualityMetadata(name, value) {
3540
+ if (!this.QualityMetadata) {
3541
+ this.QualityMetadata = {};
3542
+ }
3543
+ this.QualityMetadata[name] = value;
3544
+ }
3545
+ getQualityMetadata(name) {
3546
+ if (!this.QualityMetadata) {
3547
+ return undefined;
3548
+ }
3549
+ return this.QualityMetadata[name];
3550
+ }
3537
3551
  getTitle(languageCode = "ko") {
3538
3552
  if (!this.TitleML) {
3539
3553
  this.TitleML = {};
@@ -3630,7 +3644,7 @@ __webpack_require__.r(__webpack_exports__);
3630
3644
  /* harmony export */ });
3631
3645
  /* harmony import */ var _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../SODAS_SDK_FILE/dataFile */ "./lib/SODAS_SDK_FILE/dataFile.ts");
3632
3646
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
3633
- /* harmony import */ var _dcatClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dcatClass */ "./lib/SODAS_SDK_CLASS/dcatClass.ts");
3647
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
3634
3648
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3635
3649
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3636
3650
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -3643,7 +3657,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
3643
3657
 
3644
3658
 
3645
3659
 
3646
- class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
3660
+ class Distribution extends _profileModel__WEBPACK_IMPORTED_MODULE_2__["default"] {
3647
3661
  /**
3648
3662
  * Populates this instance with values from the given Distribution, except for:
3649
3663
  * - DB identity / temporal fields (ID, IRI, Issued, Modified, CreatedAt, UpdatedAt)
@@ -4019,254 +4033,6 @@ class VersionInfo {
4019
4033
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionInfo);
4020
4034
 
4021
4035
 
4022
- /***/ }),
4023
-
4024
- /***/ "./lib/SODAS_SDK_CLASS/dcatClass.ts":
4025
- /*!******************************************!*\
4026
- !*** ./lib/SODAS_SDK_CLASS/dcatClass.ts ***!
4027
- \******************************************/
4028
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4029
-
4030
- __webpack_require__.r(__webpack_exports__);
4031
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4032
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4033
- /* harmony export */ });
4034
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
4035
- /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
4036
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
4037
- /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util */ "./lib/core/util.ts");
4038
- /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
4039
- var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
4040
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4041
- return new (P || (P = Promise))(function (resolve, reject) {
4042
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
4043
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
4044
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
4045
- step((generator = generator.apply(thisArg, _arguments || [])).next());
4046
- });
4047
- };
4048
-
4049
-
4050
-
4051
-
4052
-
4053
- class DCAT_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
4054
- toDTO() {
4055
- 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() }));
4056
- }
4057
- hasDBRecord() {
4058
- if (this.ID && this.IRI) {
4059
- return true;
4060
- }
4061
- else {
4062
- return false;
4063
- }
4064
- }
4065
- populateFromDTO(dto) {
4066
- return __awaiter(this, void 0, void 0, function* () {
4067
- dto.ID && (this.ID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(dto.ID));
4068
- dto.IRI && (this.IRI = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIRI)(dto.IRI));
4069
- dto.Issued && (this.Issued = new Date(dto.Issued));
4070
- dto.Modified && (this.Modified = new Date(dto.Modified));
4071
- dto.CreatedAt && (this.CreatedAt = new Date(dto.CreatedAt));
4072
- dto.UpdatedAt && (this.UpdatedAt = new Date(dto.UpdatedAt));
4073
- });
4074
- }
4075
- static listDBRecords() {
4076
- return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
4077
- //@ts-ignore
4078
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4079
- let response;
4080
- try {
4081
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(this.prototype.constructor.LIST_URL, {
4082
- params: { pageNumber, pageSize, sortOrder },
4083
- });
4084
- }
4085
- catch (error) {
4086
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4087
- }
4088
- if (response.data.total != null && Array.isArray(response.data.list)) {
4089
- const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
4090
- const dcatResource = new this();
4091
- yield dcatResource.populateFromDTO(item);
4092
- return dcatResource;
4093
- })));
4094
- return {
4095
- total: response.data.total,
4096
- list,
4097
- };
4098
- }
4099
- else {
4100
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
4101
- }
4102
- });
4103
- }
4104
- static getAllDBRecords() {
4105
- return __awaiter(this, void 0, void 0, function* () {
4106
- const paginatedResponse = yield this.listDBRecords(1, _core_util__WEBPACK_IMPORTED_MODULE_2__.LARGE_ENOUGH_NUMBER);
4107
- return paginatedResponse.list;
4108
- });
4109
- }
4110
- createDBRecord() {
4111
- return __awaiter(this, void 0, void 0, function* () {
4112
- this.throwErrorIfAPIURLNotSet();
4113
- this.throwErrorIfRecorded();
4114
- const data = this.toDTO();
4115
- const cleanData = JSON.parse(JSON.stringify(data));
4116
- const cls = this.constructor;
4117
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4118
- baseURL: cls.API_URL,
4119
- headers: {
4120
- "Content-Type": "application/json",
4121
- },
4122
- });
4123
- if (cls.BEARER_TOKEN) {
4124
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
4125
- }
4126
- let response;
4127
- try {
4128
- response = yield apiClient.post("", cleanData);
4129
- }
4130
- catch (error) {
4131
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4132
- }
4133
- yield this.populateFromDTO(response.data);
4134
- });
4135
- }
4136
- static getDBRecord(ID) {
4137
- return __awaiter(this, void 0, void 0, function* () {
4138
- //@ts-ignore
4139
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4140
- const url = `${this.prototype.constructor.API_URL}/${ID}`;
4141
- let response;
4142
- try {
4143
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
4144
- headers: { "Content-Type": "application/json" },
4145
- });
4146
- }
4147
- catch (error) {
4148
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4149
- }
4150
- if (response.data) {
4151
- const dcatResource = new this();
4152
- yield dcatResource.populateFromDTO(response.data);
4153
- return dcatResource;
4154
- }
4155
- else {
4156
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
4157
- }
4158
- });
4159
- }
4160
- static getDBRecordByAssetID(assetID) {
4161
- return __awaiter(this, void 0, void 0, function* () {
4162
- //@ts-ignore
4163
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4164
- const url = `${this.prototype.constructor.API_URL}/asset/${assetID}`;
4165
- let response;
4166
- try {
4167
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
4168
- headers: { "Content-Type": "application/json" },
4169
- });
4170
- }
4171
- catch (error) {
4172
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4173
- }
4174
- if (response.data) {
4175
- const dcatResource = new this();
4176
- yield dcatResource.populateFromDTO(response.data);
4177
- return dcatResource;
4178
- }
4179
- else {
4180
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
4181
- }
4182
- });
4183
- }
4184
- /**
4185
- * Checks whether a DB record exists for the given AssetID and returns its ID.
4186
- *
4187
- * This method wraps getDBRecordByAssetID and converts a 404 response to `null`,
4188
- * while rethrowing any other kind of error.
4189
- */
4190
- static checkDBRecordOfAssetID(assetID) {
4191
- return __awaiter(this, void 0, void 0, function* () {
4192
- var _a;
4193
- try {
4194
- const record = (yield this.getDBRecordByAssetID(assetID));
4195
- return record.id;
4196
- }
4197
- catch (error) {
4198
- if (axios__WEBPACK_IMPORTED_MODULE_4__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
4199
- return null;
4200
- }
4201
- throw error;
4202
- }
4203
- });
4204
- }
4205
- updateDBRecord() {
4206
- return __awaiter(this, void 0, void 0, function* () {
4207
- this.throwErrorIfAPIURLNotSet();
4208
- this.throwErrorIfNotRecorded();
4209
- const data = this.toDTO();
4210
- const cleanData = JSON.parse(JSON.stringify(data));
4211
- const cls = this.constructor;
4212
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4213
- baseURL: cls.API_URL,
4214
- headers: {
4215
- "Content-Type": "application/json",
4216
- },
4217
- });
4218
- if (cls.BEARER_TOKEN) {
4219
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
4220
- }
4221
- let response;
4222
- try {
4223
- response = yield apiClient.post("", cleanData);
4224
- }
4225
- catch (error) {
4226
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4227
- }
4228
- yield this.populateFromDTO(response.data);
4229
- });
4230
- }
4231
- deleteDBRecord() {
4232
- return __awaiter(this, void 0, void 0, function* () {
4233
- this.throwErrorIfAPIURLNotSet();
4234
- this.throwErrorIfNotRecorded();
4235
- const cls = this.constructor;
4236
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4237
- baseURL: `${cls.API_URL}/`,
4238
- headers: {
4239
- "Content-Type": "application/json",
4240
- },
4241
- });
4242
- if (cls.BEARER_TOKEN) {
4243
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
4244
- }
4245
- let response;
4246
- try {
4247
- response = yield apiClient.delete(`${this.ID}`);
4248
- }
4249
- catch (error) {
4250
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4251
- }
4252
- if (response.status === 204) {
4253
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.destroy)(this); // Nullify the instance
4254
- }
4255
- else {
4256
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.DeleteRecordFailError();
4257
- }
4258
- });
4259
- }
4260
- get createdAt() {
4261
- return this.CreatedAt;
4262
- }
4263
- get updatedAt() {
4264
- return this.UpdatedAt;
4265
- }
4266
- }
4267
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DCAT_MODEL);
4268
-
4269
-
4270
4036
  /***/ }),
4271
4037
 
4272
4038
  /***/ "./lib/SODAS_SDK_CLASS/dictionary/term.ts":
@@ -4815,16 +4581,267 @@ class GOVERNANCE_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["defa
4815
4581
 
4816
4582
  /***/ }),
4817
4583
 
4818
- /***/ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts":
4819
- /*!**********************************************!*\
4820
- !*** ./lib/SODAS_SDK_CLASS/sodasSDKClass.ts ***!
4821
- \**********************************************/
4584
+ /***/ "./lib/SODAS_SDK_CLASS/profileModel.ts":
4585
+ /*!*********************************************!*\
4586
+ !*** ./lib/SODAS_SDK_CLASS/profileModel.ts ***!
4587
+ \*********************************************/
4822
4588
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4823
4589
 
4824
4590
  __webpack_require__.r(__webpack_exports__);
4825
4591
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4826
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
4827
- /* harmony export */ throwErrorIfAPIURLNotSetForStatic: () => (/* binding */ throwErrorIfAPIURLNotSetForStatic)
4592
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4593
+ /* harmony export */ });
4594
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
4595
+ /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
4596
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
4597
+ /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util */ "./lib/core/util.ts");
4598
+ /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
4599
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
4600
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4601
+ return new (P || (P = Promise))(function (resolve, reject) {
4602
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
4603
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
4604
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
4605
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
4606
+ });
4607
+ };
4608
+
4609
+
4610
+
4611
+
4612
+
4613
+ class PROFILE_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
4614
+ toDTO() {
4615
+ 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() }));
4616
+ }
4617
+ hasDBRecord() {
4618
+ if (this.ID && this.IRI) {
4619
+ return true;
4620
+ }
4621
+ else {
4622
+ return false;
4623
+ }
4624
+ }
4625
+ populateFromDTO(dto) {
4626
+ return __awaiter(this, void 0, void 0, function* () {
4627
+ dto.ID && (this.ID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(dto.ID));
4628
+ dto.IRI && (this.IRI = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIRI)(dto.IRI));
4629
+ dto.Issued && (this.Issued = new Date(dto.Issued));
4630
+ dto.Modified && (this.Modified = new Date(dto.Modified));
4631
+ dto.CreatedAt && (this.CreatedAt = new Date(dto.CreatedAt));
4632
+ dto.UpdatedAt && (this.UpdatedAt = new Date(dto.UpdatedAt));
4633
+ });
4634
+ }
4635
+ static listDBRecords() {
4636
+ return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
4637
+ //@ts-ignore
4638
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4639
+ let response;
4640
+ try {
4641
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(this.prototype.constructor.LIST_URL, {
4642
+ params: { pageNumber, pageSize, sortOrder },
4643
+ });
4644
+ }
4645
+ catch (error) {
4646
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4647
+ }
4648
+ if (response.data.total != null && Array.isArray(response.data.list)) {
4649
+ const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
4650
+ const dcatResource = new this();
4651
+ yield dcatResource.populateFromDTO(item);
4652
+ return dcatResource;
4653
+ })));
4654
+ return {
4655
+ total: response.data.total,
4656
+ list,
4657
+ };
4658
+ }
4659
+ else {
4660
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
4661
+ }
4662
+ });
4663
+ }
4664
+ static getAllDBRecords() {
4665
+ return __awaiter(this, void 0, void 0, function* () {
4666
+ const paginatedResponse = yield this.listDBRecords(1, _core_util__WEBPACK_IMPORTED_MODULE_2__.LARGE_ENOUGH_NUMBER);
4667
+ return paginatedResponse.list;
4668
+ });
4669
+ }
4670
+ createDBRecord() {
4671
+ return __awaiter(this, void 0, void 0, function* () {
4672
+ this.throwErrorIfAPIURLNotSet();
4673
+ this.throwErrorIfRecorded();
4674
+ const data = this.toDTO();
4675
+ const cleanData = JSON.parse(JSON.stringify(data));
4676
+ const cls = this.constructor;
4677
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4678
+ baseURL: cls.API_URL,
4679
+ headers: {
4680
+ "Content-Type": "application/json",
4681
+ },
4682
+ });
4683
+ if (cls.BEARER_TOKEN) {
4684
+ apiClient.defaults.headers.common["Authorization"] =
4685
+ `Bearer ${cls.BEARER_TOKEN}`;
4686
+ }
4687
+ let response;
4688
+ try {
4689
+ response = yield apiClient.post("", cleanData);
4690
+ }
4691
+ catch (error) {
4692
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4693
+ }
4694
+ yield this.populateFromDTO(response.data);
4695
+ });
4696
+ }
4697
+ static getDBRecord(ID) {
4698
+ return __awaiter(this, void 0, void 0, function* () {
4699
+ //@ts-ignore
4700
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4701
+ const url = `${this.prototype.constructor.API_URL}/${ID}`;
4702
+ let response;
4703
+ try {
4704
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
4705
+ headers: { "Content-Type": "application/json" },
4706
+ });
4707
+ }
4708
+ catch (error) {
4709
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4710
+ }
4711
+ if (response.data) {
4712
+ const dcatResource = new this();
4713
+ yield dcatResource.populateFromDTO(response.data);
4714
+ return dcatResource;
4715
+ }
4716
+ else {
4717
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
4718
+ }
4719
+ });
4720
+ }
4721
+ static getDBRecordByAssetID(assetID) {
4722
+ return __awaiter(this, void 0, void 0, function* () {
4723
+ //@ts-ignore
4724
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4725
+ const url = `${this.prototype.constructor.API_URL}/asset/${assetID}`;
4726
+ let response;
4727
+ try {
4728
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
4729
+ headers: { "Content-Type": "application/json" },
4730
+ });
4731
+ }
4732
+ catch (error) {
4733
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4734
+ }
4735
+ if (response.data) {
4736
+ const dcatResource = new this();
4737
+ yield dcatResource.populateFromDTO(response.data);
4738
+ return dcatResource;
4739
+ }
4740
+ else {
4741
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
4742
+ }
4743
+ });
4744
+ }
4745
+ /**
4746
+ * Checks whether a DB record exists for the given AssetID and returns its ID.
4747
+ *
4748
+ * This method wraps getDBRecordByAssetID and converts a 404 response to `null`,
4749
+ * while rethrowing any other kind of error.
4750
+ */
4751
+ static checkDBRecordOfAssetID(assetID) {
4752
+ return __awaiter(this, void 0, void 0, function* () {
4753
+ var _a;
4754
+ try {
4755
+ const record = (yield this.getDBRecordByAssetID(assetID));
4756
+ return record.id;
4757
+ }
4758
+ catch (error) {
4759
+ if (axios__WEBPACK_IMPORTED_MODULE_4__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
4760
+ return null;
4761
+ }
4762
+ throw error;
4763
+ }
4764
+ });
4765
+ }
4766
+ updateDBRecord() {
4767
+ return __awaiter(this, void 0, void 0, function* () {
4768
+ this.throwErrorIfAPIURLNotSet();
4769
+ this.throwErrorIfNotRecorded();
4770
+ const data = this.toDTO();
4771
+ const cleanData = JSON.parse(JSON.stringify(data));
4772
+ const cls = this.constructor;
4773
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4774
+ baseURL: cls.API_URL,
4775
+ headers: {
4776
+ "Content-Type": "application/json",
4777
+ },
4778
+ });
4779
+ if (cls.BEARER_TOKEN) {
4780
+ apiClient.defaults.headers.common["Authorization"] =
4781
+ `Bearer ${cls.BEARER_TOKEN}`;
4782
+ }
4783
+ let response;
4784
+ try {
4785
+ response = yield apiClient.post("", cleanData);
4786
+ }
4787
+ catch (error) {
4788
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4789
+ }
4790
+ yield this.populateFromDTO(response.data);
4791
+ });
4792
+ }
4793
+ deleteDBRecord() {
4794
+ return __awaiter(this, void 0, void 0, function* () {
4795
+ this.throwErrorIfAPIURLNotSet();
4796
+ this.throwErrorIfNotRecorded();
4797
+ const cls = this.constructor;
4798
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4799
+ baseURL: `${cls.API_URL}/`,
4800
+ headers: {
4801
+ "Content-Type": "application/json",
4802
+ },
4803
+ });
4804
+ if (cls.BEARER_TOKEN) {
4805
+ apiClient.defaults.headers.common["Authorization"] =
4806
+ `Bearer ${cls.BEARER_TOKEN}`;
4807
+ }
4808
+ let response;
4809
+ try {
4810
+ response = yield apiClient.delete(`${this.ID}`);
4811
+ }
4812
+ catch (error) {
4813
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4814
+ }
4815
+ if (response.status === 204) {
4816
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.destroy)(this); // Nullify the instance
4817
+ }
4818
+ else {
4819
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.DeleteRecordFailError();
4820
+ }
4821
+ });
4822
+ }
4823
+ get createdAt() {
4824
+ return this.CreatedAt;
4825
+ }
4826
+ get updatedAt() {
4827
+ return this.UpdatedAt;
4828
+ }
4829
+ }
4830
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PROFILE_MODEL);
4831
+
4832
+
4833
+ /***/ }),
4834
+
4835
+ /***/ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts":
4836
+ /*!**********************************************!*\
4837
+ !*** ./lib/SODAS_SDK_CLASS/sodasSDKClass.ts ***!
4838
+ \**********************************************/
4839
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4840
+
4841
+ __webpack_require__.r(__webpack_exports__);
4842
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4843
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
4844
+ /* harmony export */ throwErrorIfAPIURLNotSetForStatic: () => (/* binding */ throwErrorIfAPIURLNotSetForStatic)
4828
4845
  /* harmony export */ });
4829
4846
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
4830
4847
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
@@ -4897,16 +4914,10 @@ class SODAS_SDK_CLASS {
4897
4914
 
4898
4915
  __webpack_require__.r(__webpack_exports__);
4899
4916
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4900
- /* harmony export */ EXPECTED_TYPE: () => (/* binding */ EXPECTED_TYPE),
4901
- /* harmony export */ VALIDATION_TYPE: () => (/* binding */ VALIDATION_TYPE),
4902
4917
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4903
4918
  /* harmony export */ });
4904
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
4905
- /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
4906
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
4907
- /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/util */ "./lib/core/util.ts");
4908
- /* harmony import */ var _governanceClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../governanceClass */ "./lib/SODAS_SDK_CLASS/governanceClass.ts");
4909
- /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
4919
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
4920
+ /* harmony import */ var _validationType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validationType */ "./lib/SODAS_SDK_CLASS/template/validationType.ts");
4910
4921
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
4911
4922
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4912
4923
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -4914,49 +4925,18 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
4914
4925
  function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
4915
4926
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
4916
4927
  step((generator = generator.apply(thisArg, _arguments || [])).next());
4917
- });
4918
- };
4919
-
4920
-
4921
-
4922
-
4923
-
4924
-
4925
- var VALIDATION_TYPE;
4926
- (function (VALIDATION_TYPE) {
4927
- VALIDATION_TYPE["DATA_TYPE"] = "data_type";
4928
- VALIDATION_TYPE["RANGE"] = "range";
4929
- VALIDATION_TYPE["PATTERN"] = "pattern";
4930
- VALIDATION_TYPE["UNIQUENESS"] = "uniqueness";
4931
- VALIDATION_TYPE["COMPLETENESS"] = "completeness";
4932
- VALIDATION_TYPE["LENGTH"] = "length";
4933
- VALIDATION_TYPE["ALLOWED_VALUES"] = "allowed_values";
4934
- VALIDATION_TYPE["OUTLIER"] = "outlier";
4935
- VALIDATION_TYPE["STATISTICAL"] = "statistical";
4936
- })(VALIDATION_TYPE || (VALIDATION_TYPE = {}));
4937
- var EXPECTED_TYPE;
4938
- (function (EXPECTED_TYPE) {
4939
- EXPECTED_TYPE["NUMERIC"] = "numeric";
4940
- EXPECTED_TYPE["STRING"] = "string";
4941
- EXPECTED_TYPE["DATETIME"] = "datetime";
4942
- })(EXPECTED_TYPE || (EXPECTED_TYPE = {}));
4943
- class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
4928
+ });
4929
+ };
4930
+
4931
+
4932
+ class ValidationTemplate extends _profileModel__WEBPACK_IMPORTED_MODULE_0__["default"] {
4944
4933
  static configureAPIURL(url) {
4945
- const PREFIX = "api/v1/governance/template";
4946
- ValidationTemplate.API_URL = `${url}/${PREFIX}/validation`;
4934
+ ValidationTemplate.API_URL = `${url}/validation-template`;
4947
4935
  ValidationTemplate.LIST_URL = `${ValidationTemplate.API_URL}/list`;
4948
- ValidationTemplate.GET_URL = `${ValidationTemplate.API_URL}/get`;
4949
- ValidationTemplate.CREATE_URL = `${ValidationTemplate.API_URL}/create`;
4950
- ValidationTemplate.UPDATE_URL = `${ValidationTemplate.API_URL}/update`;
4951
- ValidationTemplate.DELETE_URL = `${ValidationTemplate.API_URL}/remove`;
4952
4936
  }
4953
4937
  toDTO() {
4954
- return Object.assign(Object.assign(Object.assign(Object.assign({}, super.toDTO()), { name: this.Name }), (this.ValidationRules && { validationRules: this.ValidationRules })), (this.Description && { description: this.Description }));
4955
- }
4956
- populateFromFormData(data) {
4957
- return __awaiter(this, void 0, void 0, function* () {
4958
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.NeedToImplementError();
4959
- });
4938
+ var _a;
4939
+ 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()) });
4960
4940
  }
4961
4941
  populateFromDTO(dto) {
4962
4942
  const _super = Object.create(null, {
@@ -4965,28 +4945,11 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
4965
4945
  return __awaiter(this, void 0, void 0, function* () {
4966
4946
  yield _super.populateFromDTO.call(this, dto);
4967
4947
  const validationTemplateDTO = dto;
4968
- this.ValidationRules = validationTemplateDTO.validationRules;
4969
- this.Name = validationTemplateDTO.name;
4970
- this.Description = validationTemplateDTO.description;
4971
- });
4972
- }
4973
- static listDBRecords() {
4974
- return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC, vocabularyID) {
4975
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_4__.throwErrorIfAPIURLNotSetForStatic)(ValidationTemplate);
4976
- try {
4977
- const response = yield axios__WEBPACK_IMPORTED_MODULE_5__["default"].get(ValidationTemplate.LIST_URL, {
4978
- params: {
4979
- offset: (pageNumber - 1) * pageSize,
4980
- limit: pageSize,
4981
- ordered: sortOrder,
4982
- vocabularyId: vocabularyID,
4983
- },
4984
- // headers,
4985
- });
4986
- return yield ValidationTemplate.listResponseToPaginatedResponse(response);
4987
- }
4988
- catch (error) {
4989
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4948
+ validationTemplateDTO.Name && (this.Name = validationTemplateDTO.Name);
4949
+ validationTemplateDTO.Description &&
4950
+ (this.Description = validationTemplateDTO.Description);
4951
+ if (validationTemplateDTO.ValidationRules !== undefined) {
4952
+ this.ValidationRules = ValidationTemplate.parseValidationRules(validationTemplateDTO.ValidationRules);
4990
4953
  }
4991
4954
  });
4992
4955
  }
@@ -5009,24 +4972,62 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
5009
4972
  this.ValidationRules = value;
5010
4973
  }
5011
4974
  static parseValidationRules(rawRules) {
4975
+ if (rawRules === null || rawRules === undefined) {
4976
+ return [];
4977
+ }
5012
4978
  return rawRules.map((rule) => {
5013
- const baseRule = {
5014
- column: rule.column,
5015
- name: rule.name,
5016
- type: rule.type,
5017
- };
4979
+ let validationRule;
5018
4980
  switch (rule.type) {
5019
- case VALIDATION_TYPE.COMPLETENESS:
5020
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.COMPLETENESS, min_completeness: rule.min_completeness, weight: rule.weight });
5021
- case VALIDATION_TYPE.DATA_TYPE:
5022
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.DATA_TYPE, expected_type: rule.expected_type, weight: rule.weight });
5023
- case VALIDATION_TYPE.PATTERN:
5024
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.PATTERN, pattern: rule.pattern, weight: rule.weight });
5025
- case VALIDATION_TYPE.UNIQUENESS:
5026
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.UNIQUENESS, weight: rule.weight });
4981
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.COMPLETENESS:
4982
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CompletenessValidationRule();
4983
+ validationRule.populateFromDTO(rule);
4984
+ break;
4985
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.DATA_TYPE:
4986
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.DataTypeValidationRule();
4987
+ validationRule.populateFromDTO(rule);
4988
+ break;
4989
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.PATTERN:
4990
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.PatternValidationRule();
4991
+ validationRule.populateFromDTO(rule);
4992
+ break;
4993
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.UNIQUENESS:
4994
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.UniquenessValidationRule();
4995
+ validationRule.populateFromDTO(rule);
4996
+ break;
4997
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.RANGE:
4998
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.RangeValidationRule();
4999
+ validationRule.populateFromDTO(rule);
5000
+ break;
5001
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.CUSTOM:
5002
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CustomValidationRule();
5003
+ validationRule.populateFromDTO(rule);
5004
+ break;
5005
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.LENGTH:
5006
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.LengthValidationRule();
5007
+ validationRule.populateFromDTO(rule);
5008
+ break;
5009
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.ALLOWED_VALUES:
5010
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.AllowedValuesValidationRule();
5011
+ validationRule.populateFromDTO(rule);
5012
+ break;
5013
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.OUTLIER:
5014
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.OutlierValidationRule();
5015
+ validationRule.populateFromDTO(rule);
5016
+ break;
5017
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.STATISTICAL:
5018
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.StatisticalValidationRule();
5019
+ validationRule.populateFromDTO(rule);
5020
+ break;
5027
5021
  default:
5028
- return baseRule;
5022
+ // For unknown types, create a base ValidationRule
5023
+ validationRule = new (class extends _validationType__WEBPACK_IMPORTED_MODULE_1__.ValidationRule {
5024
+ constructor() {
5025
+ super(rule.type);
5026
+ }
5027
+ })();
5028
+ validationRule.populateFromDTO(rule);
5029
5029
  }
5030
+ return validationRule;
5030
5031
  });
5031
5032
  }
5032
5033
  ensureValidationRulesInitialized() {
@@ -5034,63 +5035,141 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
5034
5035
  this.ValidationRules = [];
5035
5036
  }
5036
5037
  }
5037
- createRule(type) {
5038
+ // Type-specific creator methods
5039
+ createRangeRule() {
5038
5040
  this.ensureValidationRulesInitialized();
5039
- let rule;
5040
- const baseRule = {
5041
- column: "",
5042
- name: "",
5043
- type,
5044
- };
5045
- switch (type) {
5046
- case VALIDATION_TYPE.COMPLETENESS:
5047
- rule = Object.assign(Object.assign({}, baseRule), { min_completeness: 0, weight: 0 });
5048
- break;
5049
- case VALIDATION_TYPE.DATA_TYPE:
5050
- rule = Object.assign(Object.assign({}, baseRule), { expected_type: EXPECTED_TYPE.STRING, weight: 0 });
5051
- break;
5052
- case VALIDATION_TYPE.PATTERN:
5053
- rule = Object.assign(Object.assign({}, baseRule), { pattern: "", weight: 0 });
5054
- break;
5055
- case VALIDATION_TYPE.UNIQUENESS:
5056
- rule = Object.assign(Object.assign({}, baseRule), { weight: 0 });
5057
- break;
5058
- default:
5059
- rule = baseRule;
5060
- }
5041
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.RangeValidationRule();
5042
+ this.ValidationRules.push(rule);
5043
+ return rule;
5044
+ }
5045
+ createPatternRule() {
5046
+ this.ensureValidationRulesInitialized();
5047
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.PatternValidationRule();
5048
+ this.ValidationRules.push(rule);
5049
+ return rule;
5050
+ }
5051
+ createCompletenessRule() {
5052
+ this.ensureValidationRulesInitialized();
5053
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CompletenessValidationRule();
5054
+ this.ValidationRules.push(rule);
5055
+ return rule;
5056
+ }
5057
+ createDataTypeRule() {
5058
+ this.ensureValidationRulesInitialized();
5059
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.DataTypeValidationRule();
5060
+ this.ValidationRules.push(rule);
5061
+ return rule;
5062
+ }
5063
+ createUniquenessRule() {
5064
+ this.ensureValidationRulesInitialized();
5065
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.UniquenessValidationRule();
5066
+ this.ValidationRules.push(rule);
5067
+ return rule;
5068
+ }
5069
+ createCustomRule() {
5070
+ this.ensureValidationRulesInitialized();
5071
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CustomValidationRule();
5072
+ this.ValidationRules.push(rule);
5073
+ return rule;
5074
+ }
5075
+ createLengthRule() {
5076
+ this.ensureValidationRulesInitialized();
5077
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.LengthValidationRule();
5078
+ this.ValidationRules.push(rule);
5079
+ return rule;
5080
+ }
5081
+ createAllowedValuesRule() {
5082
+ this.ensureValidationRulesInitialized();
5083
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.AllowedValuesValidationRule();
5084
+ this.ValidationRules.push(rule);
5085
+ return rule;
5086
+ }
5087
+ createOutlierRule() {
5088
+ this.ensureValidationRulesInitialized();
5089
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.OutlierValidationRule();
5090
+ this.ValidationRules.push(rule);
5091
+ return rule;
5092
+ }
5093
+ createStatisticalRule() {
5094
+ this.ensureValidationRulesInitialized();
5095
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.StatisticalValidationRule();
5061
5096
  this.ValidationRules.push(rule);
5062
5097
  return rule;
5063
5098
  }
5064
- deleteRuleAt(index) {
5099
+ // Type-specific getter methods
5100
+ getRangeRules() {
5065
5101
  if (!this.ValidationRules) {
5066
- return;
5102
+ return [];
5067
5103
  }
5068
- if (index < 0 || index >= this.ValidationRules.length) {
5069
- return;
5104
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.RANGE);
5105
+ }
5106
+ getPatternRules() {
5107
+ if (!this.ValidationRules) {
5108
+ return [];
5070
5109
  }
5071
- this.ValidationRules.splice(index, 1);
5110
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.PATTERN);
5072
5111
  }
5073
- deleteRuleByTypeAt(type, index) {
5112
+ getCompletenessRules() {
5074
5113
  if (!this.ValidationRules) {
5075
- return;
5114
+ return [];
5076
5115
  }
5077
- if (index < 0) {
5116
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.COMPLETENESS);
5117
+ }
5118
+ getDataTypeRules() {
5119
+ if (!this.ValidationRules) {
5120
+ return [];
5121
+ }
5122
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.DATA_TYPE);
5123
+ }
5124
+ getUniquenessRules() {
5125
+ if (!this.ValidationRules) {
5126
+ return [];
5127
+ }
5128
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.UNIQUENESS);
5129
+ }
5130
+ getCustomRules() {
5131
+ if (!this.ValidationRules) {
5132
+ return [];
5133
+ }
5134
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.CUSTOM);
5135
+ }
5136
+ getLengthRules() {
5137
+ if (!this.ValidationRules) {
5138
+ return [];
5139
+ }
5140
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.LENGTH);
5141
+ }
5142
+ getAllowedValuesRules() {
5143
+ if (!this.ValidationRules) {
5144
+ return [];
5145
+ }
5146
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.ALLOWED_VALUES);
5147
+ }
5148
+ getOutlierRules() {
5149
+ if (!this.ValidationRules) {
5150
+ return [];
5151
+ }
5152
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.OUTLIER);
5153
+ }
5154
+ getStatisticalRules() {
5155
+ if (!this.ValidationRules) {
5156
+ return [];
5157
+ }
5158
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.STATISTICAL);
5159
+ }
5160
+ // Delete rule method
5161
+ deleteRule(rule) {
5162
+ if (!this.ValidationRules) {
5078
5163
  return;
5079
5164
  }
5080
- let current = 0;
5081
- for (let i = 0; i < this.ValidationRules.length; i++) {
5082
- if (this.ValidationRules[i].type === type) {
5083
- if (current === index) {
5084
- this.ValidationRules.splice(i, 1);
5085
- return;
5086
- }
5087
- current++;
5088
- }
5165
+ const index = this.ValidationRules.indexOf(rule);
5166
+ if (index !== -1) {
5167
+ this.ValidationRules.splice(index, 1);
5089
5168
  }
5090
5169
  }
5091
5170
  static groupValidationRulesByColumn(rules) {
5092
5171
  return rules.reduce((acc, rule) => {
5093
- const column = rule.column;
5172
+ const column = rule.getColumn;
5094
5173
  if (!acc[column]) {
5095
5174
  acc[column] = [];
5096
5175
  }
@@ -5100,7 +5179,7 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
5100
5179
  }
5101
5180
  static groupValidationRulesByType(rules) {
5102
5181
  return rules.reduce((acc, rule) => {
5103
- const type = rule.type;
5182
+ const type = rule.getType;
5104
5183
  if (!acc[type]) {
5105
5184
  acc[type] = [];
5106
5185
  }
@@ -5193,30 +5272,8 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
5193
5272
  * @returns Escaped JSON string with format: "{\"validation_rules\":[...]}"
5194
5273
  */
5195
5274
  static stringifyValidationRulesToEscapedString(rules) {
5196
- // Convert ValidationRule[] to plain objects for JSON serialization
5197
- const plainRules = rules.map((rule) => {
5198
- const plainRule = {
5199
- column: rule.column,
5200
- name: rule.name,
5201
- type: rule.type,
5202
- };
5203
- switch (rule.type) {
5204
- case VALIDATION_TYPE.COMPLETENESS:
5205
- const completenessRule = rule;
5206
- return Object.assign(Object.assign({}, plainRule), { min_completeness: completenessRule.min_completeness, weight: completenessRule.weight });
5207
- case VALIDATION_TYPE.DATA_TYPE:
5208
- const dataTypeRule = rule;
5209
- return Object.assign(Object.assign({}, plainRule), { expected_type: dataTypeRule.expected_type, weight: dataTypeRule.weight });
5210
- case VALIDATION_TYPE.PATTERN:
5211
- const patternRule = rule;
5212
- return Object.assign(Object.assign({}, plainRule), { pattern: patternRule.pattern, weight: patternRule.weight });
5213
- case VALIDATION_TYPE.UNIQUENESS:
5214
- const uniquenessRule = rule;
5215
- return Object.assign(Object.assign({}, plainRule), { weight: uniquenessRule.weight });
5216
- default:
5217
- return plainRule;
5218
- }
5219
- });
5275
+ // Convert ValidationRule[] to plain objects for JSON serialization using toDTO
5276
+ const plainRules = rules.map((rule) => rule.toDTO());
5220
5277
  // Create object with validation_rules property
5221
5278
  if (rules._escapedString) {
5222
5279
  return rules._escapedString;
@@ -5226,14 +5283,408 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
5226
5283
  const escaped = jsonString.replace(/"/g, '\\"');
5227
5284
  return '"' + escaped + '"';
5228
5285
  }
5229
- get rules() {
5230
- return this.ValidationRules;
5286
+ }
5287
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
5288
+
5289
+
5290
+ /***/ }),
5291
+
5292
+ /***/ "./lib/SODAS_SDK_CLASS/template/validationType.ts":
5293
+ /*!********************************************************!*\
5294
+ !*** ./lib/SODAS_SDK_CLASS/template/validationType.ts ***!
5295
+ \********************************************************/
5296
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5297
+
5298
+ __webpack_require__.r(__webpack_exports__);
5299
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5300
+ /* harmony export */ AllowedValuesValidationRule: () => (/* binding */ AllowedValuesValidationRule),
5301
+ /* harmony export */ COMPARISION_OPERATOR: () => (/* binding */ COMPARISION_OPERATOR),
5302
+ /* harmony export */ CUSTOM_CONDITION_TYPE: () => (/* binding */ CUSTOM_CONDITION_TYPE),
5303
+ /* harmony export */ CompletenessValidationRule: () => (/* binding */ CompletenessValidationRule),
5304
+ /* harmony export */ CustomValidationRule: () => (/* binding */ CustomValidationRule),
5305
+ /* harmony export */ DATETIME_FORMAT_TYPE: () => (/* binding */ DATETIME_FORMAT_TYPE),
5306
+ /* harmony export */ DataTypeValidationRule: () => (/* binding */ DataTypeValidationRule),
5307
+ /* harmony export */ EXPECTED_TYPE: () => (/* binding */ EXPECTED_TYPE),
5308
+ /* harmony export */ LengthValidationRule: () => (/* binding */ LengthValidationRule),
5309
+ /* harmony export */ OUTLIER_METHOD: () => (/* binding */ OUTLIER_METHOD),
5310
+ /* harmony export */ OutlierValidationRule: () => (/* binding */ OutlierValidationRule),
5311
+ /* harmony export */ PatternValidationRule: () => (/* binding */ PatternValidationRule),
5312
+ /* harmony export */ RangeValidationRule: () => (/* binding */ RangeValidationRule),
5313
+ /* harmony export */ StatisticalValidationRule: () => (/* binding */ StatisticalValidationRule),
5314
+ /* harmony export */ UniquenessValidationRule: () => (/* binding */ UniquenessValidationRule),
5315
+ /* harmony export */ VALIDATION_TYPE: () => (/* binding */ VALIDATION_TYPE),
5316
+ /* harmony export */ ValidationRule: () => (/* binding */ ValidationRule)
5317
+ /* harmony export */ });
5318
+ var VALIDATION_TYPE;
5319
+ (function (VALIDATION_TYPE) {
5320
+ VALIDATION_TYPE["DATA_TYPE"] = "data_type";
5321
+ VALIDATION_TYPE["RANGE"] = "range";
5322
+ VALIDATION_TYPE["PATTERN"] = "pattern";
5323
+ VALIDATION_TYPE["UNIQUENESS"] = "uniqueness";
5324
+ VALIDATION_TYPE["CUSTOM"] = "custom";
5325
+ VALIDATION_TYPE["COMPLETENESS"] = "completeness";
5326
+ VALIDATION_TYPE["LENGTH"] = "length";
5327
+ VALIDATION_TYPE["ALLOWED_VALUES"] = "allowed_values";
5328
+ VALIDATION_TYPE["OUTLIER"] = "outlier";
5329
+ VALIDATION_TYPE["STATISTICAL"] = "statistical";
5330
+ })(VALIDATION_TYPE || (VALIDATION_TYPE = {}));
5331
+ var EXPECTED_TYPE;
5332
+ (function (EXPECTED_TYPE) {
5333
+ EXPECTED_TYPE["NUMERIC"] = "numeric";
5334
+ EXPECTED_TYPE["STRING"] = "string";
5335
+ EXPECTED_TYPE["DATETIME"] = "datetime";
5336
+ })(EXPECTED_TYPE || (EXPECTED_TYPE = {}));
5337
+ class ValidationRule {
5338
+ constructor(type) {
5339
+ this.column = "";
5340
+ this.name = "";
5341
+ this.weight = 0;
5342
+ this.type = type;
5343
+ }
5344
+ toDTO() {
5345
+ return {
5346
+ column: this.column,
5347
+ name: this.name,
5348
+ type: this.type,
5349
+ weight: this.weight,
5350
+ };
5351
+ }
5352
+ populateFromDTO(dto) {
5353
+ this.column = dto.column || "";
5354
+ this.name = dto.name || "";
5355
+ this.weight = dto.weight || 0;
5356
+ }
5357
+ // Common setters with chaining
5358
+ setColumn(column) {
5359
+ this.column = column;
5360
+ return this;
5361
+ }
5362
+ setName(name) {
5363
+ this.name = name;
5364
+ return this;
5231
5365
  }
5232
- get escapedRules() {
5233
- return ValidationTemplate.stringifyValidationRulesToEscapedString(this.rules);
5366
+ setWeight(weight) {
5367
+ this.weight = weight;
5368
+ return this;
5369
+ }
5370
+ // Getters
5371
+ get getColumn() {
5372
+ return this.column;
5373
+ }
5374
+ get getName() {
5375
+ return this.name;
5376
+ }
5377
+ get getType() {
5378
+ return this.type;
5379
+ }
5380
+ get getWeight() {
5381
+ return this.weight;
5382
+ }
5383
+ }
5384
+ class UniquenessValidationRule extends ValidationRule {
5385
+ constructor() {
5386
+ super(VALIDATION_TYPE.UNIQUENESS);
5387
+ this.unique = false;
5388
+ }
5389
+ toDTO() {
5390
+ return Object.assign(Object.assign({}, super.toDTO()), { unique: this.unique });
5391
+ }
5392
+ populateFromDTO(dto) {
5393
+ var _a;
5394
+ super.populateFromDTO(dto);
5395
+ this.unique = (_a = dto.unique) !== null && _a !== void 0 ? _a : false;
5396
+ }
5397
+ setUnique(unique) {
5398
+ this.unique = unique;
5399
+ return this;
5400
+ }
5401
+ get getUnique() {
5402
+ return this.unique;
5403
+ }
5404
+ }
5405
+ class PatternValidationRule extends ValidationRule {
5406
+ constructor() {
5407
+ super(VALIDATION_TYPE.PATTERN);
5408
+ this.pattern = "";
5409
+ }
5410
+ toDTO() {
5411
+ return Object.assign(Object.assign({}, super.toDTO()), { pattern: this.pattern });
5412
+ }
5413
+ populateFromDTO(dto) {
5414
+ super.populateFromDTO(dto);
5415
+ this.pattern = dto.pattern || "";
5416
+ }
5417
+ setPattern(pattern) {
5418
+ this.pattern = pattern;
5419
+ return this;
5420
+ }
5421
+ get getPattern() {
5422
+ return this.pattern;
5423
+ }
5424
+ }
5425
+ class RangeValidationRule extends ValidationRule {
5426
+ constructor() {
5427
+ super(VALIDATION_TYPE.RANGE);
5428
+ this.min_value = 0;
5429
+ this.max_value = 0;
5430
+ }
5431
+ toDTO() {
5432
+ return Object.assign(Object.assign({}, super.toDTO()), { min_value: this.min_value, max_value: this.max_value });
5433
+ }
5434
+ populateFromDTO(dto) {
5435
+ var _a, _b;
5436
+ super.populateFromDTO(dto);
5437
+ this.min_value = (_a = dto.min_value) !== null && _a !== void 0 ? _a : 0;
5438
+ this.max_value = (_b = dto.max_value) !== null && _b !== void 0 ? _b : 0;
5439
+ }
5440
+ setMinValue(minValue) {
5441
+ this.min_value = minValue;
5442
+ return this;
5443
+ }
5444
+ setMaxValue(maxValue) {
5445
+ this.max_value = maxValue;
5446
+ return this;
5447
+ }
5448
+ get getMinValue() {
5449
+ return this.min_value;
5450
+ }
5451
+ get getMaxValue() {
5452
+ return this.max_value;
5453
+ }
5454
+ }
5455
+ var COMPARISION_OPERATOR;
5456
+ (function (COMPARISION_OPERATOR) {
5457
+ COMPARISION_OPERATOR["EQUAL"] = "==";
5458
+ COMPARISION_OPERATOR["NOT_EQUAL"] = "!=";
5459
+ COMPARISION_OPERATOR["GREATER_THAN"] = ">";
5460
+ COMPARISION_OPERATOR["LESS_THAN"] = "<";
5461
+ COMPARISION_OPERATOR["GREATER_THAN_OR_EQUAL"] = ">=";
5462
+ COMPARISION_OPERATOR["LESS_THAN_OR_EQUAL"] = "<=";
5463
+ })(COMPARISION_OPERATOR || (COMPARISION_OPERATOR = {}));
5464
+ var CUSTOM_CONDITION_TYPE;
5465
+ (function (CUSTOM_CONDITION_TYPE) {
5466
+ CUSTOM_CONDITION_TYPE["ALL"] = "all";
5467
+ CUSTOM_CONDITION_TYPE["ANY"] = "any";
5468
+ CUSTOM_CONDITION_TYPE["MIN"] = "min";
5469
+ CUSTOM_CONDITION_TYPE["MAX"] = "max";
5470
+ CUSTOM_CONDITION_TYPE["MEAN"] = "mean";
5471
+ CUSTOM_CONDITION_TYPE["RATIO"] = "ratio";
5472
+ })(CUSTOM_CONDITION_TYPE || (CUSTOM_CONDITION_TYPE = {}));
5473
+ class CustomValidationRule extends ValidationRule {
5474
+ constructor() {
5475
+ super(VALIDATION_TYPE.CUSTOM);
5476
+ this.condition = {
5477
+ type: CUSTOM_CONDITION_TYPE.ALL,
5478
+ threholder: 0,
5479
+ comparision: COMPARISION_OPERATOR.EQUAL,
5480
+ };
5481
+ }
5482
+ toDTO() {
5483
+ return Object.assign(Object.assign({}, super.toDTO()), { condition: this.condition });
5484
+ }
5485
+ populateFromDTO(dto) {
5486
+ var _a;
5487
+ super.populateFromDTO(dto);
5488
+ if (dto.condition) {
5489
+ this.condition = {
5490
+ type: dto.condition.type || CUSTOM_CONDITION_TYPE.ALL,
5491
+ threholder: (_a = dto.condition.threholder) !== null && _a !== void 0 ? _a : 0,
5492
+ comparision: dto.condition.comparision || COMPARISION_OPERATOR.EQUAL,
5493
+ };
5494
+ }
5495
+ }
5496
+ setCondition(condition) {
5497
+ this.condition = condition;
5498
+ return this;
5499
+ }
5500
+ get getCondition() {
5501
+ return this.condition;
5502
+ }
5503
+ }
5504
+ class LengthValidationRule extends ValidationRule {
5505
+ constructor() {
5506
+ super(VALIDATION_TYPE.LENGTH);
5507
+ this.min_length = 0;
5508
+ this.max_length = 0;
5509
+ }
5510
+ toDTO() {
5511
+ return Object.assign(Object.assign({}, super.toDTO()), { min_length: this.min_length, max_length: this.max_length });
5512
+ }
5513
+ populateFromDTO(dto) {
5514
+ var _a, _b;
5515
+ super.populateFromDTO(dto);
5516
+ this.min_length = (_a = dto.min_length) !== null && _a !== void 0 ? _a : 0;
5517
+ this.max_length = (_b = dto.max_length) !== null && _b !== void 0 ? _b : 0;
5518
+ }
5519
+ setMinLength(minLength) {
5520
+ this.min_length = minLength;
5521
+ return this;
5522
+ }
5523
+ setMaxLength(maxLength) {
5524
+ this.max_length = maxLength;
5525
+ return this;
5526
+ }
5527
+ get getMinLength() {
5528
+ return this.min_length;
5529
+ }
5530
+ get getMaxLength() {
5531
+ return this.max_length;
5532
+ }
5533
+ }
5534
+ class AllowedValuesValidationRule extends ValidationRule {
5535
+ constructor() {
5536
+ super(VALIDATION_TYPE.ALLOWED_VALUES);
5537
+ this.allowed_values = [];
5538
+ }
5539
+ toDTO() {
5540
+ return Object.assign(Object.assign({}, super.toDTO()), { allowed_values: this.allowed_values });
5541
+ }
5542
+ populateFromDTO(dto) {
5543
+ super.populateFromDTO(dto);
5544
+ this.allowed_values = dto.allowed_values || [];
5545
+ }
5546
+ setAllowedValues(allowedValues) {
5547
+ this.allowed_values = allowedValues;
5548
+ return this;
5549
+ }
5550
+ get getAllowedValues() {
5551
+ return this.allowed_values;
5552
+ }
5553
+ }
5554
+ var OUTLIER_METHOD;
5555
+ (function (OUTLIER_METHOD) {
5556
+ OUTLIER_METHOD["Z_SCORE"] = "zscore";
5557
+ OUTLIER_METHOD["IQR"] = "iqr";
5558
+ OUTLIER_METHOD["ISOLATION"] = "isolation";
5559
+ })(OUTLIER_METHOD || (OUTLIER_METHOD = {}));
5560
+ class OutlierValidationRule extends ValidationRule {
5561
+ constructor() {
5562
+ super(VALIDATION_TYPE.OUTLIER);
5563
+ this.method = OUTLIER_METHOD.Z_SCORE;
5564
+ this.threshold = 0;
5565
+ }
5566
+ toDTO() {
5567
+ return Object.assign(Object.assign({}, super.toDTO()), { method: this.method, threshold: this.threshold });
5568
+ }
5569
+ populateFromDTO(dto) {
5570
+ var _a;
5571
+ super.populateFromDTO(dto);
5572
+ this.method = dto.method || OUTLIER_METHOD.Z_SCORE;
5573
+ this.threshold = (_a = dto.threshold) !== null && _a !== void 0 ? _a : 0;
5574
+ }
5575
+ setMethod(method) {
5576
+ this.method = method;
5577
+ return this;
5578
+ }
5579
+ setThreshold(threshold) {
5580
+ this.threshold = threshold;
5581
+ return this;
5582
+ }
5583
+ get getMethod() {
5584
+ return this.method;
5585
+ }
5586
+ get getThreshold() {
5587
+ return this.threshold;
5588
+ }
5589
+ }
5590
+ class StatisticalValidationRule extends ValidationRule {
5591
+ constructor() {
5592
+ super(VALIDATION_TYPE.STATISTICAL);
5593
+ this.check = "";
5594
+ this.threshold = 0;
5595
+ this.comparision = COMPARISION_OPERATOR.EQUAL;
5596
+ }
5597
+ toDTO() {
5598
+ return Object.assign(Object.assign({}, super.toDTO()), { check: this.check, threshold: this.threshold, comparision: this.comparision });
5599
+ }
5600
+ populateFromDTO(dto) {
5601
+ var _a;
5602
+ super.populateFromDTO(dto);
5603
+ this.check = dto.check || "";
5604
+ this.threshold = (_a = dto.threshold) !== null && _a !== void 0 ? _a : 0;
5605
+ this.comparision = dto.comparision || COMPARISION_OPERATOR.EQUAL;
5606
+ }
5607
+ setCheck(check) {
5608
+ this.check = check;
5609
+ return this;
5610
+ }
5611
+ setThreshold(threshold) {
5612
+ this.threshold = threshold;
5613
+ return this;
5614
+ }
5615
+ setComparision(comparision) {
5616
+ this.comparision = comparision;
5617
+ return this;
5618
+ }
5619
+ get getCheck() {
5620
+ return this.check;
5621
+ }
5622
+ get getThreshold() {
5623
+ return this.threshold;
5624
+ }
5625
+ get getComparision() {
5626
+ return this.comparision;
5627
+ }
5628
+ }
5629
+ class CompletenessValidationRule extends ValidationRule {
5630
+ constructor() {
5631
+ super(VALIDATION_TYPE.COMPLETENESS);
5632
+ this.min_completeness = 0;
5633
+ }
5634
+ toDTO() {
5635
+ return Object.assign(Object.assign({}, super.toDTO()), { min_completeness: this.min_completeness });
5636
+ }
5637
+ populateFromDTO(dto) {
5638
+ var _a;
5639
+ super.populateFromDTO(dto);
5640
+ this.min_completeness = (_a = dto.min_completeness) !== null && _a !== void 0 ? _a : 0;
5641
+ }
5642
+ setMinCompleteness(minCompleteness) {
5643
+ this.min_completeness = minCompleteness;
5644
+ return this;
5645
+ }
5646
+ get getMinCompleteness() {
5647
+ return this.min_completeness;
5648
+ }
5649
+ }
5650
+ var DATETIME_FORMAT_TYPE;
5651
+ (function (DATETIME_FORMAT_TYPE) {
5652
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_HH_MM_SS"] = "%Y-%m-%d %H:%M:%S";
5653
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD"] = "%Y-%m-%d";
5654
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_SLASH"] = "%Y/%m/%d";
5655
+ DATETIME_FORMAT_TYPE["DD_MM_YYYY"] = "%d-%m-%Y";
5656
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_T_HH_MM_SS"] = "%Y-%m-%dT%H:%M:%S";
5657
+ })(DATETIME_FORMAT_TYPE || (DATETIME_FORMAT_TYPE = {}));
5658
+ class DataTypeValidationRule extends ValidationRule {
5659
+ constructor() {
5660
+ super(VALIDATION_TYPE.DATA_TYPE);
5661
+ this.expected_type = EXPECTED_TYPE.STRING;
5662
+ this.datetime_format = DATETIME_FORMAT_TYPE.YYYY_MM_DD_HH_MM_SS;
5663
+ }
5664
+ toDTO() {
5665
+ return Object.assign(Object.assign({}, super.toDTO()), { expected_type: this.expected_type, datetime_format: this.datetime_format });
5666
+ }
5667
+ populateFromDTO(dto) {
5668
+ super.populateFromDTO(dto);
5669
+ this.expected_type = dto.expected_type || EXPECTED_TYPE.STRING;
5670
+ this.datetime_format =
5671
+ dto.datetime_format || DATETIME_FORMAT_TYPE.YYYY_MM_DD_HH_MM_SS;
5672
+ }
5673
+ setExpectedType(expectedType) {
5674
+ this.expected_type = expectedType;
5675
+ return this;
5676
+ }
5677
+ setDatetimeFormat(datetimeFormat) {
5678
+ this.datetime_format = datetimeFormat;
5679
+ return this;
5680
+ }
5681
+ get getExpectedType() {
5682
+ return this.expected_type;
5683
+ }
5684
+ get getDatetimeFormat() {
5685
+ return this.datetime_format;
5234
5686
  }
5235
5687
  }
5236
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
5237
5688
 
5238
5689
 
5239
5690
  /***/ }),
@@ -5532,7 +5983,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
5532
5983
 
5533
5984
 
5534
5985
  class Config {
5535
- constructor(governanceBaseUrl, sodasProfileBaseUrl, legacyDatahubBaseUrl) {
5986
+ constructor(sodasProfileBaseUrl, legacyDatahubBaseUrl, governanceBaseUrl) {
5536
5987
  this.governanceToken = null;
5537
5988
  this.legacyDatahubToken = null;
5538
5989
  this.governanceBaseUrl = governanceBaseUrl.replace(/\/$/, "");
@@ -5544,9 +5995,9 @@ class Config {
5544
5995
  * Explicitly configure the SDK with the given API URLs.
5545
5996
  * This is the preferred way to set API URLs instead of using configureAPIURL.
5546
5997
  */
5547
- static configure(datahubApiUrl, governanceApiUrl, legacyDatahubApiUrl) {
5998
+ static configure(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl) {
5548
5999
  if (!Config.instance) {
5549
- Config.instance = new Config(governanceApiUrl, datahubApiUrl, legacyDatahubApiUrl);
6000
+ Config.instance = new Config(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl);
5550
6001
  }
5551
6002
  else {
5552
6003
  Config.instance.governanceBaseUrl = governanceApiUrl.replace(/\/$/, "");
@@ -5590,6 +6041,7 @@ class Config {
5590
6041
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5591
6042
  _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5592
6043
  _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_7__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
6044
+ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5593
6045
  }
5594
6046
  else {
5595
6047
  console.error("DATAHUB_API_URL not found in config");
@@ -5597,7 +6049,6 @@ class Config {
5597
6049
  if (this.governanceBaseUrl) {
5598
6050
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5599
6051
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5600
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5601
6052
  }
5602
6053
  else {
5603
6054
  console.error("GOVERNANCE_API_URL not found in config");
@@ -5733,8 +6184,6 @@ __webpack_require__.r(__webpack_exports__);
5733
6184
  /* harmony export */ NotRecordedYetError: () => (/* binding */ NotRecordedYetError),
5734
6185
  /* harmony export */ RecordNotFoundError: () => (/* binding */ RecordNotFoundError),
5735
6186
  /* harmony export */ RequirementsNotSetError: () => (/* binding */ RequirementsNotSetError),
5736
- /* harmony export */ ResourceRoleDescriptorAlreadyExist: () => (/* binding */ ResourceRoleDescriptorAlreadyExist),
5737
- /* harmony export */ ResourceRoleDescriptorNotExist: () => (/* binding */ ResourceRoleDescriptorNotExist),
5738
6187
  /* harmony export */ RetryLimitReachedError: () => (/* binding */ RetryLimitReachedError),
5739
6188
  /* harmony export */ SwitchSameIndexError: () => (/* binding */ SwitchSameIndexError),
5740
6189
  /* harmony export */ UnexpectedResponseFormatError: () => (/* binding */ UnexpectedResponseFormatError)
@@ -5825,16 +6274,6 @@ class RequirementsNotSetError extends Error {
5825
6274
  super(`Requirements are not set`);
5826
6275
  }
5827
6276
  }
5828
- class ResourceRoleDescriptorAlreadyExist extends Error {
5829
- constructor(role) {
5830
- super(`Resource Descripotor with specific role : ${role} already exists.`);
5831
- }
5832
- }
5833
- class ResourceRoleDescriptorNotExist extends Error {
5834
- constructor(role) {
5835
- super(`Resource Descripotor with specific role : ${role} doesn't exists.`);
5836
- }
5837
- }
5838
6277
  class RetryLimitReachedError extends Error {
5839
6278
  constructor(max) {
5840
6279
  super(`Max retries[${max}] reached`);
@@ -5888,13 +6327,13 @@ __webpack_require__.r(__webpack_exports__);
5888
6327
  function setGovernanceBearerToken(token) {
5889
6328
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].BEARER_TOKEN = token;
5890
6329
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].BEARER_TOKEN = token;
5891
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
5892
6330
  }
5893
6331
  function setLegacyDatahubBearerToken(token) {
5894
6332
  _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].BEARER_TOKEN = token;
5895
6333
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].BEARER_TOKEN = token;
5896
6334
  _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"].BEARER_TOKEN = token;
5897
6335
  _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"].BEARER_TOKEN = token;
6336
+ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
5898
6337
  }
5899
6338
 
5900
6339
 
@@ -5908,10 +6347,7 @@ function setLegacyDatahubBearerToken(token) {
5908
6347
 
5909
6348
  __webpack_require__.r(__webpack_exports__);
5910
6349
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5911
- /* harmony export */ ArtifactType: () => (/* binding */ ArtifactType),
5912
- /* harmony export */ ResourceDescriptorRole: () => (/* binding */ ResourceDescriptorRole),
5913
6350
  /* harmony export */ SortOrder: () => (/* binding */ SortOrder),
5914
- /* harmony export */ TemplateDetailFunctionality: () => (/* binding */ TemplateDetailFunctionality),
5915
6351
  /* harmony export */ asID: () => (/* binding */ asID),
5916
6352
  /* harmony export */ asIDs: () => (/* binding */ asIDs),
5917
6353
  /* harmony export */ asIRI: () => (/* binding */ asIRI),
@@ -5966,51 +6402,6 @@ function toDate(dateString) {
5966
6402
  }
5967
6403
  return date;
5968
6404
  }
5969
- var ResourceDescriptorRole;
5970
- (function (ResourceDescriptorRole) {
5971
- ResourceDescriptorRole["VOCABULARY"] = "vocabulary";
5972
- ResourceDescriptorRole["TYPE"] = "type";
5973
- ResourceDescriptorRole["SCHEMA"] = "schema";
5974
- ResourceDescriptorRole["CONSTRAINT"] = "constraint";
5975
- ResourceDescriptorRole["VALIDATION"] = "validation";
5976
- ResourceDescriptorRole["MAPPING"] = "mapping";
5977
- ResourceDescriptorRole["EXAMPLE"] = "example";
5978
- ResourceDescriptorRole["SPECIFICATION"] = "specification";
5979
- ResourceDescriptorRole["GUIDANCE"] = "guidance";
5980
- })(ResourceDescriptorRole || (ResourceDescriptorRole = {}));
5981
- var ArtifactType;
5982
- (function (ArtifactType) {
5983
- ArtifactType["TEMPLATE"] = "template";
5984
- ArtifactType["FILE"] = "file";
5985
- })(ArtifactType || (ArtifactType = {}));
5986
- var TemplateDetailFunctionality;
5987
- (function (TemplateDetailFunctionality) {
5988
- //VOCABULARY
5989
- TemplateDetailFunctionality["ORIGIN"] = "origin";
5990
- TemplateDetailFunctionality["NAMESPACE"] = "namespaceIRI";
5991
- TemplateDetailFunctionality["TERM"] = "term";
5992
- TemplateDetailFunctionality["DESCRIPTION"] = "description";
5993
- //TYPE
5994
- TemplateDetailFunctionality["NAME"] = "name";
5995
- TemplateDetailFunctionality["LABEL"] = "label";
5996
- TemplateDetailFunctionality["VALUE"] = "value";
5997
- //SCHEMA
5998
- TemplateDetailFunctionality["TYPE"] = "type";
5999
- TemplateDetailFunctionality["REQUIRED"] = "required";
6000
- TemplateDetailFunctionality["FIELD_TERM"] = "fieldTerm";
6001
- //CONSTRAINT
6002
- TemplateDetailFunctionality["FIELD"] = "field";
6003
- TemplateDetailFunctionality["REGEX"] = "regex";
6004
- //VALIDATION
6005
- TemplateDetailFunctionality["MEASURE"] = "measure";
6006
- //MAPPING
6007
- TemplateDetailFunctionality["TARGET_PROFILE"] = "targetProfile";
6008
- TemplateDetailFunctionality["TARGET_FIELD"] = "targetField";
6009
- //EXAMPLE : FIELD, VALUE, DESCIRPTION
6010
- //SPECIFICATION
6011
- TemplateDetailFunctionality["CONVERSION"] = "conversion";
6012
- //GUIDANCE : I think I need to remove it
6013
- })(TemplateDetailFunctionality || (TemplateDetailFunctionality = {}));
6014
6405
  var SortOrder;
6015
6406
  (function (SortOrder) {
6016
6407
  SortOrder["ASC"] = "ASC";
@@ -11077,35 +11468,50 @@ var __webpack_exports__ = {};
11077
11468
  \**********************/
11078
11469
  __webpack_require__.r(__webpack_exports__);
11079
11470
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11080
- /* harmony export */ ArtifactType: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType),
11081
- /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES),
11082
- /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES),
11083
- /* harmony export */ Config: () => (/* reexport safe */ _core_auth__WEBPACK_IMPORTED_MODULE_5__["default"]),
11471
+ /* harmony export */ AllowedValuesValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.AllowedValuesValidationRule),
11472
+ /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.BASIC_TYPE_VALUES),
11473
+ /* harmony export */ COMPARISION_OPERATOR: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.COMPARISION_OPERATOR),
11474
+ /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.CONVERSION_VALUES),
11475
+ /* harmony export */ CUSTOM_CONDITION_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CUSTOM_CONDITION_TYPE),
11476
+ /* harmony export */ CompletenessValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CompletenessValidationRule),
11477
+ /* harmony export */ Config: () => (/* reexport safe */ _core_auth__WEBPACK_IMPORTED_MODULE_6__["default"]),
11478
+ /* harmony export */ CustomValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CustomValidationRule),
11479
+ /* harmony export */ DATETIME_FORMAT_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DATETIME_FORMAT_TYPE),
11084
11480
  /* harmony export */ DataService: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"]),
11481
+ /* harmony export */ DataTypeValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DataTypeValidationRule),
11085
11482
  /* harmony export */ Dataset: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"]),
11086
11483
  /* harmony export */ DatasetSeries: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"]),
11087
11484
  /* harmony export */ Distribution: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"]),
11088
- /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES),
11089
- /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES),
11090
- /* harmony export */ ResourceDescriptorRole: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole),
11091
- /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder),
11092
- /* harmony export */ TemplateDetailFunctionality: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.TemplateDetailFunctionality),
11485
+ /* harmony export */ EXPECTED_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.EXPECTED_TYPE),
11486
+ /* harmony export */ LengthValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.LengthValidationRule),
11487
+ /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.MEASURE_VALUES),
11488
+ /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.ORIGIN_VALUES),
11489
+ /* harmony export */ OUTLIER_METHOD: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OUTLIER_METHOD),
11490
+ /* harmony export */ OutlierValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OutlierValidationRule),
11491
+ /* harmony export */ PatternValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.PatternValidationRule),
11492
+ /* harmony export */ RangeValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.RangeValidationRule),
11493
+ /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.SortOrder),
11494
+ /* harmony export */ StatisticalValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.StatisticalValidationRule),
11495
+ /* harmony export */ UniquenessValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.UniquenessValidationRule),
11496
+ /* harmony export */ VALIDATION_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.VALIDATION_TYPE),
11497
+ /* harmony export */ ValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.ValidationRule),
11093
11498
  /* harmony export */ ValidationTemplate: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"]),
11094
- /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asID),
11095
- /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI),
11499
+ /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.asID),
11500
+ /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.asIRI),
11096
11501
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11097
- /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken),
11098
- /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setLegacyDatahubBearerToken)
11502
+ /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_7__.setGovernanceBearerToken),
11503
+ /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_7__.setLegacyDatahubBearerToken)
11099
11504
  /* harmony export */ });
11100
11505
  /* 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");
11101
11506
  /* 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");
11102
11507
  /* 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");
11103
11508
  /* 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");
11104
11509
  /* 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");
11105
- /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
11106
- /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
11107
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
11108
- /* harmony import */ var _core_values__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./core/values */ "./lib/core/values.ts");
11510
+ /* 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");
11511
+ /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
11512
+ /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
11513
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
11514
+ /* harmony import */ var _core_values__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./core/values */ "./lib/core/values.ts");
11109
11515
  // Import named functions first
11110
11516
 
11111
11517
 
@@ -11116,53 +11522,82 @@ __webpack_require__.r(__webpack_exports__);
11116
11522
 
11117
11523
 
11118
11524
 
11525
+
11119
11526
  // ✅ Named exports (For ES module compatibility)
11120
11527
 
11121
11528
  // ✅ Default export (For CommonJS compatibility)
11122
11529
  const sdk = {
11123
- ArtifactType: _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType,
11124
- BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES,
11125
- CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES,
11126
- Config: _core_auth__WEBPACK_IMPORTED_MODULE_5__["default"],
11530
+ AllowedValuesValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.AllowedValuesValidationRule,
11531
+ BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.BASIC_TYPE_VALUES,
11532
+ COMPARISION_OPERATOR: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.COMPARISION_OPERATOR,
11533
+ CompletenessValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CompletenessValidationRule,
11534
+ CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.CONVERSION_VALUES,
11535
+ Config: _core_auth__WEBPACK_IMPORTED_MODULE_6__["default"],
11536
+ CUSTOM_CONDITION_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CUSTOM_CONDITION_TYPE,
11537
+ CustomValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CustomValidationRule,
11538
+ DATETIME_FORMAT_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DATETIME_FORMAT_TYPE,
11127
11539
  DataService: _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"],
11540
+ DataTypeValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DataTypeValidationRule,
11128
11541
  Dataset: _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"],
11129
11542
  DatasetSeries: _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"],
11130
11543
  Distribution: _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"],
11131
- MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES,
11132
- ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES,
11133
- ResourceDescriptorRole: _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole,
11134
- SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder,
11135
- TemplateDetailFunctionality: _core_type__WEBPACK_IMPORTED_MODULE_7__.TemplateDetailFunctionality,
11544
+ EXPECTED_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.EXPECTED_TYPE,
11545
+ LengthValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.LengthValidationRule,
11546
+ MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.MEASURE_VALUES,
11547
+ ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.ORIGIN_VALUES,
11548
+ OutlierValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OutlierValidationRule,
11549
+ OUTLIER_METHOD: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OUTLIER_METHOD,
11550
+ PatternValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.PatternValidationRule,
11551
+ RangeValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.RangeValidationRule,
11552
+ SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_8__.SortOrder,
11553
+ StatisticalValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.StatisticalValidationRule,
11554
+ UniquenessValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.UniquenessValidationRule,
11555
+ VALIDATION_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.VALIDATION_TYPE,
11556
+ ValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.ValidationRule,
11136
11557
  ValidationTemplate: _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"],
11137
- asID: _core_type__WEBPACK_IMPORTED_MODULE_7__.asID,
11138
- asIRI: _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI,
11139
- setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken,
11140
- setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setLegacyDatahubBearerToken,
11558
+ asID: _core_type__WEBPACK_IMPORTED_MODULE_8__.asID,
11559
+ asIRI: _core_type__WEBPACK_IMPORTED_MODULE_8__.asIRI,
11560
+ setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_7__.setGovernanceBearerToken,
11561
+ setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_7__.setLegacyDatahubBearerToken,
11141
11562
  };
11142
11563
  // ✅ Ensures `require("sodas-sdk")` works in CommonJS
11143
11564
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sdk);
11144
11565
 
11145
11566
  })();
11146
11567
 
11147
- var __webpack_exports__ArtifactType = __webpack_exports__.ArtifactType;
11568
+ var __webpack_exports__AllowedValuesValidationRule = __webpack_exports__.AllowedValuesValidationRule;
11148
11569
  var __webpack_exports__BASIC_TYPE_VALUES = __webpack_exports__.BASIC_TYPE_VALUES;
11570
+ var __webpack_exports__COMPARISION_OPERATOR = __webpack_exports__.COMPARISION_OPERATOR;
11149
11571
  var __webpack_exports__CONVERSION_VALUES = __webpack_exports__.CONVERSION_VALUES;
11572
+ var __webpack_exports__CUSTOM_CONDITION_TYPE = __webpack_exports__.CUSTOM_CONDITION_TYPE;
11573
+ var __webpack_exports__CompletenessValidationRule = __webpack_exports__.CompletenessValidationRule;
11150
11574
  var __webpack_exports__Config = __webpack_exports__.Config;
11575
+ var __webpack_exports__CustomValidationRule = __webpack_exports__.CustomValidationRule;
11576
+ var __webpack_exports__DATETIME_FORMAT_TYPE = __webpack_exports__.DATETIME_FORMAT_TYPE;
11151
11577
  var __webpack_exports__DataService = __webpack_exports__.DataService;
11578
+ var __webpack_exports__DataTypeValidationRule = __webpack_exports__.DataTypeValidationRule;
11152
11579
  var __webpack_exports__Dataset = __webpack_exports__.Dataset;
11153
11580
  var __webpack_exports__DatasetSeries = __webpack_exports__.DatasetSeries;
11154
11581
  var __webpack_exports__Distribution = __webpack_exports__.Distribution;
11582
+ var __webpack_exports__EXPECTED_TYPE = __webpack_exports__.EXPECTED_TYPE;
11583
+ var __webpack_exports__LengthValidationRule = __webpack_exports__.LengthValidationRule;
11155
11584
  var __webpack_exports__MEASURE_VALUES = __webpack_exports__.MEASURE_VALUES;
11156
11585
  var __webpack_exports__ORIGIN_VALUES = __webpack_exports__.ORIGIN_VALUES;
11157
- var __webpack_exports__ResourceDescriptorRole = __webpack_exports__.ResourceDescriptorRole;
11586
+ var __webpack_exports__OUTLIER_METHOD = __webpack_exports__.OUTLIER_METHOD;
11587
+ var __webpack_exports__OutlierValidationRule = __webpack_exports__.OutlierValidationRule;
11588
+ var __webpack_exports__PatternValidationRule = __webpack_exports__.PatternValidationRule;
11589
+ var __webpack_exports__RangeValidationRule = __webpack_exports__.RangeValidationRule;
11158
11590
  var __webpack_exports__SortOrder = __webpack_exports__.SortOrder;
11159
- var __webpack_exports__TemplateDetailFunctionality = __webpack_exports__.TemplateDetailFunctionality;
11591
+ var __webpack_exports__StatisticalValidationRule = __webpack_exports__.StatisticalValidationRule;
11592
+ var __webpack_exports__UniquenessValidationRule = __webpack_exports__.UniquenessValidationRule;
11593
+ var __webpack_exports__VALIDATION_TYPE = __webpack_exports__.VALIDATION_TYPE;
11594
+ var __webpack_exports__ValidationRule = __webpack_exports__.ValidationRule;
11160
11595
  var __webpack_exports__ValidationTemplate = __webpack_exports__.ValidationTemplate;
11161
11596
  var __webpack_exports__asID = __webpack_exports__.asID;
11162
11597
  var __webpack_exports__asIRI = __webpack_exports__.asIRI;
11163
11598
  var __webpack_exports__default = __webpack_exports__["default"];
11164
11599
  var __webpack_exports__setGovernanceBearerToken = __webpack_exports__.setGovernanceBearerToken;
11165
11600
  var __webpack_exports__setLegacyDatahubBearerToken = __webpack_exports__.setLegacyDatahubBearerToken;
11166
- export { __webpack_exports__ArtifactType as ArtifactType, __webpack_exports__BASIC_TYPE_VALUES as BASIC_TYPE_VALUES, __webpack_exports__CONVERSION_VALUES as CONVERSION_VALUES, __webpack_exports__Config as Config, __webpack_exports__DataService as DataService, __webpack_exports__Dataset as Dataset, __webpack_exports__DatasetSeries as DatasetSeries, __webpack_exports__Distribution as Distribution, __webpack_exports__MEASURE_VALUES as MEASURE_VALUES, __webpack_exports__ORIGIN_VALUES as ORIGIN_VALUES, __webpack_exports__ResourceDescriptorRole as ResourceDescriptorRole, __webpack_exports__SortOrder as SortOrder, __webpack_exports__TemplateDetailFunctionality as TemplateDetailFunctionality, __webpack_exports__ValidationTemplate as ValidationTemplate, __webpack_exports__asID as asID, __webpack_exports__asIRI as asIRI, __webpack_exports__default as default, __webpack_exports__setGovernanceBearerToken as setGovernanceBearerToken, __webpack_exports__setLegacyDatahubBearerToken as setLegacyDatahubBearerToken };
11601
+ export { __webpack_exports__AllowedValuesValidationRule as AllowedValuesValidationRule, __webpack_exports__BASIC_TYPE_VALUES as BASIC_TYPE_VALUES, __webpack_exports__COMPARISION_OPERATOR as COMPARISION_OPERATOR, __webpack_exports__CONVERSION_VALUES as CONVERSION_VALUES, __webpack_exports__CUSTOM_CONDITION_TYPE as CUSTOM_CONDITION_TYPE, __webpack_exports__CompletenessValidationRule as CompletenessValidationRule, __webpack_exports__Config as Config, __webpack_exports__CustomValidationRule as CustomValidationRule, __webpack_exports__DATETIME_FORMAT_TYPE as DATETIME_FORMAT_TYPE, __webpack_exports__DataService as DataService, __webpack_exports__DataTypeValidationRule as DataTypeValidationRule, __webpack_exports__Dataset as Dataset, __webpack_exports__DatasetSeries as DatasetSeries, __webpack_exports__Distribution as Distribution, __webpack_exports__EXPECTED_TYPE as EXPECTED_TYPE, __webpack_exports__LengthValidationRule as LengthValidationRule, __webpack_exports__MEASURE_VALUES as MEASURE_VALUES, __webpack_exports__ORIGIN_VALUES as ORIGIN_VALUES, __webpack_exports__OUTLIER_METHOD as OUTLIER_METHOD, __webpack_exports__OutlierValidationRule as OutlierValidationRule, __webpack_exports__PatternValidationRule as PatternValidationRule, __webpack_exports__RangeValidationRule as RangeValidationRule, __webpack_exports__SortOrder as SortOrder, __webpack_exports__StatisticalValidationRule as StatisticalValidationRule, __webpack_exports__UniquenessValidationRule as UniquenessValidationRule, __webpack_exports__VALIDATION_TYPE as VALIDATION_TYPE, __webpack_exports__ValidationRule as ValidationRule, __webpack_exports__ValidationTemplate as ValidationTemplate, __webpack_exports__asID as asID, __webpack_exports__asIRI as asIRI, __webpack_exports__default as default, __webpack_exports__setGovernanceBearerToken as setGovernanceBearerToken, __webpack_exports__setLegacyDatahubBearerToken as setLegacyDatahubBearerToken };
11167
11602
 
11168
11603
  //# sourceMappingURL=index.browser.js.map