sodas-sdk 1.5.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/SODAS_SDK_CLASS/DCAT/dataService.d.ts +2 -2
  2. package/dist/SODAS_SDK_CLASS/DCAT/dataset.d.ts +2 -2
  3. package/dist/SODAS_SDK_CLASS/DCAT/datasetSeries.d.ts +2 -2
  4. package/dist/SODAS_SDK_CLASS/DCAT/dcatResource.d.ts +9 -5
  5. package/dist/SODAS_SDK_CLASS/DCAT/distribution.d.ts +4 -4
  6. package/dist/SODAS_SDK_CLASS/profileModel.d.ts +38 -0
  7. package/dist/SODAS_SDK_CLASS/template/validation.d.ts +30 -56
  8. package/dist/SODAS_SDK_CLASS/template/validationType.d.ts +196 -0
  9. package/dist/__tests__/setting/testEnvironmentConfig.d.ts +1 -1
  10. package/dist/__tests__/setting/testSetting.d.ts +1 -1
  11. package/dist/__tests__/utility/BOC.d.ts +4 -4
  12. package/dist/__tests__/utility/testDTO.d.ts +3 -0
  13. package/dist/__tests__/utility/validation.d.ts +3 -5
  14. package/dist/core/auth.d.ts +1 -1
  15. package/dist/core/error.d.ts +0 -7
  16. package/dist/core/functionalityError.d.ts +1 -8
  17. package/dist/core/type.d.ts +3 -37
  18. package/dist/index.browser.js +947 -512
  19. package/dist/index.browser.js.map +1 -1
  20. package/dist/index.d.ts +20 -5
  21. package/dist/index.legacy.browser.js +931 -509
  22. package/dist/index.legacy.browser.js.map +1 -1
  23. package/dist/index.legacy.node.cjs +930 -508
  24. package/dist/index.legacy.node.cjs.map +1 -1
  25. package/dist/index.node.js +947 -512
  26. package/dist/index.node.js.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/SODAS_SDK_CLASS/dcatClass.d.ts +0 -38
  29. /package/dist/__tests__/SODAS_SDK_CLASS/template/validation/{CRUD.medium.test.d.ts → CRUDL.medium.test.d.ts} +0 -0
  30. /package/dist/__tests__/SODAS_SDK_CLASS/template/validation/{LIST.big.test.d.ts → manageRules.medium.test.d.ts} +0 -0
@@ -2737,7 +2737,7 @@ __webpack_require__.r(__webpack_exports__);
2737
2737
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
2738
2738
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
2739
2739
  /* harmony import */ var _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../SODAS_SDK_FILE/thumbnailFile */ "./lib/SODAS_SDK_FILE/thumbnailFile.ts");
2740
- /* harmony import */ var _dcatClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dcatClass */ "./lib/SODAS_SDK_CLASS/dcatClass.ts");
2740
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
2741
2741
  /* harmony import */ var _versionInfo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./versionInfo */ "./lib/SODAS_SDK_CLASS/DCAT/versionInfo.ts");
2742
2742
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
2743
2743
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -2753,11 +2753,11 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
2753
2753
 
2754
2754
 
2755
2755
 
2756
- class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
2756
+ class DCAT_RESOURCE extends _profileModel__WEBPACK_IMPORTED_MODULE_3__["default"] {
2757
2757
  toDTO() {
2758
2758
  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 && {
2759
2759
  PreviousVersionID: this.PreviousVersionID,
2760
- })), (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 });
2760
+ })), (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 });
2761
2761
  }
2762
2762
  populateFromDTO(dto) {
2763
2763
  const _super = Object.create(null, {
@@ -2810,6 +2810,8 @@ class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
2810
2810
  dcatResourceDTO.IssuerID && (this.IssuerID = dcatResourceDTO.IssuerID);
2811
2811
  dcatResourceDTO.ExtraMetadata &&
2812
2812
  (this.ExtraMetadata = dcatResourceDTO.ExtraMetadata);
2813
+ dcatResourceDTO.QualityMetadata &&
2814
+ (this.QualityMetadata = dcatResourceDTO.QualityMetadata);
2813
2815
  yield this.populateVersionInfoFromDTO(dcatResourceDTO);
2814
2816
  });
2815
2817
  }
@@ -3010,6 +3012,18 @@ class DCAT_RESOURCE extends _dcatClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
3010
3012
  }
3011
3013
  return this.ExtraMetadata[name];
3012
3014
  }
3015
+ setQualityMetadata(name, value) {
3016
+ if (!this.QualityMetadata) {
3017
+ this.QualityMetadata = {};
3018
+ }
3019
+ this.QualityMetadata[name] = value;
3020
+ }
3021
+ getQualityMetadata(name) {
3022
+ if (!this.QualityMetadata) {
3023
+ return undefined;
3024
+ }
3025
+ return this.QualityMetadata[name];
3026
+ }
3013
3027
  getTitle(languageCode = "ko") {
3014
3028
  if (!this.TitleML) {
3015
3029
  this.TitleML = {};
@@ -3107,7 +3121,7 @@ __webpack_require__.r(__webpack_exports__);
3107
3121
  /* harmony export */ });
3108
3122
  /* harmony import */ var _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../SODAS_SDK_FILE/dataFile */ "./lib/SODAS_SDK_FILE/dataFile.ts");
3109
3123
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
3110
- /* harmony import */ var _dcatClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dcatClass */ "./lib/SODAS_SDK_CLASS/dcatClass.ts");
3124
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
3111
3125
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3112
3126
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3113
3127
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -3120,7 +3134,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
3120
3134
 
3121
3135
 
3122
3136
 
