sodas-sdk 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/SODAS_SDK_CLASS/DCAT/dataService.d.ts +2 -2
  2. package/dist/SODAS_SDK_CLASS/DCAT/dataset.d.ts +2 -2
  3. package/dist/SODAS_SDK_CLASS/DCAT/datasetSeries.d.ts +2 -2
  4. package/dist/SODAS_SDK_CLASS/DCAT/dcatResource.d.ts +9 -5
  5. package/dist/SODAS_SDK_CLASS/DCAT/distribution.d.ts +4 -4
  6. package/dist/SODAS_SDK_CLASS/profileModel.d.ts +38 -0
  7. package/dist/SODAS_SDK_CLASS/template/validation.d.ts +30 -55
  8. package/dist/SODAS_SDK_CLASS/template/validationType.d.ts +196 -0
  9. package/dist/__tests__/setting/testEnvironmentConfig.d.ts +1 -1
  10. package/dist/__tests__/setting/testSetting.d.ts +1 -1
  11. package/dist/__tests__/utility/BOC.d.ts +4 -4
  12. package/dist/__tests__/utility/testDTO.d.ts +3 -0
  13. package/dist/__tests__/utility/validation.d.ts +3 -5
  14. package/dist/core/auth.d.ts +1 -1
  15. package/dist/core/error.d.ts +0 -7
  16. package/dist/core/functionalityError.d.ts +1 -8
  17. package/dist/core/type.d.ts +3 -37
  18. package/dist/index.browser.js +947 -509
  19. package/dist/index.browser.js.map +1 -1
  20. package/dist/index.d.ts +20 -5
  21. package/dist/index.legacy.browser.js +931 -506
  22. package/dist/index.legacy.browser.js.map +1 -1
  23. package/dist/index.legacy.node.cjs +930 -505
  24. package/dist/index.legacy.node.cjs.map +1 -1
  25. package/dist/index.node.js +947 -509
  26. package/dist/index.node.js.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/SODAS_SDK_CLASS/dcatClass.d.ts +0 -38
  29. /package/dist/__tests__/SODAS_SDK_CLASS/template/validation/{CRUD.medium.test.d.ts → CRUDL.medium.test.d.ts} +0 -0
  30. /package/dist/__tests__/SODAS_SDK_CLASS/template/validation/{LIST.big.test.d.ts → manageRules.medium.test.d.ts} +0 -0
@@ -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) {
@@ -4915,48 +4926,17 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
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
4928
  });
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"] {
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,13 +5283,410 @@ 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;
5231
- }
5232
5286
  }
5233
5287
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
5234
5288
 
5235
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;
5365
+ }
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;
5686
+ }
5687
+ }
5688
+
5689
+
5236
5690
  /***/ }),
5237
5691
 
5238
5692
  /***/ "./lib/SODAS_SDK_FILE/dataFile.ts":
@@ -5529,7 +5983,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
5529
5983
 
5530
5984
 
