sodas-sdk 1.3.11 → 1.4.1

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.
@@ -5542,6 +5542,30 @@ class Dataset extends _dcatResource__WEBPACK_IMPORTED_MODULE_4__["default"] {
5542
5542
  throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
5543
5543
  });
5544
5544
  }
5545
+ static getRDF(id_1) {
5546
+ return __awaiter(this, arguments, void 0, function* (id, depth = 1) {
5547
+ // @ts-ignore - static helper expects SODAS_SDK_CLASS constructor type
5548
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
5549
+ const url = `${Dataset.API_URL}/rdf`;
5550
+ let response;
5551
+ try {
5552
+ response = yield axios__WEBPACK_IMPORTED_MODULE_6__["default"].get(url, {
5553
+ headers: Object.assign({ Accept: "text/turtle" }, (Dataset.BEARER_TOKEN && {
5554
+ Authorization: `Bearer ${Dataset.BEARER_TOKEN}`,
5555
+ })),
5556
+ params: { id, depth },
5557
+ responseType: "text",
5558
+ });
5559
+ }
5560
+ catch (error) {
5561
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
5562
+ }
5563
+ if (typeof response.data === "string") {
5564
+ return response.data;
5565
+ }
5566
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
5567
+ });
5568
+ }
5545
5569
  static searchDBRecords(searchKeyword_1) {
5546
5570
  return __awaiter(this, arguments, void 0, function* (searchKeyword, pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
5547
5571
  if (!searchKeyword || !searchKeyword.trim()) {
@@ -5997,6 +6021,30 @@ class DatasetSeries extends _dcatResource__WEBPACK_IMPORTED_MODULE_5__["default"
5997
6021
  DatasetSeries.API_URL = `${url}/datasetseries`;
5998
6022
  DatasetSeries.LIST_URL = `${DatasetSeries.API_URL}/list`;
5999
6023
  }
6024
+ static getRDF(id_1) {
6025
+ return __awaiter(this, arguments, void 0, function* (id, depth = 1) {
6026
+ // @ts-ignore - static helper expects SODAS_SDK_CLASS constructor type
6027
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_3__.throwErrorIfAPIURLNotSetForStatic)(this);
6028
+ const url = `${DatasetSeries.API_URL}/rdf`;
6029
+ let response;
6030
+ try {
6031
+ response = yield axios__WEBPACK_IMPORTED_MODULE_6__["default"].get(url, {
6032
+ headers: Object.assign({ Accept: "text/turtle" }, (DatasetSeries.BEARER_TOKEN && {
6033
+ Authorization: `Bearer ${DatasetSeries.BEARER_TOKEN}`,
6034
+ })),
6035
+ params: { id, depth },
6036
+ responseType: "text",
6037
+ });
6038
+ }
6039
+ catch (error) {
6040
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
6041
+ }
6042
+ if (typeof response.data === "string") {
6043
+ return response.data;
6044
+ }
6045
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.UnexpectedResponseFormatError(response);
6046
+ });
6047
+ }
6000
6048
  static listUserDBRecords() {
6001
6049
  return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC) {
6002
6050
  // @ts-ignore - static helper expects SODAS_SDK_CLASS constructor type
@@ -7815,26 +7863,345 @@ class SODAS_SDK_CLASS {
7815
7863
 
7816
7864
  /***/ }),
7817
7865
 
7818
- /***/ "./lib/SODAS_SDK_FILE/artifactFile.ts":
7819
- /*!********************************************!*\
7820
- !*** ./lib/SODAS_SDK_FILE/artifactFile.ts ***!
7821
- \********************************************/
7866
+ /***/ "./lib/SODAS_SDK_CLASS/template/validation.ts":
7867
+ /*!****************************************************!*\
7868
+ !*** ./lib/SODAS_SDK_CLASS/template/validation.ts ***!
7869
+ \****************************************************/
7822
7870
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7823
7871
 
7824
7872
  __webpack_require__.r(__webpack_exports__);
7825
7873
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7874
+ /* harmony export */ EXPECTED_TYPE: () => (/* binding */ EXPECTED_TYPE),
7875
+ /* harmony export */ VALIDATION_TYPE: () => (/* binding */ VALIDATION_TYPE),
7826
7876
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7827
7877
  /* harmony export */ });
7828
- /* harmony import */ var _sodasSDKFile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sodasSDKFile */ "./lib/SODAS_SDK_FILE/sodasSDKFile.ts");
7878
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
7879
+ /* harmony import */ var _core_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/error */ "./lib/core/error.ts");
7880
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/type */ "./lib/core/type.ts");
7881
+ /* harmony import */ var _core_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/util */ "./lib/core/util.ts");
7882
+ /* harmony import */ var _governanceClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../governanceClass */ "./lib/SODAS_SDK_CLASS/governanceClass.ts");
7883
+ /* harmony import */ var _sodasSDKClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../sodasSDKClass */ "./lib/SODAS_SDK_CLASS/sodasSDKClass.ts");
7884
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
7885
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7886
+ return new (P || (P = Promise))(function (resolve, reject) {
7887
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7888
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7889
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7890
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
7891
+ });
7892
+ };
7893
+
7894
+
7895
+
7829
7896
 
