diff --git a/client/src/api/index.js b/client/src/api/index.js
index adcc60e3..2f2dc705 100644
--- a/client/src/api/index.js
+++ b/client/src/api/index.js
@@ -211,8 +211,12 @@ export function validate(type, value) {
}
//System
-export function cron() {
- return fetchJson("/api/v1/system/cron")
+export function cronCleanup() {
+ return fetchJson("/api/v1/system/cron/cleanup")
+}
+
+export function expiryUserRoles() {
+ return fetchJson("/api/v1/system/expiry-user-roles")
}
export function rolesUnknownInManage() {
diff --git a/client/src/locale/en.js b/client/src/locale/en.js
index e16873f2..8c0e85ce 100644
--- a/client/src/locale/en.js
+++ b/client/src/locale/en.js
@@ -49,7 +49,8 @@ const en = {
cron: "Cron",
invite: "Invite",
tokens: "API tokens",
- unknownRoles: "Missing applications"
+ unknownRoles: "Missing applications",
+ expiredUserRoles: "User role expirations"
},
home: {
access: "SURFconext Invite",
@@ -434,6 +435,11 @@ const en = {
title: "Roles linked to applications unknown in Manage",
searchPlaceHolder: "Search...",
noRoles: "Yeah, no unknown manage applications"
+ },
+ expiredUserRoles: {
+ title: "Roles to be expired the next month",
+ searchPlaceHolder: "Zoek...",
+ noResults: "Yeah, no user-roles to be expired within one month"
}
}
diff --git a/client/src/locale/nl.js b/client/src/locale/nl.js
index 3e055a6b..5ec16e06 100644
--- a/client/src/locale/nl.js
+++ b/client/src/locale/nl.js
@@ -49,7 +49,8 @@ const nl = {
cron: "Cron",
invite: "Uitnodiging",
tokens: "API-tokens",
- unknownRoles: "Missing applications"
+ unknownRoles: "Missing applications",
+ expiredUserRoles: "User role expirations"
},
home: {
access: "SURFconext Invite",
@@ -434,6 +435,11 @@ const nl = {
title: "Rollen gekoppeld aan applicaties die verwijderd zijn in Manage",
searchPlaceHolder: "Zoek...",
noRoles: "Yeah, no unknown manage applications"
+ },
+ expiredUserRoles: {
+ title: "Roles to be expired the next month",
+ searchPlaceHolder: "Zoek...",
+ noRoles: "Yeah, no user-roles to be expired within one month"
}
}
diff --git a/client/src/pages/System.js b/client/src/pages/System.js
index 97552afd..48ce9a4c 100644
--- a/client/src/pages/System.js
+++ b/client/src/pages/System.js
@@ -12,6 +12,7 @@ import {Cron} from "../tabs/Cron";
import {RolesUnknownInManage} from "../tabs/RolesUnknownInManage";
import {Invitations} from "../tabs/Invitations";
import {ReactComponent as InvitationLogo} from "@surfnet/sds/icons/functional-icons/id-1.svg";
+import {ExpiredUserRoles} from "../tabs/ExpiredUserRoles";
export const System = () => {
@@ -47,6 +48,12 @@ export const System = () => {
label={I18n.t("tabs.unknownRoles")}
Icon={RoleLogo}>
+ ,
+
+
];
diff --git a/client/src/tabs/Cron.js b/client/src/tabs/Cron.js
index af290c1a..df91de60 100644
--- a/client/src/tabs/Cron.js
+++ b/client/src/tabs/Cron.js
@@ -3,7 +3,7 @@ import I18n from "../locale/I18n";
import "./Cron.scss";
import {Button} from "@surfnet/sds";
import "./Users.scss";
-import {cron} from "../api";
+import {cronCleanup} from "../api";
import {isEmpty} from "../utils/Utils";
import {allExpanded, defaultStyles, JsonView} from 'react-json-view-lite';
import 'react-json-view-lite/dist/index.css';
@@ -16,7 +16,7 @@ export const Cron = () => {
{I18n.t("system.cronInfo")}
- {isEmpty(results) &&