3123
- class Distribution extends _dcatClass__WEBPACK_IMPORTED_MODULE_2__["default"] {
3137
+ class Distribution extends _profileModel__WEBPACK_IMPORTED_MODULE_2__["default"] {
3124
3138
  /**
3125
3139
  * Populates this instance with values from the given Distribution, except for:
3126
3140
  * - DB identity / temporal fields (ID, IRI, Issued, Modified, CreatedAt, UpdatedAt)
@@ -3497,255 +3511,6 @@ class VersionInfo {
3497
3511
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionInfo);
3498
3512
 
3499
3513
 
3500
- /***/ }),
3501
-
3502
- /***/ "./lib/SODAS_SDK_CLASS/dcatClass.ts":
3503
- /*!******************************************!*\
3504
- !*** ./lib/SODAS_SDK_CLASS/dcatClass.ts ***!
3505
- \******************************************/
3506
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3507
-
3508
- "use strict";
3509
- __webpack_require__.r(__webpack_exports__);
3510
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3511
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3512
- /* harmony export */ });
3513
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
3514
- /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
3515
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
3516
- /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util */ "./lib/core/util.ts");
3517
- /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
3518
- var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3519
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3520
- return new (P || (P = Promise))(function (resolve, reject) {
3521
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
3522
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
3523
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
3524
- step((generator = generator.apply(thisArg, _arguments || [])).next());
3525
- });
3526
- };
3527
-
3528
-
3529
-
3530
-
3531
-
3532
- class DCAT_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
3533
- toDTO() {
3534
- 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() }));
3535
- }
3536
- hasDBRecord() {
3537
- if (this.ID && this.IRI) {
3538
- return true;
3539
- }
3540
- else {
3541
- return false;
3542
- }
3543
- }
3544
- populateFromDTO(dto) {
3545
- return __awaiter(this, void 0, void 0, function* () {
3546
- dto.ID && (this.ID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(dto.ID));
3547
- dto.IRI && (this.IRI = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIRI)(dto.IRI));
3548
- dto.Issued && (this.Issued = new Date(dto.Issued));
3549
- dto.Modified && (this.Modified = new Date(dto.Modified));
3550
- dto.CreatedAt && (this.CreatedAt = new Date(dto.CreatedAt));
3551
- dto.UpdatedAt && (this.UpdatedAt = new Date(dto.UpdatedAt));
3552
- });
3553
- }
3554
- static listDBRecords() {
3555
- return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
3556
- //@ts-ignore
3557
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
3558
- let response;
3559
- try {
3560
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(this.prototype.constructor.LIST_URL, {
3561
- params: { pageNumber, pageSize, sortOrder },
3562
- });
3563
- }
3564
- catch (error) {
3565
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
3566
- }
3567
- if (response.data.total != null && Array.isArray(response.data.list)) {
3568
- const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
3569
- const dcatResource = new this();
3570
- yield dcatResource.populateFromDTO(item);
3571
- return dcatResource;
3572
- })));
3573
- return {
3574
- total: response.data.total,
3575
- list,
3576
- };
3577
- }
3578
- else {
3579
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
3580
- }
3581
- });
3582
- }
3583
- static getAllDBRecords() {
3584
- return __awaiter(this, void 0, void 0, function* () {
3585
- const paginatedResponse = yield this.listDBRecords(1, _core_util__WEBPACK_IMPORTED_MODULE_2__.LARGE_ENOUGH_NUMBER);
3586
- return paginatedResponse.list;
3587
- });
3588
- }
3589
- createDBRecord() {
3590
- return __awaiter(this, void 0, void 0, function* () {
3591
- this.throwErrorIfAPIURLNotSet();
3592
- this.throwErrorIfRecorded();
3593
- const data = this.toDTO();
3594
- const cleanData = JSON.parse(JSON.stringify(data));
3595
- const cls = this.constructor;
3596
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
3597
- baseURL: cls.API_URL,
3598
- headers: {
3599
- "Content-Type": "application/json",
3600
- },
3601
- });
3602
- if (cls.BEARER_TOKEN) {
3603
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
3604
- }
3605
- let response;
3606
- try {
3607
- response = yield apiClient.post("", cleanData);
3608
- }
3609
- catch (error) {
3610
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
3611
- }
3612
- yield this.populateFromDTO(response.data);
3613
- });
3614
- }
3615
- static getDBRecord(ID) {
3616
- return __awaiter(this, void 0, void 0, function* () {
3617
- //@ts-ignore
3618
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
3619
- const url = `${this.prototype.constructor.API_URL}/${ID}`;
3620
- let response;
3621
- try {
3622
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
3623
- headers: { "Content-Type": "application/json" },
3624
- });
3625
- }
3626
- catch (error) {
3627
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
3628
- }
3629
- if (response.data) {
3630
- const dcatResource = new this();
3631
- yield dcatResource.populateFromDTO(response.data);
3632
- return dcatResource;
3633
- }
3634
- else {
3635
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
3636
- }
3637
- });
3638
- }
3639
- static getDBRecordByAssetID(assetID) {
3640
- return __awaiter(this, void 0, void 0, function* () {
3641
- //@ts-ignore
3642
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
3643
- const url = `${this.prototype.constructor.API_URL}/asset/${assetID}`;
3644
- let response;
3645
- try {
3646
- response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
3647
- headers: { "Content-Type": "application/json" },
3648
- });
3649
- }
3650
- catch (error) {
3651
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
3652
- }
3653
- if (response.data) {
3654
- const dcatResource = new this();
3655
- yield dcatResource.populateFromDTO(response.data);
3656
- return dcatResource;
3657
- }
3658
- else {
3659
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
3660
- }
3661
- });
3662
- }
3663
- /**
3664
- * Checks whether a DB record exists for the given AssetID and returns its ID.
3665
- *
3666
- * This method wraps getDBRecordByAssetID and converts a 404 response to `null`,
3667
- * while rethrowing any other kind of error.
3668
- */
3669
- static checkDBRecordOfAssetID(assetID) {
3670
- return __awaiter(this, void 0, void 0, function* () {
3671
- var _a;
3672
- try {
3673
- const record = (yield this.getDBRecordByAssetID(assetID));
3674
- return record.id;
3675
- }
3676
- catch (error) {
3677
- if (axios__WEBPACK_IMPORTED_MODULE_4__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
3678
- return null;
3679
- }
3680
- throw error;
3681
- }
3682
- });
3683
- }
3684
- updateDBRecord() {
3685
- return __awaiter(this, void 0, void 0, function* () {
3686
- this.throwErrorIfAPIURLNotSet();
3687
- this.throwErrorIfNotRecorded();
3688
- const data = this.toDTO();
3689
- const cleanData = JSON.parse(JSON.stringify(data));
3690
- const cls = this.constructor;
3691
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
3692
- baseURL: cls.API_URL,
3693
- headers: {
3694
- "Content-Type": "application/json",
3695
- },
3696
- });
3697
- if (cls.BEARER_TOKEN) {
3698
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
3699
- }
3700
- let response;
3701
- try {
3702
- response = yield apiClient.post("", cleanData);
3703
- }
3704
- catch (error) {
3705
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
3706
- }
3707
- yield this.populateFromDTO(response.data);
3708
- });
3709
- }
3710
- deleteDBRecord() {
3711
- return __awaiter(this, void 0, void 0, function* () {
3712
- this.throwErrorIfAPIURLNotSet();
3713
- this.throwErrorIfNotRecorded();
3714
- const cls = this.constructor;
3715
- const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
3716
- baseURL: `${cls.API_URL}/`,
3717
- headers: {
3718
- "Content-Type": "application/json",
3719
- },
3720
- });
3721
- if (cls.BEARER_TOKEN) {
3722
- apiClient.defaults.headers.common["Authorization"] = `Bearer ${cls.BEARER_TOKEN}`;
3723
- }
3724
- let response;
3725
- try {
3726
- response = yield apiClient.delete(`${this.ID}`);
3727
- }
3728
- catch (error) {
3729
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
3730
- }
3731
- if (response.status === 204) {
3732
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.destroy)(this); // Nullify the instance
3733
- }
3734
- else {
3735
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.DeleteRecordFailError();
3736
- }
3737
- });
3738
- }
3739
- get createdAt() {
3740
- return this.CreatedAt;
3741
- }
3742
- get updatedAt() {
3743
- return this.UpdatedAt;
3744
- }
3745
- }
3746
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DCAT_MODEL);
3747
-
3748
-
3749
3514
  /***/ }),
3750
3515
 
3751
3516
  /***/ "./lib/SODAS_SDK_CLASS/dictionary/term.ts":
@@ -4297,21 +4062,273 @@ class GOVERNANCE_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["defa
4297
4062
 
4298
4063
  /***/ }),
4299
4064
 
4300
- /***/ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts":
4301
- /*!**********************************************!*\
4302
- !*** ./lib/SODAS_SDK_CLASS/sodasSDKClass.ts ***!
4303
- \**********************************************/
4065
+ /***/ "./lib/SODAS_SDK_CLASS/profileModel.ts":
4066
+ /*!*********************************************!*\
4067
+ !*** ./lib/SODAS_SDK_CLASS/profileModel.ts ***!
4068
+ \*********************************************/
4304
4069
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4305
4070
 
4306
4071
  "use strict";
4307
4072
  __webpack_require__.r(__webpack_exports__);
4308
4073
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4309
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
4310
- /* harmony export */ throwErrorIfAPIURLNotSetForStatic: () => (/* binding */ throwErrorIfAPIURLNotSetForStatic)
4074
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4311
4075
  /* harmony export */ });
4076
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
4312
4077
  /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
4313
4078
  /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