7830
- class ArtifactFile extends _sodasSDKFile__WEBPACK_IMPORTED_MODULE_0__["default"] {
7897
+
7898
+
7899
+ var VALIDATION_TYPE;
7900
+ (function (VALIDATION_TYPE) {
7901
+ VALIDATION_TYPE["DATA_TYPE"] = "data_type";
7902
+ VALIDATION_TYPE["RANGE"] = "range";
7903
+ VALIDATION_TYPE["PATTERN"] = "pattern";
7904
+ VALIDATION_TYPE["UNIQUENESS"] = "uniqueness";
7905
+ VALIDATION_TYPE["COMPLETENESS"] = "completeness";
7906
+ VALIDATION_TYPE["LENGTH"] = "length";
7907
+ VALIDATION_TYPE["ALLOWED_VALUES"] = "allowed_values";
7908
+ VALIDATION_TYPE["OUTLIER"] = "outlier";
7909
+ VALIDATION_TYPE["STATISTICAL"] = "statistical";
7910
+ })(VALIDATION_TYPE || (VALIDATION_TYPE = {}));
7911
+ var EXPECTED_TYPE;
7912
+ (function (EXPECTED_TYPE) {
7913
+ EXPECTED_TYPE["NUMERIC"] = "numeric";
7914
+ EXPECTED_TYPE["STRING"] = "string";
7915
+ EXPECTED_TYPE["DATETIME"] = "datetime";
7916
+ })(EXPECTED_TYPE || (EXPECTED_TYPE = {}));
7917
+ class ValidationTemplate extends _governanceClass__WEBPACK_IMPORTED_MODULE_3__["default"] {
7831
7918
  static configureAPIURL(url) {
7832
- ArtifactFile.UPLOAD_URL = `${url}/api/v1/governance/open-reference-model/resource-descriptor/artifact/upload`;
7833
- ArtifactFile.REMOVE_URL = `${url}/api/v1/governance/open-reference-model/resource-descriptor/artifact/remove?id=`;
7834
- ArtifactFile.DOWNLOAD_URL = `${url}/artifacts`;
7919
+ const PREFIX = "api/v1/governance/template";
7920
+ ValidationTemplate.API_URL = `${url}/${PREFIX}/validation`;
7921
+ ValidationTemplate.LIST_URL = `${ValidationTemplate.API_URL}/list`;
7922
+ ValidationTemplate.GET_URL = `${ValidationTemplate.API_URL}/get`;
7923
+ ValidationTemplate.CREATE_URL = `${ValidationTemplate.API_URL}/create`;
7924
+ ValidationTemplate.UPDATE_URL = `${ValidationTemplate.API_URL}/update`;
7925
+ ValidationTemplate.DELETE_URL = `${ValidationTemplate.API_URL}/remove`;
7926
+ }
7927
+ toDTO() {
7928
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, super.toDTO()), { name: this.Name }), (this.ValidationRules && { validationRules: this.ValidationRules })), (this.Description && { description: this.Description }));
7929
+ }
7930
+ populateFromFormData(data) {
7931
+ return __awaiter(this, void 0, void 0, function* () {
7932
+ throw new _core_error__WEBPACK_IMPORTED_MODULE_0__.NeedToImplementError();
7933
+ });
7934
+ }
7935
+ populateFromDTO(dto) {
7936
+ const _super = Object.create(null, {
7937
+ populateFromDTO: { get: () => super.populateFromDTO }
7938
+ });
7939
+ return __awaiter(this, void 0, void 0, function* () {
7940
+ yield _super.populateFromDTO.call(this, dto);
7941
+ const validationTemplateDTO = dto;
7942
+ this.ValidationRules = validationTemplateDTO.validationRules;
7943
+ this.Name = validationTemplateDTO.name;
7944
+ this.Description = validationTemplateDTO.description;
7945
+ });
7946
+ }
7947
+ static listDBRecords() {
7948
+ return __awaiter(this, arguments, void 0, function* (pageNumber = 1, pageSize = 10, sortOrder = _core_type__WEBPACK_IMPORTED_MODULE_1__.SortOrder.DESC, vocabularyID) {
7949
+ (0,_sodasSDKClass__WEBPACK_IMPORTED_MODULE_4__.throwErrorIfAPIURLNotSetForStatic)(ValidationTemplate);
7950
+ try {
7951
+ const response = yield axios__WEBPACK_IMPORTED_MODULE_5__["default"].get(ValidationTemplate.LIST_URL, {
7952
+ params: {
7953
+ offset: (pageNumber - 1) * pageSize,
7954
+ limit: pageSize,
7955
+ ordered: sortOrder,
7956
+ vocabularyId: vocabularyID,
7957
+ },
7958
+ // headers,
7959
+ });
7960
+ return yield ValidationTemplate.listResponseToPaginatedResponse(response);
7961
+ }
7962
+ catch (error) {
7963
+ (0,_core_util__WEBPACK_IMPORTED_MODULE_2__.handleAxiosError)(error);
7964
+ }
7965
+ });
7966
+ }
7967
+ get name() {
7968
+ return this.Name;
7969
+ }
7970
+ set name(value) {
7971
+ this.Name = value;
7972
+ }
7973
+ get description() {
7974
+ return this.Description;
7975
+ }
7976
+ set description(value) {
7977
+ this.Description = value;
7978
+ }
7979
+ get validationRules() {
7980
+ return this.ValidationRules;
7981
+ }
7982
+ set validationRules(value) {
7983
+ this.ValidationRules = value;
7984
+ }
7985
+ static parseValidationRules(rawRules) {
7986
+ return rawRules.map((rule) => {
7987
+ const baseRule = {
7988
+ column: rule.column,
7989
+ name: rule.name,
7990
+ type: rule.type,
7991
+ };
7992
+ switch (rule.type) {
7993
+ case VALIDATION_TYPE.COMPLETENESS:
7994
+ return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.COMPLETENESS, min_completeness: rule.min_completeness, weight: rule.weight });
7995
+ case VALIDATION_TYPE.DATA_TYPE:
7996
+ return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.DATA_TYPE, expected_type: rule.expected_type, weight: rule.weight });
7997
+ case VALIDATION_TYPE.PATTERN:
7998
+ return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.PATTERN, pattern: rule.pattern, weight: rule.weight });
7999
+ case VALIDATION_TYPE.UNIQUENESS:
8000
+ return Object.assign(Object.assign({}, baseRule), { type: VALIDATION_TYPE.UNIQUENESS, weight: rule.weight });
8001
+ default:
8002
+ return baseRule;
8003
+ }
8004
+ });
8005
+ }
8006
+ ensureValidationRulesInitialized() {
8007
+ if (!this.ValidationRules) {
8008
+ this.ValidationRules = [];
8009
+ }
8010
+ }
8011
+ createRule(type) {
8012
+ this.ensureValidationRulesInitialized();
8013
+ let rule;
8014
+ const baseRule = {
8015
+ column: "",
8016
+ name: "",
8017
+ type,
8018
+ };
8019
+ switch (type) {
8020
+ case VALIDATION_TYPE.COMPLETENESS:
8021
+ rule = Object.assign(Object.assign({}, baseRule), { min_completeness: 0, weight: 0 });
8022
+ break;
8023
+ case VALIDATION_TYPE.DATA_TYPE:
8024
+ rule = Object.assign(Object.assign({}, baseRule), { expected_type: EXPECTED_TYPE.STRING, weight: 0 });
8025
+ break;
8026
+ case VALIDATION_TYPE.PATTERN:
8027
+ rule = Object.assign(Object.assign({}, baseRule), { pattern: "", weight: 0 });
8028
+ break;
8029
+ case VALIDATION_TYPE.UNIQUENESS:
8030
+ rule = Object.assign(Object.assign({}, baseRule), { weight: 0 });
8031
+ break;
8032
+ default:
8033
+ rule = baseRule;
8034
+ }
8035
+ this.ValidationRules.push(rule);
8036
+ return rule;
8037
+ }
8038
+ deleteRuleAt(index) {
8039
+ if (!this.ValidationRules) {
8040
+ return;
8041
+ }
8042
+ if (index < 0 || index >= this.ValidationRules.length) {
8043
+ return;
8044
+ }
8045
+ this.ValidationRules.splice(index, 1);
8046
+ }
8047
+ deleteRuleByTypeAt(type, index) {
8048
+ if (!this.ValidationRules) {
8049
+ return;
8050
+ }
8051
+ if (index < 0) {
8052
+ return;
8053
+ }
8054
+ let current = 0;
8055
+ for (let i = 0; i < this.ValidationRules.length; i++) {
8056
+ if (this.ValidationRules[i].type === type) {
8057
+ if (current === index) {
8058
+ this.ValidationRules.splice(i, 1);
8059
+ return;
8060
+ }
8061
+ current++;
8062
+ }
8063
+ }
8064
+ }
8065
+ static groupValidationRulesByColumn(rules) {
8066
+ return rules.reduce((acc, rule) => {
8067
+ const column = rule.column;
8068
+ if (!acc[column]) {
8069
+ acc[column] = [];
8070
+ }
8071
+ acc[column].push(rule);
8072
+ return acc;
8073
+ }, {});
8074
+ }
8075
+ static groupValidationRulesByType(rules) {
8076
+ return rules.reduce((acc, rule) => {
8077
+ const type = rule.type;
8078
+ if (!acc[type]) {
8079
+ acc[type] = [];
8080
+ }
8081
+ acc[type].push(rule);
8082
+ return acc;
8083
+ }, {});
8084
+ }
8085
+ /**
8086
+ * Parse escaped JSON string containing validation_rules to ValidationRule[]
8087
+ * @param escapedString - Escaped JSON string like "validation_rules\":[{\"column\":\"class_label\",...}]"
8088
+ * @returns Parsed ValidationRule array
8089
+ */
8090
+ static parseValidationRulesFromEscapedString(escapedString) {
8091
+ let processedString = escapedString.trim();
8092
+ // Remove surrounding quotes if present (e.g., '"{"validation_rules":...}"' -> '{"validation_rules":...}')
8093
+ // Check for both single and double quotes
8094
+ if (((processedString.startsWith('"') && processedString.endsWith('"')) ||
8095
+ (processedString.startsWith("'") && processedString.endsWith("'"))) &&
8096
+ processedString.length > 1) {
8097
+ processedString = processedString.slice(1, -1).trim();
8098
+ }
8099
+ // Unescape the string (replace \" with ")
8100
+ // Handle both \" and \\\" cases to avoid double-escaping issues
8101
+ let unescapedString = processedString;
8102
+ // First handle \\\" -> \"
8103
+ unescapedString = unescapedString.replace(/\\\\"/g, '\\"');
8104
+ // Then handle \" -> "
8105
+ unescapedString = unescapedString.replace(/\\"/g, '"');
8106
+ // Try to parse as JSON
8107
+ let parsed;
8108
+ try {
8109
+ // First try parsing directly
8110
+ parsed = JSON.parse(unescapedString);
8111
+ }
8112
+ catch (error) {
8113
+ // If parsing fails, try different approaches
8114
+ const trimmed = unescapedString.trim();
8115
+ // If it starts with "validation_rules" but is not wrapped in braces
8116
+ if (trimmed.startsWith('"validation_rules"') ||
8117
+ trimmed.startsWith("validation_rules")) {
8118
+ // Try wrapping in braces
8119
+ const wrapped = trimmed.startsWith('"')
8120
+ ? `{${trimmed}}`
8121
+ : `{"${trimmed}}`;
8122
+ try {
8123
+ parsed = JSON.parse(wrapped);
8124
+ }
8125
+ catch (e) {
8126
+ // If still fails, try without the leading quote
8127
+ const withoutQuote = trimmed.replace(/^"/, "");
8128
+ parsed = JSON.parse(`{"${withoutQuote}`);
8129
+ }
8130
+ }
8131
+ else if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
8132
+ // Already looks like JSON object, try parsing again after trimming
8133
+ parsed = JSON.parse(trimmed);
8134
+ }
8135
+ else {
8136
+ throw error;
8137
+ }
8138
+ }
8139
+ // Extract validation_rules array
8140
+ let validationRules;
8141
+ // If it's already an array, use it directly
8142
+ if (Array.isArray(parsed)) {
8143
+ validationRules = parsed;
8144
+ }
8145
+ else if (parsed.validation_rules) {
8146
+ // If it's an object with validation_rules property
8147
+ validationRules = parsed.validation_rules;
8148
+ }
8149
+ else if (typeof parsed === "object") {
8150
+ // If it's an object but no validation_rules property, try to use it as is
8151
+ validationRules = parsed;
8152
+ }
8153
+ else {
8154
+ throw new Error("Invalid format: validation_rules not found");
8155
+ }
8156
+ // Ensure validationRules is an array
8157
+ if (!Array.isArray(validationRules)) {
8158
+ throw new Error("Invalid format: validation_rules must be an array");
8159
+ }
8160
+ const parsedRules = ValidationTemplate.parseValidationRules(validationRules);
8161
+ parsedRules._escapedString = escapedString;
8162
+ return parsedRules;
8163
+ }
8164
+ /**
8165
+ * Convert ValidationRule[] to escaped JSON string
8166
+ * @param rules - ValidationRule array to stringify
8167
+ * @returns Escaped JSON string with format: "{\"validation_rules\":[...]}"
8168
+ */
8169
+ static stringifyValidationRulesToEscapedString(rules) {
8170
+ // Convert ValidationRule[] to plain objects for JSON serialization
8171
+ const plainRules = rules.map((rule) => {
8172
+ const plainRule = {
8173
+ column: rule.column,
8174
+ name: rule.name,
8175
+ type: rule.type,
8176
+ };
8177
+ switch (rule.type) {
8178
+ case VALIDATION_TYPE.COMPLETENESS:
8179
+ const completenessRule = rule;
8180
+ return Object.assign(Object.assign({}, plainRule), { min_completeness: completenessRule.min_completeness, weight: completenessRule.weight });
8181
+ case VALIDATION_TYPE.DATA_TYPE:
8182
+ const dataTypeRule = rule;
8183
+ return Object.assign(Object.assign({}, plainRule), { expected_type: dataTypeRule.expected_type, weight: dataTypeRule.weight });
8184
+ case VALIDATION_TYPE.PATTERN:
8185
+ const patternRule = rule;
8186
+ return Object.assign(Object.assign({}, plainRule), { pattern: patternRule.pattern, weight: patternRule.weight });
8187
+ case VALIDATION_TYPE.UNIQUENESS:
8188
+ const uniquenessRule = rule;
8189
+ return Object.assign(Object.assign({}, plainRule), { weight: uniquenessRule.weight });
8190
+ default:
8191
+ return plainRule;
8192
+ }
8193
+ });
8194
+ // Create object with validation_rules property
8195
+ if (rules._escapedString) {
8196
+ return rules._escapedString;
8197
+ }
8198
+ const obj = { validation_rules: plainRules };
8199
+ const jsonString = JSON.stringify(obj);
8200
+ const escaped = jsonString.replace(/"/g, '\\"');
8201
+ return '"' + escaped + '"';
7835
8202
  }
7836
8203
  }
7837
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArtifactFile);
8204
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValidationTemplate);
7838
8205
 