5531
5985
  class Config {
5532
- constructor(governanceBaseUrl, sodasProfileBaseUrl, legacyDatahubBaseUrl) {
5986
+ constructor(sodasProfileBaseUrl, legacyDatahubBaseUrl, governanceBaseUrl) {
5533
5987
  this.governanceToken = null;
5534
5988
  this.legacyDatahubToken = null;
5535
5989
  this.governanceBaseUrl = governanceBaseUrl.replace(/\/$/, "");
@@ -5541,9 +5995,9 @@ class Config {
5541
5995
  * Explicitly configure the SDK with the given API URLs.
5542
5996
  * This is the preferred way to set API URLs instead of using configureAPIURL.
5543
5997
  */
5544
- static configure(datahubApiUrl, governanceApiUrl, legacyDatahubApiUrl) {
5998
+ static configure(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl) {
5545
5999
  if (!Config.instance) {
5546
- Config.instance = new Config(governanceApiUrl, datahubApiUrl, legacyDatahubApiUrl);
6000
+ Config.instance = new Config(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl);
5547
6001
  }
5548
6002
  else {
5549
6003
  Config.instance.governanceBaseUrl = governanceApiUrl.replace(/\/$/, "");
@@ -5587,6 +6041,7 @@ class Config {
5587
6041
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5588
6042
  _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5589
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);
5590
6045
  }
5591
6046
  else {
5592
6047
  console.error("DATAHUB_API_URL not found in config");
@@ -5594,7 +6049,6 @@ class Config {
5594
6049
  if (this.governanceBaseUrl) {
5595
6050
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5596
6051
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5597
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5598
6052
  }
5599
6053
  else {
5600
6054
  console.error("GOVERNANCE_API_URL not found in config");
@@ -5730,8 +6184,6 @@ __webpack_require__.r(__webpack_exports__);
5730
6184
  /* harmony export */ NotRecordedYetError: () => (/* binding */ NotRecordedYetError),
5731
6185
  /* harmony export */ RecordNotFoundError: () => (/* binding */ RecordNotFoundError),
5732
6186
  /* harmony export */ RequirementsNotSetError: () => (/* binding */ RequirementsNotSetError),
5733
- /* harmony export */ ResourceRoleDescriptorAlreadyExist: () => (/* binding */ ResourceRoleDescriptorAlreadyExist),
5734
- /* harmony export */ ResourceRoleDescriptorNotExist: () => (/* binding */ ResourceRoleDescriptorNotExist),
5735
6187
  /* harmony export */ RetryLimitReachedError: () => (/* binding */ RetryLimitReachedError),
5736
6188
  /* harmony export */ SwitchSameIndexError: () => (/* binding */ SwitchSameIndexError),
5737
6189
  /* harmony export */ UnexpectedResponseFormatError: () => (/* binding */ UnexpectedResponseFormatError)
@@ -5822,16 +6274,6 @@ class RequirementsNotSetError extends Error {
5822
6274
  super(`Requirements are not set`);
5823
6275
  }
5824
6276
  }
5825
- class ResourceRoleDescriptorAlreadyExist extends Error {
5826
- constructor(role) {
5827
- super(`Resource Descripotor with specific role : ${role} already exists.`);
5828
- }
5829
- }
5830
- class ResourceRoleDescriptorNotExist extends Error {
5831
- constructor(role) {
5832
- super(`Resource Descripotor with specific role : ${role} doesn't exists.`);
5833
- }
5834
- }
5835
6277
  class RetryLimitReachedError extends Error {
5836
6278
  constructor(max) {
5837
6279
  super(`Max retries[${max}] reached`);
@@ -5885,13 +6327,13 @@ __webpack_require__.r(__webpack_exports__);
5885
6327
  function setGovernanceBearerToken(token) {
5886
6328
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].BEARER_TOKEN = token;
5887
6329
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].BEARER_TOKEN = token;
5888
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
5889
6330
  }
5890
6331
  function setLegacyDatahubBearerToken(token) {
5891
6332
  _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].BEARER_TOKEN = token;
5892
6333
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].BEARER_TOKEN = token;
5893
6334
  _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"].BEARER_TOKEN = token;
5894
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;
5895
6337
  }
5896
6338
 
5897
6339
 
@@ -5905,10 +6347,7 @@ function setLegacyDatahubBearerToken(token) {
5905
6347
 
5906
6348
  __webpack_require__.r(__webpack_exports__);
5907
6349
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5908
- /* harmony export */ ArtifactType: () => (/* binding */ ArtifactType),
5909
- /* harmony export */ ResourceDescriptorRole: () => (/* binding */ ResourceDescriptorRole),
5910
6350
  /* harmony export */ SortOrder: () => (/* binding */ SortOrder),
5911
- /* harmony export */ TemplateDetailFunctionality: () => (/* binding */ TemplateDetailFunctionality),
5912
6351
  /* harmony export */ asID: () => (/* binding */ asID),
5913
6352
  /* harmony export */ asIDs: () => (/* binding */ asIDs),
5914
6353
  /* harmony export */ asIRI: () => (/* binding */ asIRI),
@@ -5963,51 +6402,6 @@ function toDate(dateString) {
5963
6402
  }
5964
6403
  return date;
5965
6404
  }
5966
- var ResourceDescriptorRole;
5967
- (function (ResourceDescriptorRole) {
5968
- ResourceDescriptorRole["VOCABULARY"] = "vocabulary";
5969
- ResourceDescriptorRole["TYPE"] = "type";
5970
- ResourceDescriptorRole["SCHEMA"] = "schema";
5971
- ResourceDescriptorRole["CONSTRAINT"] = "constraint";
5972
- ResourceDescriptorRole["VALIDATION"] = "validation";
5973
- ResourceDescriptorRole["MAPPING"] = "mapping";
5974
- ResourceDescriptorRole["EXAMPLE"] = "example";
5975
- ResourceDescriptorRole["SPECIFICATION"] = "specification";
5976
- ResourceDescriptorRole["GUIDANCE"] = "guidance";
5977
- })(ResourceDescriptorRole || (ResourceDescriptorRole = {}));
5978
- var ArtifactType;
5979
- (function (ArtifactType) {
5980
- ArtifactType["TEMPLATE"] = "template";
5981
- ArtifactType["FILE"] = "file";
5982
- })(ArtifactType || (ArtifactType = {}));
5983
- var TemplateDetailFunctionality;
5984
- (function (TemplateDetailFunctionality) {
5985
- //VOCABULARY
5986
- TemplateDetailFunctionality["ORIGIN"] = "origin";
5987
- TemplateDetailFunctionality["NAMESPACE"] = "namespaceIRI";
5988
- TemplateDetailFunctionality["TERM"] = "term";
5989
- TemplateDetailFunctionality["DESCRIPTION"] = "description";
5990
- //TYPE
5991
- TemplateDetailFunctionality["NAME"] = "name";
5992
- TemplateDetailFunctionality["LABEL"] = "label";
5993
- TemplateDetailFunctionality["VALUE"] = "value";
5994
- //SCHEMA
5995
- TemplateDetailFunctionality["TYPE"] = "type";
5996
- TemplateDetailFunctionality["REQUIRED"] = "required";
5997
- TemplateDetailFunctionality["FIELD_TERM"] = "fieldTerm";
5998
- //CONSTRAINT
5999
- TemplateDetailFunctionality["FIELD"] = "field";
6000
- TemplateDetailFunctionality["REGEX"] = "regex";
6001
- //VALIDATION
6002
- TemplateDetailFunctionality["MEASURE"] = "measure";
6003
- //MAPPING
6004
- TemplateDetailFunctionality["TARGET_PROFILE"] = "targetProfile";
6005
- TemplateDetailFunctionality["TARGET_FIELD"] = "targetField";
6006
- //EXAMPLE : FIELD, VALUE, DESCIRPTION
6007
- //SPECIFICATION
6008
- TemplateDetailFunctionality["CONVERSION"] = "conversion";
6009
- //GUIDANCE : I think I need to remove it
6010
- })(TemplateDetailFunctionality || (TemplateDetailFunctionality = {}));
6011
6405
  var SortOrder;
6012
6406
  (function (SortOrder) {
6013
6407
  SortOrder["ASC"] = "ASC";
@@ -11074,35 +11468,50 @@ var __webpack_exports__ = {};
11074
11468
  \**********************/
11075
11469
  __webpack_require__.r(__webpack_exports__);
11076
11470
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11077
- /* harmony export */ ArtifactType: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType),
11078
- /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES),
11079
- /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES),
11080
- /* 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),
11081
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),
11082
11482
  /* harmony export */ Dataset: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"]),
11083
11483
  /* harmony export */ DatasetSeries: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"]),
11084
11484
  /* harmony export */ Distribution: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"]),
11085
- /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES),
11086
- /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES),
11087
- /* harmony export */ ResourceDescriptorRole: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole),
11088
- /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder),
11089
- /* 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),
11090
11498
  /* harmony export */ ValidationTemplate: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"]),
11091
- /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asID),
11092
- /* 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),
11093
11501
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11094
- /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken),
11095
- /* 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)
11096
11504
  /* harmony export */ });
