diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6aa2451e..cdf321ea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
All notable changes to this project will be documented in this file.
(Skipped major version 1, 2 and 3 to match versioning of IDS DataSpaceConnector, this way the major version of DSC, CM and UI indicates compatibility)
+## [7.1.0] - 2021-06-29
+
+### Added
+- Show route error list on page "Data Offering > Routes"
+
## [7.0.1] - 2021-06-17
### Fixes
diff --git a/package.json b/package.json
index e62b89f4..bff3c604 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "ids-configmanager-ui",
- "version": "7.0.1",
+ "version": "7.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve --open --port 8082",
diff --git a/src/pages/dataoffering/routes/RoutesPage.css b/src/pages/dataoffering/routes/RoutesPage.css
index 818b3ba2..209f3d7d 100644
--- a/src/pages/dataoffering/routes/RoutesPage.css
+++ b/src/pages/dataoffering/routes/RoutesPage.css
@@ -21,3 +21,8 @@
display: flex;
justify-content: center;
}
+
+.route-errors-title {
+ font-weight: bold;
+ margin-top: 15px;
+}
\ No newline at end of file
diff --git a/src/pages/dataoffering/routes/RoutesPage.html b/src/pages/dataoffering/routes/RoutesPage.html
index 45092e73..5627d39f 100644
--- a/src/pages/dataoffering/routes/RoutesPage.html
+++ b/src/pages/dataoffering/routes/RoutesPage.html
@@ -30,6 +30,18 @@
+
+
+ Route errors:
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/dataoffering/routes/RoutesPage.js b/src/pages/dataoffering/routes/RoutesPage.js
index a6471875..98f4a491 100644
--- a/src/pages/dataoffering/routes/RoutesPage.js
+++ b/src/pages/dataoffering/routes/RoutesPage.js
@@ -20,9 +20,25 @@ export default {
sortable: false,
align: 'right'
}],
+ errorHeaders: [{
+ text: 'Time',
+ value: 'timestamp',
+ width: 135
+ }, {
+ text: 'Route ID',
+ value: 'routeId',
+ }, {
+ text: 'Error',
+ value: 'message'
+ }, {
+ text: 'Endpoint',
+ value: 'endpoint'
+ }],
sortBy: 'description',
+ errorSortBy: 'timestamp',
sortDesc: true,
- routes: []
+ routes: [],
+ routeErrors: []
};
},
mounted: function () {
@@ -31,6 +47,7 @@ export default {
methods: {
async getRoutes() {
this.$root.$emit('showBusyIndicator', true);
+ await this.getRouteErrors();
let response = await dataUtils.getRoutes();
if (response.name !== undefined && response.name == "Error") {
this.$root.$emit('error', "Get routes failed.");
@@ -45,6 +62,18 @@ export default {
this.$root.$emit('showBusyIndicator', false);
}
},
+ async getRouteErrors() {
+ let response = await dataUtils.getRouteErrors();
+ if (response.name !== undefined && response.name == "Error") {
+ this.$root.$emit('error', "Get route errors failed.");
+ } else {
+ let routeErrors = response.reverse();
+ for (let routeError of routeErrors) {
+ routeError.timestamp = routeError.timestamp.substring(0, 19).replace("T", " ");
+ }
+ this.$data.routeErrors = routeErrors;
+ }
+ },
deleteItem(item) {
this.$refs.confirmationDialog.title = "Delete Route";
this.$refs.confirmationDialog.text = "Are you sure you want to delete the route '" + item.description + "'?";
diff --git a/src/utils/dataUtils.js b/src/utils/dataUtils.js
index 3e576e9f..07397aa9 100644
--- a/src/utils/dataUtils.js
+++ b/src/utils/dataUtils.js
@@ -734,6 +734,17 @@ export default {
});
},
+ getRouteErrors() {
+ return new Promise(function (resolve) {
+ restUtils.call("GET", "/api/ui/route/error").then(response => {
+ resolve(response.data);
+ }).catch(error => {
+ console.log("Error in getRouteErrors(): ", error);
+ resolve(error);
+ });
+ });
+ },
+
createNewRoute(description) {
return new Promise(function (resolve) {
let params = {