7839
8206
 
7840
8207
  /***/ }),
@@ -8106,7 +8473,7 @@ __webpack_require__.r(__webpack_exports__);
8106
8473
  /* 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");
8107
8474
  /* harmony import */ var _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/dictionary/term */ "./lib/SODAS_SDK_CLASS/dictionary/term.ts");
8108
8475
  /* harmony import */ var _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/dictionary/vocabulary */ "./lib/SODAS_SDK_CLASS/dictionary/vocabulary.ts");
8109
- /* harmony import */ var _SODAS_SDK_FILE_artifactFile__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../SODAS_SDK_FILE/artifactFile */ "./lib/SODAS_SDK_FILE/artifactFile.ts");
8476
+ /* harmony import */ var _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/template/validation */ "./lib/SODAS_SDK_CLASS/template/validation.ts");
8110
8477
  /* harmony import */ var _SODAS_SDK_FILE_dataFile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../SODAS_SDK_FILE/dataFile */ "./lib/SODAS_SDK_FILE/dataFile.ts");
8111
8478
  /* harmony import */ var _SODAS_SDK_FILE_thumbnailFile__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../SODAS_SDK_FILE/thumbnailFile */ "./lib/SODAS_SDK_FILE/thumbnailFile.ts");
8112
8479
  /* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./error */ "./lib/core/error.ts");