4314
- var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
4079
+ /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/util */ "./lib/core/util.ts");
4080
+ /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
4081
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
4082
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4083
+ return new (P || (P = Promise))(function (resolve, reject) {
4084
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
4085
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
4086
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
4087
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
4088
+ });
4089
+ };
4090
+
4091
+
4092
+
4093
+
4094
+
4095
+ class PROFILE_MODEL extends _sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
4096
+ toDTO() {
4097
+ 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() }));
4098
+ }
4099
+ hasDBRecord() {
4100
+ if (this.ID && this.IRI) {
4101
+ return true;
4102
+ }
4103
+ else {
4104
+ return false;
4105
+ }
4106
+ }
4107
+ populateFromDTO(dto) {
4108
+ return __awaiter(this, void 0, void 0, function* () {
4109
+ dto.ID && (this.ID = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asID)(dto.ID));
4110
+ dto.IRI && (this.IRI = (0,_core_type__WEBPACK_IMPORTED_MODULE_1__.asIRI)(dto.IRI));
4111
+ dto.Issued && (this.Issued = new Date(dto.Issued));
4112
+ dto.Modified && (this.Modified = new Date(dto.Modified));
4113
+ dto.CreatedAt && (this.CreatedAt = new Date(dto.CreatedAt));
4114
+ dto.UpdatedAt && (this.UpdatedAt = new Date(dto.UpdatedAt));
4115
+ });
4116
+ }
4117
+ static listDBRecords() {
4118
+ return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
4119
+ //@ts-ignore
4120
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4121
+ let response;
4122
+ try {
4123
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(this.prototype.constructor.LIST_URL, {
4124
+ params: { pageNumber, pageSize, sortOrder },
4125
+ });
4126
+ }
4127
+ catch (error) {
4128
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4129
+ }
4130
+ if (response.data.total != null && Array.isArray(response.data.list)) {
4131
+ const list = yield Promise.all(response.data.list.map((item) => __awaiter(this, void 0, void 0, function* () {
4132
+ const dcatResource = new this();
4133
+ yield dcatResource.populateFromDTO(item);
4134
+ return dcatResource;
4135
+ })));
4136
+ return {
4137
+ total: response.data.total,
4138
+ list,
4139
+ };
4140
+ }
4141
+ else {
4142
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
4143
+ }
4144
+ });
4145
+ }
4146
+ static getAllDBRecords() {
4147
+ return __awaiter(this, void 0, void 0, function* () {
4148
+ const paginatedResponse = yield this.listDBRecords(1, _core_util__WEBPACK_IMPORTED_MODULE_2__.LARGE_ENOUGH_NUMBER);
4149
+ return paginatedResponse.list;
4150
+ });
4151
+ }
4152
+ createDBRecord() {
4153
+ return __awaiter(this, void 0, void 0, function* () {
4154
+ this.throwErrorIfAPIURLNotSet();
4155
+ this.throwErrorIfRecorded();
4156
+ const data = this.toDTO();
4157
+ const cleanData = JSON.parse(JSON.stringify(data));
4158
+ const cls = this.constructor;
4159
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4160
+ baseURL: cls.API_URL,
4161
+ headers: {
4162
+ "Content-Type": "application/json",
4163
+ },
4164
+ });
4165
+ if (cls.BEARER_TOKEN) {
4166
+ apiClient.defaults.headers.common["Authorization"] =
4167
+ `Bearer ${cls.BEARER_TOKEN}`;
4168
+ }
4169
+ let response;
4170
+ try {
4171
+ response = yield apiClient.post("", cleanData);
4172
+ }
4173
+ catch (error) {
4174
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4175
+ }
4176
+ yield this.populateFromDTO(response.data);
4177
+ });
4178
+ }
4179
+ static getDBRecord(ID) {
4180
+ return __awaiter(this, void 0, void 0, function* () {
4181
+ //@ts-ignore
4182
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4183
+ const url = `${this.prototype.constructor.API_URL}/${ID}`;
4184
+ let response;
4185
+ try {
4186
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
4187
+ headers: { "Content-Type": "application/json" },
4188
+ });
4189
+ }
4190
+ catch (error) {
4191
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4192
+ }
4193
+ if (response.data) {
4194
+ const dcatResource = new this();
4195
+ yield dcatResource.populateFromDTO(response.data);
4196
+ return dcatResource;
4197
+ }
4198
+ else {
4199
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
4200
+ }
4201
+ });
4202
+ }
4203
+ static getDBRecordByAssetID(assetID) {
4204
+ return __awaiter(this, void 0, void 0, function* () {
4205
+ //@ts-ignore
4206
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
4207
+ const url = `${this.prototype.constructor.API_URL}/asset/${assetID}`;
4208
+ let response;
4209
+ try {
4210
+ response = yield axios__WEBPACK_IMPORTED_MODULE_4__["default"].get(url, {
4211
+ headers: { "Content-Type": "application/json" },
4212
+ });
4213
+ }
4214
+ catch (error) {
4215
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4216
+ }
4217
+ if (response.data) {
4218
+ const dcatResource = new this();
4219
+ yield dcatResource.populateFromDTO(response.data);
4220
+ return dcatResource;
4221
+ }
4222
+ else {
4223
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.RecordNotFoundError();
4224
+ }
4225
+ });
4226
+ }
4227
+ /**
4228
+ * Checks whether a DB record exists for the given AssetID and returns its ID.
4229
+ *
4230
+ * This method wraps getDBRecordByAssetID and converts a 404 response to `null`,
4231
+ * while rethrowing any other kind of error.
4232
+ */
4233
+ static checkDBRecordOfAssetID(assetID) {
4234
+ return __awaiter(this, void 0, void 0, function* () {
4235
+ var _a;
4236
+ try {
4237
+ const record = (yield this.getDBRecordByAssetID(assetID));
4238
+ return record.id;
4239
+ }
4240
+ catch (error) {
4241
+ if (axios__WEBPACK_IMPORTED_MODULE_4__["default"].isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
4242
+ return null;
4243
+ }
4244
+ throw error;
4245
+ }
4246
+ });
4247
+ }
4248
+ updateDBRecord() {
4249
+ return __awaiter(this, void 0, void 0, function* () {
4250
+ this.throwErrorIfAPIURLNotSet();
4251
+ this.throwErrorIfNotRecorded();
4252
+ const data = this.toDTO();
4253
+ const cleanData = JSON.parse(JSON.stringify(data));
4254
+ const cls = this.constructor;
4255
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4256
+ baseURL: cls.API_URL,
4257
+ headers: {
4258
+ "Content-Type": "application/json",
4259
+ },
4260
+ });
4261
+ if (cls.BEARER_TOKEN) {
4262
+ apiClient.defaults.headers.common["Authorization"] =
4263
+ `Bearer ${cls.BEARER_TOKEN}`;
4264
+ }
4265
+ let response;
4266
+ try {
4267
+ response = yield apiClient.post("", cleanData);
4268
+ }
4269
+ catch (error) {
4270
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4271
+ }
4272
+ yield this.populateFromDTO(response.data);
4273
+ });
4274
+ }
4275
+ deleteDBRecord() {
4276
+ return __awaiter(this, void 0, void 0, function* () {
4277
+ this.throwErrorIfAPIURLNotSet();
4278
+ this.throwErrorIfNotRecorded();
4279
+ const cls = this.constructor;
4280
+ const apiClient = axios__WEBPACK_IMPORTED_MODULE_4__["default"].create({
4281
+ baseURL: `${cls.API_URL}/`,
4282
+ headers: {
4283
+ "Content-Type": "application/json",
4284
+ },
4285
+ });
4286
+ if (cls.BEARER_TOKEN) {
4287
+ apiClient.defaults.headers.common["Authorization"] =
4288
+ `Bearer ${cls.BEARER_TOKEN}`;
4289
+ }
4290
+ let response;
4291
+ try {
4292
+ response = yield apiClient.delete(`${this.ID}`);
4293
+ }
4294
+ catch (error) {
4295
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4296
+ }
4297
+ if (response.status === 204) {
4298
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.destroy)(this); // Nullify the instance
4299
+ }
4300
+ else {
4301
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.DeleteRecordFailError();
4302
+ }
4303
+ });
4304
+ }
4305
+ get createdAt() {
4306
+ return this.CreatedAt;
4307
+ }
4308
+ get updatedAt() {
4309
+ return this.UpdatedAt;
4310
+ }
4311
+ }
4312
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PROFILE_MODEL);
4313
+
4314
+
4315
+ /***/ }),
4316
+
4317
+ /***/ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts":
4318
+ /*!**********************************************!*\
4319
+ !*** ./lib/SODAS_SDK_CLASS/sodasSDKClass.ts ***!
4320
+ \**********************************************/
4321
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4322
+
4323
+ "use strict";
4324
+ __webpack_require__.r(__webpack_exports__);
4325
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4326
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
4327
+ /* harmony export */ throwErrorIfAPIURLNotSetForStatic: () => (/* binding */ throwErrorIfAPIURLNotSetForStatic)
4328
+ /* harmony export */ });
4329
+ /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/error */ "./lib/core/error.ts");
4330
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/type */ "./lib/core/type.ts");
4331
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
4315
4332
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4316
4333
  return new (P || (P = Promise))(function (resolve, reject) {
4317
4334
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4381,16 +4398,10 @@ class SODAS_SDK_CLASS {
4381
4398
  "use strict";
4382
4399
  __webpack_require__.r(__webpack_exports__);
4383
4400
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4384
- /* harmony export */ EXPECTED_TYPE: () => (/* binding */ EXPECTED_TYPE),
4385
- /* harmony export */ VALIDATION_TYPE: () => (/* binding */ VALIDATION_TYPE),
4386
4401
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4387
4402
  /* harmony export */ });
4388
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
4389
- /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
4390
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
4391
- /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/util */ "./lib/core/util.ts");
4392
- /* harmony import */ var _governanceClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../governanceClass */ "./lib/SODAS_SDK_CLASS/governanceClass.ts");
4393
- /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
4403
+ /* harmony import */ var _profileModel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../profileModel */ "./lib/SODAS_SDK_CLASS/profileModel.ts");
4404
+ /* harmony import */ var _validationType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validationType */ "./lib/SODAS_SDK_CLASS/template/validationType.ts");
4394
4405
  var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
4395
4406
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4396
4407
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -4399,48 +4410,17 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
4399
4410
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
4400
4411
  step((generator = generator.apply(thisArg, _arguments || [])).next());
4401
4412
  });
4402
- };
4403
-
4404
-
4405
-
4406
-
4407
-
4408
-
4409
- var VALIDATION_TYPE;
4410
- (function (VALIDATION_TYPE) {
4411
- VALIDATION_TYPE["DATA_TYPE"] = "data_type";
4412
- VALIDATION_TYPE["RANGE"] = "range";
4413
- VALIDATION_TYPE["PATTERN"] = "pattern";
4414
- VALIDATION_TYPE["UNIQUENESS"] = "uniqueness";
4415
- VALIDATION_TYPE["COMPLETENESS"] = "completeness";
4416
- VALIDATION_TYPE["LENGTH"] = "length";
4417
- VALIDATION_TYPE["ALLOWED_VALUES"] = "allowed_values";
4418
- VALIDATION_TYPE["OUTLIER"] = "outlier";
4419
- VALIDATION_TYPE["STATISTICAL"] = "statistical";
4420
- })(VALIDATION_TYPE || (VALIDATION_TYPE = {}));
4421
- var EXPECTED_TYPE;
4422
- (function (EXPECTED_TYPE) {
4423
- EXPECTED_TYPE["NUMERIC"] = "numeric";
4424
- EXPECTED_TYPE["STRING"] = "string";
4425
- EXPECTED_TYPE["DATETIME"] = "datetime";
4426
- })(EXPECTED_TYPE || (EXPECTED_TYPE = {}));
4427
- class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
4413
+ };
4414
+
4415
+
4416
+ class ValidationTemplate extends _profileModel__WEBPACK_IMPORTED_MODULE_0__["default"] {
4428
4417
  static configureAPIURL(url) {
4429
- const PREFIX = "api/v1/governance/template";
4430
- ValidationTemplate.API_URL = `${url}/${PREFIX}/validation`;
4418
+ ValidationTemplate.API_URL = `${url}/validation-template`;
4431
4419
  ValidationTemplate.LIST_URL = `${ValidationTemplate.API_URL}/list`;
4432
- ValidationTemplate.GET_URL = `${ValidationTemplate.API_URL}/get`;
4433
- ValidationTemplate.CREATE_URL = `${ValidationTemplate.API_URL}/create`;
4434
- ValidationTemplate.UPDATE_URL = `${ValidationTemplate.API_URL}/update`;
4435
- ValidationTemplate.DELETE_URL = `${ValidationTemplate.API_URL}/remove`;
4436
4420
  }
4437
4421
  toDTO() {
4438
- return Object.assign(Object.assign(Object.assign(Object.assign({}, super.toDTO()), { name: this.Name }), (this.ValidationRules && { validationRules: this.ValidationRules })), (this.Description && { description: this.Description }));
4439
- }
4440
- populateFromFormData(data) {
4441
- return __awaiter(this, void 0, void 0, function* () {
4442
- throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.NeedToImplementError();
4443
- });
4422
+ var _a;
4423
+ 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()) });
4444
4424
  }
