diff --git a/data.mv.db b/data.mv.db deleted file mode 100644 index 51d3651..0000000 Binary files a/data.mv.db and /dev/null differ diff --git a/front/src/App.jsx b/front/src/App.jsx index 52d850d..d268fe7 100644 --- a/front/src/App.jsx +++ b/front/src/App.jsx @@ -24,8 +24,6 @@ export default function App() { { path: 'catalog', label: "Catalog", userGroup: "AUTH" }, { path: 'readerAction', label: "ReaderAction", userGroup: "USER" }, { path: 'creatorAction', label: "CreatorAction", userGroup: "ADMIN" }, - { path: 'creator', label: "Creator", userGroup: "ADMIN" }, - { path: 'reader', label: "Reader", userGroup: "ADMIN" }, { path: 'users', label: "Users", userGroup: "ADMIN" } ]; return ( diff --git a/front/src/components/Header.jsx b/front/src/components/Header.jsx index 95e9355..17d3278 100644 --- a/front/src/components/Header.jsx +++ b/front/src/components/Header.jsx @@ -2,7 +2,38 @@ import {NavLink, useNavigate} from 'react-router-dom'; import {useEffect, useState} from "react"; export default function Header(props) { + const navigate = useNavigate(); + + useEffect(() => { + window.addEventListener("storage", () => { + let token = localStorage.getItem("token"); + if (token) { + getRole(token).then((role) => { + if (localStorage.getItem("role") != role) { + localStorage.removeItem("token"); + localStorage.removeItem("user"); + localStorage.removeItem("role"); + window.dispatchEvent(new Event("storage")); + navigate("/catalog"); + } + }); + } + }); + }, []) + + const getRole = async function (token) { + const requestParams = { + method: "GET", + headers: { + "Content-Type": "application/json" + } + }; + const requestUrl = `http://localhost:8080/who_am_i?token=${token}`; + const response = await fetch(requestUrl, requestParams); + return await response.text(); + } + const logoutButtonOnClick = function () { localStorage.removeItem("token"); localStorage.removeItem("user"); diff --git a/front/src/components/List/ReaderList.jsx b/front/src/components/List/ReaderList.jsx index dd59012..5fea74d 100644 --- a/front/src/components/List/ReaderList.jsx +++ b/front/src/components/List/ReaderList.jsx @@ -10,10 +10,8 @@ export default function ReaderList(props) { props.readers?.map((reader) =>