@@ -8196,9 +8563,9 @@ class Config {
8196
8563
  console.error("DATAHUB_API_URL not found in config");
8197
8564
  }
8198
8565
  if (this.governanceBaseUrl) {
8199
- _SODAS_SDK_FILE_artifactFile__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8200
8566
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8201
8567
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8568
+ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].configureAPIURL(SLASH_DELETED_GOVERNANCE_PORTAL_API_URL);
8202
8569
  }
8203
8570
  else {
8204
8571
  console.error("GOVERNANCE_API_URL not found in config");
@@ -8472,6 +8839,8 @@ __webpack_require__.r(__webpack_exports__);
8472
8839
  /* 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");
8473
8840
  /* harmony import */ var _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/dictionary/term */ "./lib/SODAS_SDK_CLASS/dictionary/term.ts");
8474
8841
  /* harmony import */ var _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/dictionary/vocabulary */ "./lib/SODAS_SDK_CLASS/dictionary/vocabulary.ts");
8842
+ /* harmony import */ var _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../SODAS_SDK_CLASS/template/validation */ "./lib/SODAS_SDK_CLASS/template/validation.ts");
8843
+
8475
8844
 
8476
8845
 
8477
8846
 
@@ -8487,6 +8856,7 @@ __webpack_require__.r(__webpack_exports__);
8487
8856
  function setGovernanceBearerToken(token) {
8488
8857
  _SODAS_SDK_CLASS_dictionary_vocabulary__WEBPACK_IMPORTED_MODULE_5__["default"].BEARER_TOKEN = token;
8489
8858
  _SODAS_SDK_CLASS_dictionary_term__WEBPACK_IMPORTED_MODULE_4__["default"].BEARER_TOKEN = token;
8859
+ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_6__["default"].BEARER_TOKEN = token;
8490
8860
  }