4445
4425
  populateFromDTO(dto) {
4446
4426
  const _super = Object.create(null, {
@@ -4449,28 +4429,11 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
4449
4429
  return __awaiter(this, void 0, void 0, function* () {
4450
4430
  yield _super.populateFromDTO.call(this, dto);
4451
4431
  const validationTemplateDTO = dto;
4452
- this.ValidationRules = validationTemplateDTO.validationRules;
4453
- this.Name = validationTemplateDTO.name;
4454
- this.Description = validationTemplateDTO.description;
4455
- });
4456
- }
4457
- static listDBRecords() {
4458
- return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC, vocabularyID) {
4459
- (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_4__.throwErrorIfAPIURLNotSetForStatic)(ValidationTemplate);
4460
- try {
4461
- const response = yield axios__WEBPACK_IMPORTED_MODULE_5__["default"].get(ValidationTemplate.LIST_URL, {
4462
- params: {
4463
- offset: (pageNumber - 1) * pageSize,
4464
- limit: pageSize,
4465
- ordered: sortOrder,
4466
- vocabularyId: vocabularyID,
4467
- },
4468
- // headers,
4469
- });
4470
- return yield ValidationTemplate.listResponseToPaginatedResponse(response);
4471
- }
4472
- catch (error) {
4473
- (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
4432
+ validationTemplateDTO.Name && (this.Name = validationTemplateDTO.Name);
4433
+ validationTemplateDTO.Description &&
4434
+ (this.Description = validationTemplateDTO.Description);
4435
+ if (validationTemplateDTO.ValidationRules !== undefined) {
4436
+ this.ValidationRules = ValidationTemplate.parseValidationRules(validationTemplateDTO.ValidationRules);
4474
4437
  }
4475
4438
  });
4476
4439
  }
@@ -4493,24 +4456,62 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
4493
4456
  this.ValidationRules = value;
4494
4457
  }
4495
4458
  static parseValidationRules(rawRules) {
4459
+ if (rawRules === null || rawRules === undefined) {
4460
+ return [];
4461
+ }
4496
4462
  return rawRules.map((rule) => {
4497
- const baseRule = {
4498
- column: rule.column,
4499
- name: rule.name,
4500
- type: rule.type,
4501
- };
4463
+ let validationRule;
4502
4464
  switch (rule.type) {
4503
- case VALIDATION_TYPE.COMPLETENESS:
4504
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.COMPLETENESS, min_completeness: rule.min_completeness, weight: rule.weight });
4505
- case VALIDATION_TYPE.DATA_TYPE:
4506
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.DATA_TYPE, expected_type: rule.expected_type, weight: rule.weight });
4507
- case VALIDATION_TYPE.PATTERN:
4508
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.PATTERN, pattern: rule.pattern, weight: rule.weight });
4509
- case VALIDATION_TYPE.UNIQUENESS:
4510
- return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.UNIQUENESS, weight: rule.weight });
4465
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.COMPLETENESS:
4466
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CompletenessValidationRule();
4467
+ validationRule.populateFromDTO(rule);
4468
+ break;
4469
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.DATA_TYPE:
4470
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.DataTypeValidationRule();
4471
+ validationRule.populateFromDTO(rule);
4472
+ break;
4473
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.PATTERN:
4474
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.PatternValidationRule();
4475
+ validationRule.populateFromDTO(rule);
4476
+ break;
4477
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.UNIQUENESS:
4478
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.UniquenessValidationRule();
4479
+ validationRule.populateFromDTO(rule);
4480
+ break;
4481
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.RANGE:
4482
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.RangeValidationRule();
4483
+ validationRule.populateFromDTO(rule);
4484
+ break;
4485
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.CUSTOM:
4486
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CustomValidationRule();
4487
+ validationRule.populateFromDTO(rule);
4488
+ break;
4489
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.LENGTH:
4490
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.LengthValidationRule();
4491
+ validationRule.populateFromDTO(rule);
4492
+ break;
4493
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.ALLOWED_VALUES:
4494
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.AllowedValuesValidationRule();
4495
+ validationRule.populateFromDTO(rule);
4496
+ break;
4497
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.OUTLIER:
4498
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.OutlierValidationRule();
4499
+ validationRule.populateFromDTO(rule);
4500
+ break;
4501
+ case _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.STATISTICAL:
4502
+ validationRule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.StatisticalValidationRule();
4503
+ validationRule.populateFromDTO(rule);
4504
+ break;
4511
4505
  default:
4512
- return baseRule;
4506
+ // For unknown types, create a base ValidationRule
4507
+ validationRule = new (class extends _validationType__WEBPACK_IMPORTED_MODULE_1__.ValidationRule {
4508
+ constructor() {
4509
+ super(rule.type);
4510
+ }
4511
+ })();
4512
+ validationRule.populateFromDTO(rule);
4513
4513
  }
4514
+ return validationRule;
4514
4515
  });
4515
4516
  }
4516
4517
  ensureValidationRulesInitialized() {
@@ -4518,63 +4519,141 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
4518
4519
  this.ValidationRules = [];
4519
4520
  }
4520
4521
  }