11097
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");
11098
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");
11099
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");
11100
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");
11101
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");
11102
- /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
11103
- /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
11104
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
11105
- /* 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");
11106
11515
  // Import named functions first
11107
11516
 
11108
11517
 
@@ -11113,53 +11522,82 @@ __webpack_require__.r(__webpack_exports__);
11113
11522
 
11114
11523
 
11115
11524
 
11525
+
11116
11526
  // ✅ Named exports (For ES module compatibility)
11117
11527
 
11118
11528
  // ✅ Default export (For CommonJS compatibility)
11119
11529
  const sdk = {
11120
- ArtifactType: _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType,
11121
- BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES,
11122
- CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES,
11123
- 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,
11124
11539
  DataService: _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"],
11540
+ DataTypeValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DataTypeValidationRule,
11125
11541
  Dataset: _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"],
11126
11542
  DatasetSeries: _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"],
11127
11543
  Distribution: _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"],
11128
- MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES,
11129
- ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES,
11130
- ResourceDescriptorRole: _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole,
11131
- SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder,
11132
- 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,
11133
11557
  ValidationTemplate: _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"],
11134
- asID: _core_type__WEBPACK_IMPORTED_MODULE_7__.asID,
11135
- asIRI: _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI,
11136
- setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken,
11137
- 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,
11138
11562
  };
11139
11563
  // ✅ Ensures `require("sodas-sdk")` works in CommonJS
11140
11564
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sdk);
11141
11565
 
11142
11566
  })();
11143
11567
 
11144
- var __webpack_exports__ArtifactType = __webpack_exports__.ArtifactType;
11568
+ var __webpack_exports__AllowedValuesValidationRule = __webpack_exports__.AllowedValuesValidationRule;
11145
11569
  var __webpack_exports__BASIC_TYPE_VALUES = __webpack_exports__.BASIC_TYPE_VALUES;
11570
+ var __webpack_exports__COMPARISION_OPERATOR = __webpack_exports__.COMPARISION_OPERATOR;
11146
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;
11147
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;
11148
11577
  var __webpack_exports__DataService = __webpack_exports__.DataService;
11578
+ var __webpack_exports__DataTypeValidationRule = __webpack_exports__.DataTypeValidationRule;
11149
11579
  var __webpack_exports__Dataset = __webpack_exports__.Dataset;
11150
11580
  var __webpack_exports__DatasetSeries = __webpack_exports__.DatasetSeries;
11151
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;
11152
11584
  var __webpack_exports__MEASURE_VALUES = __webpack_exports__.MEASURE_VALUES;
11153
11585
  var __webpack_exports__ORIGIN_VALUES = __webpack_exports__.ORIGIN_VALUES;
11154
- 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;
11155
11590
  var __webpack_exports__SortOrder = __webpack_exports__.SortOrder;
11156
- 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;
11157
11595
  var __webpack_exports__ValidationTemplate = __webpack_exports__.ValidationTemplate;
11158
11596
  var __webpack_exports__asID = __webpack_exports__.asID;
11159
11597
  var __webpack_exports__asIRI = __webpack_exports__.asIRI;
11160
11598
  var __webpack_exports__default = __webpack_exports__["default"];
11161
11599
  var __webpack_exports__setGovernanceBearerToken = __webpack_exports__.setGovernanceBearerToken;
11162
11600
  var __webpack_exports__setLegacyDatahubBearerToken = __webpack_exports__.setLegacyDatahubBearerToken;
11163
- 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 };
11164
11602
 
11165
11603
  //# sourceMappingURL=index.browser.js.map