8491
8861
  function setLegacyDatahubBearerToken(token) {
8492
8862
  _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"].BEARER_TOKEN = token;
@@ -8507,7 +8877,6 @@ function setLegacyDatahubBearerToken(token) {
8507
8877
  __webpack_require__.r(__webpack_exports__);
8508
8878
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8509
8879
  /* harmony export */ ArtifactType: () => (/* binding */ ArtifactType),
8510
- /* harmony export */ ProfileType: () => (/* binding */ ProfileType),
8511
8880
  /* harmony export */ ResourceDescriptorRole: () => (/* binding */ ResourceDescriptorRole),
8512
8881
  /* harmony export */ SortOrder: () => (/* binding */ SortOrder),
8513
8882
  /* harmony export */ TemplateDetailFunctionality: () => (/* binding */ TemplateDetailFunctionality),
@@ -8577,11 +8946,6 @@ var ResourceDescriptorRole;
8577
8946
  ResourceDescriptorRole["SPECIFICATION"] = "specification";
8578
8947
  ResourceDescriptorRole["GUIDANCE"] = "guidance";
8579
8948
  })(ResourceDescriptorRole || (ResourceDescriptorRole = {}));
8580
- var ProfileType;
8581
- (function (ProfileType) {
8582
- ProfileType["DCAT"] = "dcat";
8583
- ProfileType["DATA"] = "data";
8584
- })(ProfileType || (ProfileType = {}));
8585
8949
  var ArtifactType;