4521
- createRule(type) {
4522
+ // Type-specific creator methods
4523
+ createRangeRule() {
4522
4524
  this.ensureValidationRulesInitialized();
4523
- let rule;
4524
- const baseRule = {
4525
- column: "",
4526
- name: "",
4527
- type,
4528
- };
4529
- switch (type) {
4530
- case VALIDATION_TYPE.COMPLETENESS:
4531
- rule = Object.assign(Object.assign({}, baseRule), { min_completeness: 0, weight: 0 });
4532
- break;
4533
- case VALIDATION_TYPE.DATA_TYPE:
4534
- rule = Object.assign(Object.assign({}, baseRule), { expected_type: EXPECTED_TYPE.STRING, weight: 0 });
4535
- break;
4536
- case VALIDATION_TYPE.PATTERN:
4537
- rule = Object.assign(Object.assign({}, baseRule), { pattern: "", weight: 0 });
4538
- break;
4539
- case VALIDATION_TYPE.UNIQUENESS:
4540
- rule = Object.assign(Object.assign({}, baseRule), { weight: 0 });
4541
- break;
4542
- default:
4543
- rule = baseRule;
4544
- }
4525
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.RangeValidationRule();
4526
+ this.ValidationRules.push(rule);
4527
+ return rule;
4528
+ }
4529
+ createPatternRule() {
4530
+ this.ensureValidationRulesInitialized();
4531
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.PatternValidationRule();
4532
+ this.ValidationRules.push(rule);
4533
+ return rule;
4534
+ }
4535
+ createCompletenessRule() {
4536
+ this.ensureValidationRulesInitialized();
4537
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CompletenessValidationRule();
4538
+ this.ValidationRules.push(rule);
4539
+ return rule;
4540
+ }
4541
+ createDataTypeRule() {
4542
+ this.ensureValidationRulesInitialized();
4543
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.DataTypeValidationRule();
4544
+ this.ValidationRules.push(rule);
4545
+ return rule;
4546
+ }
4547
+ createUniquenessRule() {
4548
+ this.ensureValidationRulesInitialized();
4549
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.UniquenessValidationRule();
4550
+ this.ValidationRules.push(rule);
4551
+ return rule;
4552
+ }
4553
+ createCustomRule() {
4554
+ this.ensureValidationRulesInitialized();
4555
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.CustomValidationRule();
4556
+ this.ValidationRules.push(rule);
4557
+ return rule;
4558
+ }
4559
+ createLengthRule() {
4560
+ this.ensureValidationRulesInitialized();
4561
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.LengthValidationRule();
4562
+ this.ValidationRules.push(rule);
4563
+ return rule;
4564
+ }
4565
+ createAllowedValuesRule() {
4566
+ this.ensureValidationRulesInitialized();
4567
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.AllowedValuesValidationRule();
4568
+ this.ValidationRules.push(rule);
4569
+ return rule;
4570
+ }
4571
+ createOutlierRule() {
4572
+ this.ensureValidationRulesInitialized();
4573
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.OutlierValidationRule();
4574
+ this.ValidationRules.push(rule);
4575
+ return rule;
4576
+ }
4577
+ createStatisticalRule() {
4578
+ this.ensureValidationRulesInitialized();
4579
+ const rule = new _validationType__WEBPACK_IMPORTED_MODULE_1__.StatisticalValidationRule();
4545
4580
  this.ValidationRules.push(rule);
4546
4581
  return rule;
4547
4582
  }
4548
- deleteRuleAt(index) {
4583
+ // Type-specific getter methods
4584
+ getRangeRules() {
4549
4585
  if (!this.ValidationRules) {
4550
- return;
4586
+ return [];
4551
4587
  }
4552
- if (index < 0 || index >= this.ValidationRules.length) {
4553
- return;
4588
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.RANGE);
4589
+ }
4590
+ getPatternRules() {
4591
+ if (!this.ValidationRules) {
4592
+ return [];
4554
4593
  }
4555
- this.ValidationRules.splice(index, 1);
4594
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.PATTERN);
4556
4595
  }
4557
- deleteRuleByTypeAt(type, index) {
4596
+ getCompletenessRules() {
4558
4597
  if (!this.ValidationRules) {
4559
- return;
4598
+ return [];
4560
4599
  }
4561
- if (index < 0) {
4600
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.COMPLETENESS);
4601
+ }
4602
+ getDataTypeRules() {
4603
+ if (!this.ValidationRules) {
4604
+ return [];
4605
+ }
4606
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.DATA_TYPE);
4607
+ }
4608
+ getUniquenessRules() {
4609
+ if (!this.ValidationRules) {
4610
+ return [];
4611
+ }
4612
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.UNIQUENESS);
4613
+ }
4614
+ getCustomRules() {
4615
+ if (!this.ValidationRules) {
4616
+ return [];
4617
+ }
4618
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.CUSTOM);
4619
+ }
4620
+ getLengthRules() {
4621
+ if (!this.ValidationRules) {
4622
+ return [];
4623
+ }
4624
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.LENGTH);
4625
+ }
4626
+ getAllowedValuesRules() {
4627
+ if (!this.ValidationRules) {
4628
+ return [];
4629
+ }
4630
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.ALLOWED_VALUES);
4631
+ }
4632
+ getOutlierRules() {
4633
+ if (!this.ValidationRules) {
4634
+ return [];
4635
+ }
4636
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.OUTLIER);
4637
+ }
4638
+ getStatisticalRules() {
4639
+ if (!this.ValidationRules) {
4640
+ return [];
4641
+ }
4642
+ return this.ValidationRules.filter((rule) => rule.getType === _validationType__WEBPACK_IMPORTED_MODULE_1__.VALIDATION_TYPE.STATISTICAL);
4643
+ }
4644
+ // Delete rule method
4645
+ deleteRule(rule) {
4646
+ if (!this.ValidationRules) {
4562
4647
  return;
4563
4648
  }
4564
- let current = 0;
4565
- for (let i = 0; i < this.ValidationRules.length; i++) {
4566
- if (this.ValidationRules[i].type === type) {
4567
- if (current === index) {
4568
- this.ValidationRules.splice(i, 1);
4569
- return;
4570
- }
4571
- current++;
4572
- }
4649
+ const index = this.ValidationRules.indexOf(rule);
4650
+ if (index !== -1) {
4651
+ this.ValidationRules.splice(index, 1);
4573
4652
  }
4574
4653
  }
4575
4654
  static groupValidationRulesByColumn(rules) {
4576
4655
  return rules.reduce((acc, rule) => {
4577
- const column = rule.column;
4656
+ const column = rule.getColumn;
4578
4657
  if (!acc[column]) {
4579
4658
  acc[column] = [];
4580
4659
  }
@@ -4584,7 +4663,7 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
4584
4663
  }
4585
4664
  static groupValidationRulesByType(rules) {
4586
4665
  return rules.reduce((acc, rule) => {
4587
- const type = rule.type;
4666
+ const type = rule.getType;
4588
4667
  if (!acc[type]) {
4589
4668
  acc[type] = [];
4590
4669
  }
@@ -4677,30 +4756,8 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
4677
4756
  * @returns Escaped JSON string with format: "{\"validation_rules\":[...]}"
4678
4757
  */
4679
4758
  static stringifyValidationRulesToEscapedString(rules) {
4680
- // Convert ValidationRule[] to plain objects for JSON serialization
4681
- const plainRules = rules.map((rule) => {
4682
- const plainRule = {
4683
- column: rule.column,
4684
- name: rule.name,
4685
- type: rule.type,
4686
- };
4687
- switch (rule.type) {
4688
- case VALIDATION_TYPE.COMPLETENESS:
4689
- const completenessRule = rule;
4690
- return Object.assign(Object.assign({}, plainRule), { min_completeness: completenessRule.min_completeness, weight: completenessRule.weight });
4691
- case VALIDATION_TYPE.DATA_TYPE:
4692
- const dataTypeRule = rule;
4693
- return Object.assign(Object.assign({}, plainRule), { expected_type: dataTypeRule.expected_type, weight: dataTypeRule.weight });
4694
- case VALIDATION_TYPE.PATTERN:
4695
- const patternRule = rule;
4696
- return Object.assign(Object.assign({}, plainRule), { pattern: patternRule.pattern, weight: patternRule.weight });
4697
- case VALIDATION_TYPE.UNIQUENESS:
4698
- const uniquenessRule = rule;
4699
- return Object.assign(Object.assign({}, plainRule), { weight: uniquenessRule.weight });
4700
- default:
4701
- return plainRule;
4702
- }
4703
- });
4759
+ // Convert ValidationRule[] to plain objects for JSON serialization using toDTO
4760
+ const plainRules = rules.map((rule) => rule.toDTO());
4704
4761
  // Create object with validation_rules property
4705
4762
  if (rules._escapedString) {
4706
4763
  return rules._escapedString;
@@ -4710,14 +4767,409 @@ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["
4710
4767
  const escaped = jsonString.replace(/"/g, '\\"');
4711
4768
  return '"' + escaped + '"';
4712
4769
  }
4713
- get rules() {
4714
- return this.ValidationRules;
4770
+ }
4771
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
4772
+
4773
+
4774
+ /***/ }),
4775
+
4776
+ /***/ "./lib/SODAS_SDK_CLASS/template/validationType.ts":
4777
+ /*!********************************************************!*\
4778
+ !*** ./lib/SODAS_SDK_CLASS/template/validationType.ts ***!
4779
+ \********************************************************/
4780
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4781
+
4782
+ "use strict";
4783
+ __webpack_require__.r(__webpack_exports__);
4784
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4785
+ /* harmony export */ AllowedValuesValidationRule: () => (/* binding */ AllowedValuesValidationRule),
4786
+ /* harmony export */ COMPARISION_OPERATOR: () => (/* binding */ COMPARISION_OPERATOR),
4787
+ /* harmony export */ CUSTOM_CONDITION_TYPE: () => (/* binding */ CUSTOM_CONDITION_TYPE),
4788
+ /* harmony export */ CompletenessValidationRule: () => (/* binding */ CompletenessValidationRule),
4789
+ /* harmony export */ CustomValidationRule: () => (/* binding */ CustomValidationRule),
4790
+ /* harmony export */ DATETIME_FORMAT_TYPE: () => (/* binding */ DATETIME_FORMAT_TYPE),
4791
+ /* harmony export */ DataTypeValidationRule: () => (/* binding */ DataTypeValidationRule),
4792
+ /* harmony export */ EXPECTED_TYPE: () => (/* binding */ EXPECTED_TYPE),
4793
+ /* harmony export */ LengthValidationRule: () => (/* binding */ LengthValidationRule),
4794
+ /* harmony export */ OUTLIER_METHOD: () => (/* binding */ OUTLIER_METHOD),
4795
+ /* harmony export */ OutlierValidationRule: () => (/* binding */ OutlierValidationRule),
4796
+ /* harmony export */ PatternValidationRule: () => (/* binding */ PatternValidationRule),
4797
+ /* harmony export */ RangeValidationRule: () => (/* binding */ RangeValidationRule),
4798
+ /* harmony export */ StatisticalValidationRule: () => (/* binding */ StatisticalValidationRule),
4799
+ /* harmony export */ UniquenessValidationRule: () => (/* binding */ UniquenessValidationRule),
4800
+ /* harmony export */ VALIDATION_TYPE: () => (/* binding */ VALIDATION_TYPE),
4801
+ /* harmony export */ ValidationRule: () => (/* binding */ ValidationRule)
4802
+ /* harmony export */ });
4803
+ var VALIDATION_TYPE;
4804
+ (function (VALIDATION_TYPE) {
4805
+ VALIDATION_TYPE["DATA_TYPE"] = "data_type";
4806
+ VALIDATION_TYPE["RANGE"] = "range";
4807
+ VALIDATION_TYPE["PATTERN"] = "pattern";
4808
+ VALIDATION_TYPE["UNIQUENESS"] = "uniqueness";
4809
+ VALIDATION_TYPE["CUSTOM"] = "custom";
4810
+ VALIDATION_TYPE["COMPLETENESS"] = "completeness";
4811
+ VALIDATION_TYPE["LENGTH"] = "length";
4812
+ VALIDATION_TYPE["ALLOWED_VALUES"] = "allowed_values";
4813
+ VALIDATION_TYPE["OUTLIER"] = "outlier";
4814
+ VALIDATION_TYPE["STATISTICAL"] = "statistical";
4815
+ })(VALIDATION_TYPE || (VALIDATION_TYPE = {}));
4816
+ var EXPECTED_TYPE;
4817
+ (function (EXPECTED_TYPE) {
4818
+ EXPECTED_TYPE["NUMERIC"] = "numeric";
4819
+ EXPECTED_TYPE["STRING"] = "string";
4820
+ EXPECTED_TYPE["DATETIME"] = "datetime";
4821
+ })(EXPECTED_TYPE || (EXPECTED_TYPE = {}));
4822
+ class ValidationRule {
4823
+ constructor(type) {
4824
+ this.column = "";
4825
+ this.name = "";
4826
+ this.weight = 0;
4827
+ this.type = type;
4828
+ }
4829
+ toDTO() {
4830
+ return {
4831
+ column: this.column,
4832
+ name: this.name,
4833
+ type: this.type,
4834
+ weight: this.weight,
4835
+ };
4836
+ }
4837
+ populateFromDTO(dto) {
4838
+ this.column = dto.column || "";
4839
+ this.name = dto.name || "";
4840
+ this.weight = dto.weight || 0;
4841
+ }
4842
+ // Common setters with chaining
4843
+ setColumn(column) {
4844
+ this.column = column;
4845
+ return this;
4846
+ }
4847
+ setName(name) {
4848
+ this.name = name;
4849
+ return this;
4715
4850
  }
4716
- get escapedRules() {
4717
- return ValidationTemplate.stringifyValidationRulesToEscapedString(this.rules);
4851
+ setWeight(weight) {
4852
+ this.weight = weight;
4853
+ return this;
4854
+ }
4855
+ // Getters
4856
+ get getColumn() {
4857
+ return this.column;
4858
+ }
4859
+ get getName() {
4860
+ return this.name;
4861
+ }
4862
+ get getType() {
4863
+ return this.type;
4864
+ }
4865
+ get getWeight() {
4866
+ return this.weight;
4867
+ }
4868
+ }
4869
+ class UniquenessValidationRule extends ValidationRule {
4870
+ constructor() {
4871
+ super(VALIDATION_TYPE.UNIQUENESS);
4872
+ this.unique = false;
4873
+ }
4874
+ toDTO() {
4875
+ return Object.assign(Object.assign({}, super.toDTO()), { unique: this.unique });
4876
+ }
4877
+ populateFromDTO(dto) {
4878
+ var _a;
4879
+ super.populateFromDTO(dto);
4880
+ this.unique = (_a = dto.unique) !== null && _a !== void 0 ? _a : false;
4881
+ }
4882
+ setUnique(unique) {
4883
+ this.unique = unique;
4884
+ return this;
4885
+ }
4886
+ get getUnique() {
4887
+ return this.unique;
4888
+ }
4889
+ }
4890
+ class PatternValidationRule extends ValidationRule {
4891
+ constructor() {
4892
+ super(VALIDATION_TYPE.PATTERN);
4893
+ this.pattern = "";
4894
+ }
4895
+ toDTO() {
4896
+ return Object.assign(Object.assign({}, super.toDTO()), { pattern: this.pattern });
4897
+ }
4898
+ populateFromDTO(dto) {
4899
+ super.populateFromDTO(dto);
4900
+ this.pattern = dto.pattern || "";
4901
+ }
4902
+ setPattern(pattern) {
4903
+ this.pattern = pattern;
4904
+ return this;
4905
+ }
4906
+ get getPattern() {
4907
+ return this.pattern;
4908
+ }
4909
+ }
4910
+ class RangeValidationRule extends ValidationRule {
4911
+ constructor() {
4912
+ super(VALIDATION_TYPE.RANGE);
4913
+ this.min_value = 0;
4914
+ this.max_value = 0;
4915
+ }
4916
+ toDTO() {
4917
+ return Object.assign(Object.assign({}, super.toDTO()), { min_value: this.min_value, max_value: this.max_value });
4918
+ }
4919
+ populateFromDTO(dto) {
4920
+ var _a, _b;
4921
+ super.populateFromDTO(dto);
4922
+ this.min_value = (_a = dto.min_value) !== null && _a !== void 0 ? _a : 0;
4923
+ this.max_value = (_b = dto.max_value) !== null && _b !== void 0 ? _b : 0;
4924
+ }
4925
+ setMinValue(minValue) {
4926
+ this.min_value = minValue;
4927
+ return this;
4928
+ }
4929
+ setMaxValue(maxValue) {
4930
+ this.max_value = maxValue;
4931
+ return this;
4932
+ }
4933
+ get getMinValue() {
4934
+ return this.min_value;
4935
+ }
4936
+ get getMaxValue() {
4937
+ return this.max_value;
4938
+ }
4939
+ }
4940
+ var COMPARISION_OPERATOR;
4941
+ (function (COMPARISION_OPERATOR) {
4942
+ COMPARISION_OPERATOR["EQUAL"] = "==";
4943
+ COMPARISION_OPERATOR["NOT_EQUAL"] = "!=";
4944
+ COMPARISION_OPERATOR["GREATER_THAN"] = ">";
4945
+ COMPARISION_OPERATOR["LESS_THAN"] = "<";
4946
+ COMPARISION_OPERATOR["GREATER_THAN_OR_EQUAL"] = ">=";
4947
+ COMPARISION_OPERATOR["LESS_THAN_OR_EQUAL"] = "<=";
4948
+ })(COMPARISION_OPERATOR || (COMPARISION_OPERATOR = {}));
4949
+ var CUSTOM_CONDITION_TYPE;
4950
+ (function (CUSTOM_CONDITION_TYPE) {
4951
+ CUSTOM_CONDITION_TYPE["ALL"] = "all";
4952
+ CUSTOM_CONDITION_TYPE["ANY"] = "any";
4953
+ CUSTOM_CONDITION_TYPE["MIN"] = "min";
4954
+ CUSTOM_CONDITION_TYPE["MAX"] = "max";
4955
+ CUSTOM_CONDITION_TYPE["MEAN"] = "mean";
4956
+ CUSTOM_CONDITION_TYPE["RATIO"] = "ratio";
4957
+ })(CUSTOM_CONDITION_TYPE || (CUSTOM_CONDITION_TYPE = {}));
4958
+ class CustomValidationRule extends ValidationRule {
4959
+ constructor() {
4960
+ super(VALIDATION_TYPE.CUSTOM);
4961
+ this.condition = {
4962
+ type: CUSTOM_CONDITION_TYPE.ALL,
4963
+ threholder: 0,
4964
+ comparision: COMPARISION_OPERATOR.EQUAL,
4965
+ };
4966
+ }
4967
+ toDTO() {
4968
+ return Object.assign(Object.assign({}, super.toDTO()), { condition: this.condition });
4969
+ }
4970
+ populateFromDTO(dto) {
4971
+ var _a;
4972
+ super.populateFromDTO(dto);
4973
+ if (dto.condition) {
4974
+ this.condition = {
4975
+ type: dto.condition.type || CUSTOM_CONDITION_TYPE.ALL,
4976
+ threholder: (_a = dto.condition.threholder) !== null && _a !== void 0 ? _a : 0,
4977
+ comparision: dto.condition.comparision || COMPARISION_OPERATOR.EQUAL,
4978
+ };
4979
+ }
4980
+ }
4981
+ setCondition(condition) {
4982
+ this.condition = condition;
4983
+ return this;
4984
+ }
4985
+ get getCondition() {
4986
+ return this.condition;
4987
+ }
4988
+ }
4989
+ class LengthValidationRule extends ValidationRule {
4990
+ constructor() {
4991
+ super(VALIDATION_TYPE.LENGTH);
4992
+ this.min_length = 0;
4993
+ this.max_length = 0;
4994
+ }
4995
+ toDTO() {
4996
+ return Object.assign(Object.assign({}, super.toDTO()), { min_length: this.min_length, max_length: this.max_length });
4997
+ }
4998
+ populateFromDTO(dto) {
4999
+ var _a, _b;
5000
+ super.populateFromDTO(dto);
5001
+ this.min_length = (_a = dto.min_length) !== null && _a !== void 0 ? _a : 0;
5002
+ this.max_length = (_b = dto.max_length) !== null && _b !== void 0 ? _b : 0;
5003
+ }
5004
+ setMinLength(minLength) {
5005
+ this.min_length = minLength;
5006
+ return this;
5007
+ }
5008
+ setMaxLength(maxLength) {
5009
+ this.max_length = maxLength;
5010
+ return this;
5011
+ }
5012
+ get getMinLength() {
5013
+ return this.min_length;
5014
+ }
5015
+ get getMaxLength() {
5016
+ return this.max_length;
5017
+ }
5018
+ }
5019
+ class AllowedValuesValidationRule extends ValidationRule {
5020
+ constructor() {
5021
+ super(VALIDATION_TYPE.ALLOWED_VALUES);
5022
+ this.allowed_values = [];
5023
+ }
5024
+ toDTO() {
5025
+ return Object.assign(Object.assign({}, super.toDTO()), { allowed_values: this.allowed_values });
5026
+ }
5027
+ populateFromDTO(dto) {
5028
+ super.populateFromDTO(dto);
5029
+ this.allowed_values = dto.allowed_values || [];
5030
+ }
5031
+ setAllowedValues(allowedValues) {
5032
+ this.allowed_values = allowedValues;
5033
+ return this;
5034
+ }
5035
+ get getAllowedValues() {
5036
+ return this.allowed_values;
5037
+ }
5038
+ }
5039
+ var OUTLIER_METHOD;
5040
+ (function (OUTLIER_METHOD) {
5041
+ OUTLIER_METHOD["Z_SCORE"] = "zscore";
5042
+ OUTLIER_METHOD["IQR"] = "iqr";
5043
+ OUTLIER_METHOD["ISOLATION"] = "isolation";
5044
+ })(OUTLIER_METHOD || (OUTLIER_METHOD = {}));
5045
+ class OutlierValidationRule extends ValidationRule {
5046
+ constructor() {
5047
+ super(VALIDATION_TYPE.OUTLIER);
5048
+ this.method = OUTLIER_METHOD.Z_SCORE;
5049
+ this.threshold = 0;
5050
+ }
5051
+ toDTO() {
5052
+ return Object.assign(Object.assign({}, super.toDTO()), { method: this.method, threshold: this.threshold });
5053
+ }
5054
+ populateFromDTO(dto) {
5055
+ var _a;
5056
+ super.populateFromDTO(dto);
5057
+ this.method = dto.method || OUTLIER_METHOD.Z_SCORE;
5058
+ this.threshold = (_a = dto.threshold) !== null && _a !== void 0 ? _a : 0;
5059
+ }
5060
+ setMethod(method) {
5061
+ this.method = method;
5062
+ return this;
5063
+ }
5064
+ setThreshold(threshold) {
5065
+ this.threshold = threshold;
5066
+ return this;
5067
+ }
5068
+ get getMethod() {
5069
+ return this.method;
5070
+ }
5071
+ get getThreshold() {
5072
+ return this.threshold;
5073
+ }
5074
+ }
5075
+ class StatisticalValidationRule extends ValidationRule {
5076
+ constructor() {
5077
+ super(VALIDATION_TYPE.STATISTICAL);
5078
+ this.check = "";
5079
+ this.threshold = 0;
5080
+ this.comparision = COMPARISION_OPERATOR.EQUAL;
5081
+ }
5082
+ toDTO() {
5083
+ return Object.assign(Object.assign({}, super.toDTO()), { check: this.check, threshold: this.threshold, comparision: this.comparision });
5084
+ }
5085
+ populateFromDTO(dto) {
5086
+ var _a;
5087
+ super.populateFromDTO(dto);
5088
+ this.check = dto.check || "";
5089
+ this.threshold = (_a = dto.threshold) !== null && _a !== void 0 ? _a : 0;
5090
+ this.comparision = dto.comparision || COMPARISION_OPERATOR.EQUAL;
5091
+ }
5092
+ setCheck(check) {
5093
+ this.check = check;
5094
+ return this;
5095
+ }
5096
+ setThreshold(threshold) {
5097
+ this.threshold = threshold;
5098
+ return this;
5099
+ }
5100
+ setComparision(comparision) {
5101
+ this.comparision = comparision;
5102
+ return this;
5103
+ }
5104
+ get getCheck() {
5105
+ return this.check;
5106
+ }
5107
+ get getThreshold() {
5108
+ return this.threshold;
5109
+ }
5110
+ get getComparision() {
5111
+ return this.comparision;
5112
+ }
5113
+ }
5114
+ class CompletenessValidationRule extends ValidationRule {
5115
+ constructor() {
5116
+ super(VALIDATION_TYPE.COMPLETENESS);
5117
+ this.min_completeness = 0;
5118
+ }
5119
+ toDTO() {
5120
+ return Object.assign(Object.assign({}, super.toDTO()), { min_completeness: this.min_completeness });
5121
+ }
5122
+ populateFromDTO(dto) {
5123
+ var _a;
5124
+ super.populateFromDTO(dto);
5125
+ this.min_completeness = (_a = dto.min_completeness) !== null && _a !== void 0 ? _a : 0;
5126
+ }
5127
+ setMinCompleteness(minCompleteness) {
5128
+ this.min_completeness = minCompleteness;
5129
+ return this;
5130
+ }
5131
+ get getMinCompleteness() {
5132
+ return this.min_completeness;
5133
+ }
5134
+ }
5135
+ var DATETIME_FORMAT_TYPE;
5136
+ (function (DATETIME_FORMAT_TYPE) {
5137
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_HH_MM_SS"] = "%Y-%m-%d %H:%M:%S";
5138
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD"] = "%Y-%m-%d";
5139
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_SLASH"] = "%Y/%m/%d";
5140
+ DATETIME_FORMAT_TYPE["DD_MM_YYYY"] = "%d-%m-%Y";
5141
+ DATETIME_FORMAT_TYPE["YYYY_MM_DD_T_HH_MM_SS"] = "%Y-%m-%dT%H:%M:%S";
5142
+ })(DATETIME_FORMAT_TYPE || (DATETIME_FORMAT_TYPE = {}));
5143
+ class DataTypeValidationRule extends ValidationRule {
5144
+ constructor() {
5145
+ super(VALIDATION_TYPE.DATA_TYPE);
5146
+ this.expected_type = EXPECTED_TYPE.STRING;
5147
+ this.datetime_format = DATETIME_FORMAT_TYPE.YYYY_MM_DD_HH_MM_SS;
5148
+ }
5149
+ toDTO() {
5150
+ return Object.assign(Object.assign({}, super.toDTO()), { expected_type: this.expected_type, datetime_format: this.datetime_format });
5151
+ }
5152
+ populateFromDTO(dto) {
5153
+ super.populateFromDTO(dto);
5154
+ this.expected_type = dto.expected_type || EXPECTED_TYPE.STRING;
5155
+ this.datetime_format =
5156
+ dto.datetime_format || DATETIME_FORMAT_TYPE.YYYY_MM_DD_HH_MM_SS;
5157
+ }
5158
+ setExpectedType(expectedType) {
5159
+ this.expected_type = expectedType;
5160
+ return this;
5161
+ }
5162
+ setDatetimeFormat(datetimeFormat) {
5163
+ this.datetime_format = datetimeFormat;
5164
+ return this;
5165
+ }
5166
+ get getExpectedType() {
5167
+ return this.expected_type;
5168
+ }
5169
+ get getDatetimeFormat() {
5170
+ return this.datetime_format;
4718
5171
  }
4719
5172
  }
4720
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
4721
5173
 
4722
5174
 
4723
5175
  /***/ }),
@@ -5020,7 +5472,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
5020
5472
 
5021
5473
 
5022
5474
  class Config {
5023
- constructor(governanceBaseUrl, sodasProfileBaseUrl, legacyDatahubBaseUrl) {
5475
+ constructor(sodasProfileBaseUrl, legacyDatahubBaseUrl, governanceBaseUrl) {
5024
5476
  this.governanceToken = null;
5025
5477
  this.legacyDatahubToken = null;
5026
5478
  this.governanceBaseUrl = governanceBaseUrl.replace(/\/$/, "");
@@ -5032,9 +5484,9 @@ class Config {
5032
5484
  * Explicitly configure the SDK with the given API URLs.
5033
5485
  * This is the preferred way to set API URLs instead of using configureAPIURL.
5034
5486
  */
5035
- static configure(datahubApiUrl, governanceApiUrl, legacyDatahubApiUrl) {
5487
+ static configure(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl) {
5036
5488
  if (!Config.instance) {
5037
- Config.instance = new Config(governanceApiUrl, datahubApiUrl, legacyDatahubApiUrl);
5489
+ Config.instance = new Config(datahubApiUrl, legacyDatahubApiUrl, governanceApiUrl);
5038
5490
  }
5039
5491
  else {
5040
5492
  Config.instance.governanceBaseUrl = governanceApiUrl.replace(/\/$/, "");
@@ -5078,6 +5530,7 @@ class Config {
5078
5530
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5079
5531
  _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5080
5532
  _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_7__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5533
+ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_SODAS_PROFILE_BASE_URL);
5081
5534
  }
5082
5535
  else {
5083
5536
  console.error("DATAHUB_API_URL not found in config");
@@ -5085,7 +5538,6 @@ class Config {
5085
5538
  if (this.governanceBaseUrl) {
5086
5539
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5087
5540
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5088
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
5089
5541
  }
5090
5542
  else {
5091
5543
  console.error("GOVERNANCE_API_URL not found in config");
@@ -5222,8 +5674,6 @@ __webpack_require__.r(__webpack_exports__);
5222
5674
  /* harmony export */ NotRecordedYetError: () => (/* binding */ NotRecordedYetError),
5223
5675
  /* harmony export */ RecordNotFoundError: () => (/* binding */ RecordNotFoundError),
5224
5676
  /* harmony export */ RequirementsNotSetError: () => (/* binding */ RequirementsNotSetError),
5225
- /* harmony export */ ResourceRoleDescriptorAlreadyExist: () => (/* binding */ ResourceRoleDescriptorAlreadyExist),
5226
- /* harmony export */ ResourceRoleDescriptorNotExist: () => (/* binding */ ResourceRoleDescriptorNotExist),
5227
5677
  /* harmony export */ RetryLimitReachedError: () => (/* binding */ RetryLimitReachedError),
5228
5678
  /* harmony export */ SwitchSameIndexError: () => (/* binding */ SwitchSameIndexError),
5229
5679
  /* harmony export */ UnexpectedResponseFormatError: () => (/* binding */ UnexpectedResponseFormatError)
@@ -5314,16 +5764,6 @@ class RequirementsNotSetError extends Error {
5314
5764
  super(`Requirements are not set`);
5315
5765
  }
5316
5766
  }
5317
- class ResourceRoleDescriptorAlreadyExist extends Error {
5318
- constructor(role) {
5319
- super(`Resource Descripotor with specific role : ${role} already exists.`);
5320
- }
5321
- }
5322
- class ResourceRoleDescriptorNotExist extends Error {
5323
- constructor(role) {
5324
- super(`Resource Descripotor with specific role : ${role} doesn't exists.`);
5325
- }
5326
- }
5327
5767
  class RetryLimitReachedError extends Error {
5328
5768
  constructor(max) {
5329
5769
  super(`Max retries[${max}] reached`);
@@ -5378,13 +5818,13 @@ __webpack_require__.r(__webpack_exports__);
5378
5818
  function setGovernanceBearerToken(token) {
5379
5819
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].BEARER_TOKEN = token;
5380
5820
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].BEARER_TOKEN = token;
5381
- _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
5382
5821
  }
5383
5822
  function setLegacyDatahubBearerToken(token) {
5384
5823
  _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].BEARER_TOKEN = token;
5385
5824
  _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"].BEARER_TOKEN = token;
5386
5825
  _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"].BEARER_TOKEN = token;
5387
5826
  _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"].BEARER_TOKEN = token;
5827
+ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
5388
5828
  }
5389
5829
 
5390
5830
 
@@ -5399,10 +5839,7 @@ function setLegacyDatahubBearerToken(token) {
5399
5839
  "use strict";
5400
5840
  __webpack_require__.r(__webpack_exports__);
5401
5841
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5402
- /* harmony export */ ArtifactType: () => (/* binding */ ArtifactType),
5403
- /* harmony export */ ResourceDescriptorRole: () => (/* binding */ ResourceDescriptorRole),
5404
5842
  /* harmony export */ SortOrder: () => (/* binding */ SortOrder),
5405
- /* harmony export */ TemplateDetailFunctionality: () => (/* binding */ TemplateDetailFunctionality),
5406
5843
  /* harmony export */ asID: () => (/* binding */ asID),
5407
5844
  /* harmony export */ asIDs: () => (/* binding */ asIDs),
5408
5845
  /* harmony export */ asIRI: () => (/* binding */ asIRI),
@@ -5457,51 +5894,6 @@ function toDate(dateString) {
5457
5894
  }
5458
5895
  return date;
5459
5896
  }
5460
- var ResourceDescriptorRole;
5461
- (function (ResourceDescriptorRole) {
5462
- ResourceDescriptorRole["VOCABULARY"] = "vocabulary";
5463
- ResourceDescriptorRole["TYPE"] = "type";
5464
- ResourceDescriptorRole["SCHEMA"] = "schema";
5465
- ResourceDescriptorRole["CONSTRAINT"] = "constraint";
5466
- ResourceDescriptorRole["VALIDATION"] = "validation";
5467
- ResourceDescriptorRole["MAPPING"] = "mapping";
5468
- ResourceDescriptorRole["EXAMPLE"] = "example";
5469
- ResourceDescriptorRole["SPECIFICATION"] = "specification";
5470
- ResourceDescriptorRole["GUIDANCE"] = "guidance";
5471
- })(ResourceDescriptorRole || (ResourceDescriptorRole = {}));
5472
- var ArtifactType;
5473
- (function (ArtifactType) {
5474
- ArtifactType["TEMPLATE"] = "template";
5475
- ArtifactType["FILE"] = "file";
5476
- })(ArtifactType || (ArtifactType = {}));
5477
- var TemplateDetailFunctionality;
5478
- (function (TemplateDetailFunctionality) {
5479
- //VOCABULARY
5480
- TemplateDetailFunctionality["ORIGIN"] = "origin";
5481
- TemplateDetailFunctionality["NAMESPACE"] = "namespaceIRI";
5482
- TemplateDetailFunctionality["TERM"] = "term";
5483
- TemplateDetailFunctionality["DESCRIPTION"] = "description";
5484
- //TYPE
5485
- TemplateDetailFunctionality["NAME"] = "name";
5486
- TemplateDetailFunctionality["LABEL"] = "label";
5487
- TemplateDetailFunctionality["VALUE"] = "value";
5488
- //SCHEMA
5489
- TemplateDetailFunctionality["TYPE"] = "type";
5490
- TemplateDetailFunctionality["REQUIRED"] = "required";
5491
- TemplateDetailFunctionality["FIELD_TERM"] = "fieldTerm";
5492
- //CONSTRAINT
5493
- TemplateDetailFunctionality["FIELD"] = "field";
5494
- TemplateDetailFunctionality["REGEX"] = "regex";
5495
- //VALIDATION
5496
- TemplateDetailFunctionality["MEASURE"] = "measure";
5497
- //MAPPING
5498
- TemplateDetailFunctionality["TARGET_PROFILE"] = "targetProfile";
5499
- TemplateDetailFunctionality["TARGET_FIELD"] = "targetField";
5500
- //EXAMPLE : FIELD, VALUE, DESCIRPTION
5501
- //SPECIFICATION
5502
- TemplateDetailFunctionality["CONVERSION"] = "conversion";
5503
- //GUIDANCE : I think I need to remove it
5504
- })(TemplateDetailFunctionality || (TemplateDetailFunctionality = {}));
5505
5897
  var SortOrder;
5506
5898
  (function (SortOrder) {
5507
5899
  SortOrder["ASC"] = "ASC";
@@ -10630,35 +11022,50 @@ var __webpack_exports__ = {};
10630
11022
  \**********************/
10631
11023
  __webpack_require__.r(__webpack_exports__);
10632
11024
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10633
- /* harmony export */ ArtifactType: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType),
10634
- /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES),
10635
- /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES),
10636
- /* harmony export */ Config: () => (/* reexport safe */ _core_auth__WEBPACK_IMPORTED_MODULE_5__["default"]),
11025
+ /* harmony export */ AllowedValuesValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.AllowedValuesValidationRule),
11026
+ /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.BASIC_TYPE_VALUES),
11027
+ /* harmony export */ COMPARISION_OPERATOR: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.COMPARISION_OPERATOR),
11028
+ /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.CONVERSION_VALUES),
11029
+ /* harmony export */ CUSTOM_CONDITION_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CUSTOM_CONDITION_TYPE),
11030
+ /* harmony export */ CompletenessValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CompletenessValidationRule),
11031
+ /* harmony export */ Config: () => (/* reexport safe */ _core_auth__WEBPACK_IMPORTED_MODULE_6__["default"]),
11032
+ /* harmony export */ CustomValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CustomValidationRule),
11033
+ /* harmony export */ DATETIME_FORMAT_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DATETIME_FORMAT_TYPE),
10637
11034
  /* harmony export */ DataService: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"]),
11035
+ /* harmony export */ DataTypeValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DataTypeValidationRule),
10638
11036
  /* harmony export */ Dataset: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"]),
10639
11037
  /* harmony export */ DatasetSeries: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"]),
10640
11038
  /* harmony export */ Distribution: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"]),
10641
- /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES),
10642
- /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES),
10643
- /* harmony export */ ResourceDescriptorRole: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole),
10644
- /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder),
10645
- /* harmony export */ TemplateDetailFunctionality: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.TemplateDetailFunctionality),
11039
+ /* harmony export */ EXPECTED_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.EXPECTED_TYPE),
11040
+ /* harmony export */ LengthValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.LengthValidationRule),
11041
+ /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.MEASURE_VALUES),
11042
+ /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_9__.ORIGIN_VALUES),
11043
+ /* harmony export */ OUTLIER_METHOD: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OUTLIER_METHOD),
11044
+ /* harmony export */ OutlierValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OutlierValidationRule),
11045
+ /* harmony export */ PatternValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.PatternValidationRule),
11046
+ /* harmony export */ RangeValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.RangeValidationRule),
11047
+ /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.SortOrder),
11048
+ /* harmony export */ StatisticalValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.StatisticalValidationRule),
11049
+ /* harmony export */ UniquenessValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.UniquenessValidationRule),
11050
+ /* harmony export */ VALIDATION_TYPE: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.VALIDATION_TYPE),
11051
+ /* harmony export */ ValidationRule: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.ValidationRule),
10646
11052
  /* harmony export */ ValidationTemplate: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"]),
