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) =>
-
- Имя пользователя: {reader.readerName} - +
+ Имя пользователя: {reader.login}
diff --git a/front/src/components/PrivateRoutes.jsx b/front/src/components/PrivateRoutes.jsx index e89fcee..8c68d7f 100644 --- a/front/src/components/PrivateRoutes.jsx +++ b/front/src/components/PrivateRoutes.jsx @@ -3,36 +3,7 @@ import {useEffect} from "react"; const PrivateRoutes = (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(); - } let isAllowed = false; let userRole = localStorage.getItem("role"); diff --git a/src/main/java/com/LabWork/app/MangaStore/model/Dto/UserDto.java b/src/main/java/com/LabWork/app/MangaStore/model/Dto/UserDto.java index 0ca5c12..0f9b8f2 100644 --- a/src/main/java/com/LabWork/app/MangaStore/model/Dto/UserDto.java +++ b/src/main/java/com/LabWork/app/MangaStore/model/Dto/UserDto.java @@ -23,8 +23,6 @@ public class UserDto { this.email = user.getEmail(); this.password = user.getPassword(); this.role = user.getRole(); - this.creatortId = user.getCreator().getId(); - this.readerId = user.getReader().getId(); } public void setId(Long id) {