8586
8950
  (function (ArtifactType) {
8587
8951
  ArtifactType["TEMPLATE"] = "template";
@@ -14951,34 +15315,35 @@ var __webpack_exports__ = {};
14951
15315
  \**********************/
14952
15316
  __webpack_require__.r(__webpack_exports__);
14953
15317
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14954
- /* harmony export */ ArtifactType: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.ArtifactType),
14955
- /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_7__.BASIC_TYPE_VALUES),
14956
- /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_7__.CONVERSION_VALUES),
14957
- /* harmony export */ Config: () => (/* reexport safe */ _core_auth__WEBPACK_IMPORTED_MODULE_4__["default"]),
15318
+ /* harmony export */ ArtifactType: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType),
15319
+ /* harmony export */ BASIC_TYPE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES),
15320
+ /* harmony export */ CONVERSION_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES),
15321
+ /* harmony export */ Config: () => (/* reexport safe */ _core_auth__WEBPACK_IMPORTED_MODULE_5__["default"]),
14958
15322
  /* harmony export */ DataService: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"]),
14959
15323
  /* harmony export */ Dataset: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"]),
14960
15324
  /* harmony export */ DatasetSeries: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"]),
14961
15325
  /* harmony export */ Distribution: () => (/* reexport safe */ _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"]),
14962
- /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_7__.MEASURE_VALUES),
14963
- /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_7__.ORIGIN_VALUES),
14964
- /* harmony export */ ProfileType: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.ProfileType),
14965
- /* harmony export */ ResourceDescriptorRole: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.ResourceDescriptorRole),
14966
- /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.SortOrder),
14967
- /* harmony export */ TemplateDetailFunctionality: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.TemplateDetailFunctionality),
14968
- /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.asID),
14969
- /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_6__.asIRI),
15326
+ /* harmony export */ MEASURE_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES),
15327
+ /* harmony export */ ORIGIN_VALUES: () => (/* reexport safe */ _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES),
15328
+ /* harmony export */ ResourceDescriptorRole: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole),
15329
+ /* harmony export */ SortOrder: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder),
15330
+ /* harmony export */ TemplateDetailFunctionality: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.TemplateDetailFunctionality),
15331
+ /* harmony export */ ValidationTemplate: () => (/* reexport safe */ _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"]),
15332
+ /* harmony export */ asID: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asID),
15333
+ /* harmony export */ asIRI: () => (/* reexport safe */ _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI),
14970
15334
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
14971
- /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_5__.setGovernanceBearerToken),
14972
- /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_5__.setLegacyDatahubBearerToken)
15335
+ /* harmony export */ setGovernanceBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken),
15336
+ /* harmony export */ setLegacyDatahubBearerToken: () => (/* reexport safe */ _core_init__WEBPACK_IMPORTED_MODULE_6__.setLegacyDatahubBearerToken)
14973
15337
  /* harmony export */ });
