Skip to content

Commit

Permalink
Merge pull request #23 from SalamanderHP/jol51.sidebar_authorization
Browse files Browse the repository at this point in the history
JOL51: Sidebar authorization
  • Loading branch information
SalamanderHP committed Feb 22, 2022
2 parents ac1fe4e + 990ec2d commit fe9ff49
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 39 deletions.
77 changes: 44 additions & 33 deletions client/src/components/Sidebar/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ import {MdDocumentScanner} from "react-icons/md";
import {NavLink} from "react-router-dom";
import {globalState} from "../../features/global/globalSlice";
import {useSelector} from "react-redux";
import { authorizationState } from '../../features/authorization/authorizationSlice';

function Sidebar() {
const {currentUser} = useSelector(globalState);
const { currentUser } = useSelector(globalState);
const { userRole } = useSelector(authorizationState);

return (
<>
<div className="sidebar__wrapper">
Expand Down Expand Up @@ -43,40 +46,48 @@ function Sidebar() {
<AiFillSafetyCertificate className="sidebar__icon" />
</NavLink>
{/* Doctor icons */}
<NavLink
to="/medical-records"
className={(isActive) =>
"sidebar__item" + (isActive ? " active-item" : "")
}
>
<IoDocumentsSharp className="sidebar__icon" />
</NavLink>
<NavLink
to="/vaccination-certificates"
className={(isActive) =>
"sidebar__item" + (isActive ? " active-item" : "")
}
>
<AiFillSafetyCertificate className="sidebar__icon" />
</NavLink>
{userRole.includes(process.env.REACT_APP_ROLE_DOCTOR) &&
<NavLink
to="/medical-records"
className={(isActive) =>
"sidebar__item" + (isActive ? " active-item" : "")
}
>
<IoDocumentsSharp className="sidebar__icon" />
</NavLink>
}
{userRole.includes(process.env.REACT_APP_ROLE_DOCTOR) &&
<NavLink
to="/vaccination-certificates"
className={(isActive) =>
"sidebar__item" + (isActive ? " active-item" : "")
}
>
<AiFillSafetyCertificate className="sidebar__icon" />
</NavLink>
}
{/* Manager icons */}
<NavLink
to="/doctors"
className={(isActive) =>
"sidebar__item" + (isActive ? " active-item" : "")
}
>
<BsPeopleFill className="sidebar__icon" />
</NavLink>
{userRole.includes(process.env.REACT_APP_ROLE_MANAGER) &&
<NavLink
to="/doctors"
className={(isActive) =>
"sidebar__item" + (isActive ? " active-item" : "")
}
>
<BsPeopleFill className="sidebar__icon" />
</NavLink>
}
{/* Admin icons */}
<NavLink
to="/managers"
className={(isActive) =>
"sidebar__item" + (isActive ? " active-item" : "")
}
>
<BsFillPersonPlusFill className="sidebar__icon" />
</NavLink>
{userRole.includes(process.env.REACT_APP_ROLE_ADMIN) &&
<NavLink
to="/managers"
className={(isActive) =>
"sidebar__item" + (isActive ? " active-item" : "")
}
>
<BsFillPersonPlusFill className="sidebar__icon" />
</NavLink>
}
</div>
<div className="sidebar-bottom">
<NavLink
Expand Down
8 changes: 4 additions & 4 deletions client/src/features/authorization/authorizationSlice.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,16 @@ export const authorizationSlice = createSlice({
alert(action.error.message);
})
.addCase(getCurrentUserRole.fulfilled, (state, action) => {
if(action.payload[0] === '1') {
if(action.payload[0] === '1' && !state.userRole.includes(process.env.REACT_APP_ROLE_PATIENT)) {
state.userRole.push(process.env.REACT_APP_ROLE_PATIENT);
}
if(action.payload[1] === '1') {
if(action.payload[1] === '1' && !state.userRole.includes(process.env.REACT_APP_ROLE_DOCTOR)) {
state.userRole.push(process.env.REACT_APP_ROLE_DOCTOR);
}
if(action.payload[2] === '1') {
if(action.payload[2] === '1' && !state.userRole.includes(process.env.REACT_APP_ROLE_MANAGER)) {
state.userRole.push(process.env.REACT_APP_ROLE_MANAGER);
}
if(action.payload[3] === '1') {
if(action.payload[3] === '1' && !state.userRole.includes(process.env.REACT_APP_ROLE_ADMIN)) {
state.userRole.push(process.env.REACT_APP_ROLE_ADMIN);
}
console.log(`Current user role: ${state.userRole}`);
Expand Down
2 changes: 1 addition & 1 deletion client/src/pages/HomePage/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ function HomePage() {
</section>
<section className="home__section post__section">
<div className="background-image">
<img src="covid19-iniciativas-innovacion-social.jpg" alt="" />
<img src="/covid19-iniciativas-innovacion-social.jpg" alt="" />
</div>
<div className="background-cover">
<div className="post-header">Post title: Research of Covid19 variant</div>
Expand Down
2 changes: 1 addition & 1 deletion server/app/controllers/AuthenticationController.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class AuthenticationController {
return res.status(200).json(req.account);
}

async refreshToken(req, res) {
async refreshToken(req, res, next) {
const refreshToken = req.body.refreshToken;
const accessToken = await authenticationServices.refreshTokenHandle(
refreshToken
Expand Down

0 comments on commit fe9ff49

Please sign in to comment.