10647
- /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asID),
10648
- /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI),
11053
+ /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.asID),
11054
+ /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_8__.asIRI),
10649
11055
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
10650
- /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken),
10651
- /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setLegacyDatahubBearerToken)
11056
+ /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_7__.setGovernanceBearerToken),
11057
+ /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_7__.setLegacyDatahubBearerToken)
10652
11058
  /* harmony export */ });
10653
11059
  /* 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");
10654
11060
  /* 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");
10655
11061
  /* 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");
10656
11062
  /* 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");
10657
11063
  /* 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");
10658
- /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
10659
- /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
10660
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
10661
- /* harmony import */ var _core_values__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./core/values */ "./lib/core/values.ts");
11064
+ /* 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");
11065
+ /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
11066
+ /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
11067
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
11068
+ /* harmony import */ var _core_values__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./core/values */ "./lib/core/values.ts");
10662
11069
  // Import named functions first
10663
11070
 
10664
11071
 
@@ -10669,28 +11076,43 @@ __webpack_require__.r(__webpack_exports__);
10669
11076
 
10670
11077
 
10671
11078
 
11079
+
10672
11080
  // ✅ Named exports (For ES module compatibility)
10673
11081
 
10674
11082
  // ✅ Default export (For CommonJS compatibility)
10675
11083
  const sdk = {
10676
- ArtifactType: _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType,
10677
- BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES,
10678
- CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES,
10679
- Config: _core_auth__WEBPACK_IMPORTED_MODULE_5__["default"],
11084
+ AllowedValuesValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.AllowedValuesValidationRule,
11085
+ BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.BASIC_TYPE_VALUES,
11086
+ COMPARISION_OPERATOR: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.COMPARISION_OPERATOR,
11087
+ CompletenessValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CompletenessValidationRule,
11088
+ CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.CONVERSION_VALUES,
11089
+ Config: _core_auth__WEBPACK_IMPORTED_MODULE_6__["default"],
11090
+ CUSTOM_CONDITION_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CUSTOM_CONDITION_TYPE,
11091
+ CustomValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.CustomValidationRule,
11092
+ DATETIME_FORMAT_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DATETIME_FORMAT_TYPE,
10680
11093
  DataService: _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"],
11094
+ DataTypeValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.DataTypeValidationRule,
10681
11095
  Dataset: _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"],
10682
11096
  DatasetSeries: _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"],
10683
11097
  Distribution: _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"],
10684
- MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES,
10685
- ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES,
10686
- ResourceDescriptorRole: _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole,
10687
- SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder,
10688
- TemplateDetailFunctionality: _core_type__WEBPACK_IMPORTED_MODULE_7__.TemplateDetailFunctionality,
11098
+ EXPECTED_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.EXPECTED_TYPE,
11099
+ LengthValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.LengthValidationRule,
11100
+ MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.MEASURE_VALUES,
11101
+ ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_9__.ORIGIN_VALUES,
11102
+ OutlierValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OutlierValidationRule,
11103
+ OUTLIER_METHOD: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.OUTLIER_METHOD,
11104
+ PatternValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.PatternValidationRule,
11105
+ RangeValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.RangeValidationRule,
11106
+ SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_8__.SortOrder,
11107
+ StatisticalValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.StatisticalValidationRule,
11108
+ UniquenessValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.UniquenessValidationRule,
11109
+ VALIDATION_TYPE: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.VALIDATION_TYPE,
11110
+ ValidationRule: _SODAS_SDK_CLASS_template_validationType__WEBPACK_IMPORTED_MODULE_5__.ValidationRule,
10689
11111
  ValidationTemplate: _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"],
10690
- asID: _core_type__WEBPACK_IMPORTED_MODULE_7__.asID,
10691
- asIRI: _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI,
10692
- setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken,
10693
- setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setLegacyDatahubBearerToken,
11112
+ asID: _core_type__WEBPACK_IMPORTED_MODULE_8__.asID,
11113
+ asIRI: _core_type__WEBPACK_IMPORTED_MODULE_8__.asIRI,
11114
+ setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_7__.setGovernanceBearerToken,
11115
+ setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_7__.setLegacyDatahubBearerToken,
10694
11116
  };
10695
11117
  // ✅ Ensures `require("sodas-sdk")` works in CommonJS
10696
11118
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sdk);