14974
15338
  /* 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");
14975
15339
  /* 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");
14976
15340
  /* 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");
14977
15341
  /* 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");
14978
- /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
14979
- /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
14980
- /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
14981
- /* harmony import */ var _core_values__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/values */ "./lib/core/values.ts");
15342
+ /* 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");
15343
+ /* harmony import */ var _core_auth__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./core/auth */ "./lib/core/auth.ts");
15344
+ /* harmony import */ var _core_init__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./core/init */ "./lib/core/init.ts");
15345
+ /* harmony import */ var _core_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./core/type */ "./lib/core/type.ts");
15346
+ /* harmony import */ var _core_values__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./core/values */ "./lib/core/values.ts");
14982
15347
  // Import named functions first
14983
15348
 
14984
15349
 
@@ -14988,26 +15353,29 @@ __webpack_require__.r(__webpack_exports__);
14988
15353
 
14989
15354
 
14990
15355
 
15356
+
14991
15357
  // ✅ Named exports (For ES module compatibility)
14992
15358
 
14993
15359
  // ✅ Default export (For CommonJS compatibility)
14994
15360
  const sdk = {
14995
- ArtifactType: _core_type__WEBPACK_IMPORTED_MODULE_6__.ArtifactType,
14996
- BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_7__.BASIC_TYPE_VALUES,
14997
- CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_7__.CONVERSION_VALUES,
15361
+ ArtifactType: _core_type__WEBPACK_IMPORTED_MODULE_7__.ArtifactType,
15362
+ BASIC_TYPE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.BASIC_TYPE_VALUES,
15363
+ CONVERSION_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.CONVERSION_VALUES,
15364
+ Config: _core_auth__WEBPACK_IMPORTED_MODULE_5__["default"],
14998
15365
  DataService: _SODAS_SDK_CLASS_DCAT_dataService__WEBPACK_IMPORTED_MODULE_0__["default"],
14999
15366
  Dataset: _SODAS_SDK_CLASS_DCAT_dataset__WEBPACK_IMPORTED_MODULE_1__["default"],
15000
15367
  DatasetSeries: _SODAS_SDK_CLASS_DCAT_datasetSeries__WEBPACK_IMPORTED_MODULE_2__["default"],
15001
15368
  Distribution: _SODAS_SDK_CLASS_DCAT_distribution__WEBPACK_IMPORTED_MODULE_3__["default"],
15002
- MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_7__.MEASURE_VALUES,
15003
- ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_7__.ORIGIN_VALUES,
15004
- ProfileType: _core_type__WEBPACK_IMPORTED_MODULE_6__.ProfileType,
15005
- ResourceDescriptorRole: _core_type__WEBPACK_IMPORTED_MODULE_6__.ResourceDescriptorRole,
15006
- SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_6__.SortOrder,
15007
- TemplateDetailFunctionality: _core_type__WEBPACK_IMPORTED_MODULE_6__.TemplateDetailFunctionality,
15008
- Config: _core_auth__WEBPACK_IMPORTED_MODULE_4__["default"],
15009
- setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_5__.setGovernanceBearerToken,
15010
- setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_5__.setLegacyDatahubBearerToken,
15369
+ MEASURE_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.MEASURE_VALUES,
15370
+ ORIGIN_VALUES: _core_values__WEBPACK_IMPORTED_MODULE_8__.ORIGIN_VALUES,
15371
+ ResourceDescriptorRole: _core_type__WEBPACK_IMPORTED_MODULE_7__.ResourceDescriptorRole,
15372
+ SortOrder: _core_type__WEBPACK_IMPORTED_MODULE_7__.SortOrder,
15373
+ TemplateDetailFunctionality: _core_type__WEBPACK_IMPORTED_MODULE_7__.TemplateDetailFunctionality,
15374
+ ValidationTemplate: _SODAS_SDK_CLASS_template_validation__WEBPACK_IMPORTED_MODULE_4__["default"],
15375
+ asID: _core_type__WEBPACK_IMPORTED_MODULE_7__.asID,
15376
+ asIRI: _core_type__WEBPACK_IMPORTED_MODULE_7__.asIRI,
15377
+ setGovernanceBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setGovernanceBearerToken,
15378
+ setLegacyDatahubBearerToken: _core_init__WEBPACK_IMPORTED_MODULE_6__.setLegacyDatahubBearerToken,
15011
15379
  };
15012
15380
  // ✅ Ensures `require("sodas-sdk")` works in CommonJS
15013
15381
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sdk);
@@ -15024,15 +15392,15 @@ var __webpack_exports__DatasetSeries = __webpack_exports__.DatasetSeries;
15024
15392
  var __webpack_exports__Distribution = __webpack_exports__.Distribution;
15025
15393
  var __webpack_exports__MEASURE_VALUES = __webpack_exports__.MEASURE_VALUES;
15026
15394
  var __webpack_exports__ORIGIN_VALUES = __webpack_exports__.ORIGIN_VALUES;
15027
- var __webpack_exports__ProfileType = __webpack_exports__.ProfileType;
15028
15395
  var __webpack_exports__ResourceDescriptorRole = __webpack_exports__.ResourceDescriptorRole;
15029
15396
  var __webpack_exports__SortOrder = __webpack_exports__.SortOrder;
15030
15397
  var __webpack_exports__TemplateDetailFunctionality = __webpack_exports__.TemplateDetailFunctionality;
15398
+ var __webpack_exports__ValidationTemplate = __webpack_exports__.ValidationTemplate;
15031
15399
  var __webpack_exports__asID = __webpack_exports__.asID;
15032
15400
  var __webpack_exports__asIRI = __webpack_exports__.asIRI;
15033
15401
  var __webpack_exports__default = __webpack_exports__["default"];
15034
15402
  var __webpack_exports__setGovernanceBearerToken = __webpack_exports__.setGovernanceBearerToken;
15035
15403
  var __webpack_exports__setLegacyDatahubBearerToken = __webpack_exports__.setLegacyDatahubBearerToken;
15036
- 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__ProfileType as ProfileType, __webpack_exports__ResourceDescriptorRole as ResourceDescriptorRole, __webpack_exports__SortOrder as SortOrder, __webpack_exports__TemplateDetailFunctionality as TemplateDetailFunctionality, __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 };
15404
+ 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 };
15037
15405
 
15038
15406
  //# sourceMappingURL=index.node.js.map