Skip to content

Commit 9da6f3c

Browse files
authored
Merge pull request #21 from ungdev/dev
Fix : routing and permission check
2 parents 9804367 + b861228 commit 9da6f3c

File tree

8 files changed

+22
-13
lines changed

8 files changed

+22
-13
lines changed

backend/src/routes/faction.routes.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,8 @@ factionRouter.get("/admin/faction",checkRole("Admin") ,factionController.getFact
1111
factionRouter.post("/admin/createfaction",checkRole("Admin") ,factionController.createFaction);
1212
factionRouter.delete("/admin/deletefaction",checkRole("Admin") ,factionController.deleteFaction);
1313

14+
//Student Routes
15+
factionRouter.get("/user/factions",factionController.getFactions);
16+
1417

1518
export default factionRouter;

backend/src/routes/permanences.routes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ permanenceRouter.get("/admin/permanences", checkRole("Admin"), permanenceControl
1616
permanenceRouter.get("/admin/users", checkRole("Admin"), permanenceController.getUsersInPermanence);
1717
permanenceRouter.post("/admin/add", checkRole("Admin"), permanenceController.addUserToPermanence);
1818
permanenceRouter.post("/admin/remove", checkRole("Admin"), permanenceController.removeUserToPermanence);
19-
permanenceRouter.post("/admin/importpermanences", upload.single("file"), permanenceController.uploadPermanencesCSV);
19+
permanenceRouter.post("/admin/importpermanences",checkRole("Admin"), upload.single("file"), permanenceController.uploadPermanencesCSV);
2020

2121

2222
// Student routes

frontend/src/components/Admin/adminChallenge.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
import { Challenge } from "../../interfaces/challenge.interface";
1616
import Select from "react-select";
1717
import { getAllTeams } from "../../services/requests/team.service";
18-
import { getAllFactions } from "../../services/requests/faction.service";
18+
import { getAllFactionsAdmin } from "../../services/requests/faction.service";
1919
import { getUsers } from "../../services/requests/user.service";
2020
import { Team } from "../../interfaces/team.interface";
2121
import { Faction } from "../../interfaces/faction.interface";
@@ -69,7 +69,7 @@ export const AdminChallengeForm = () => {
6969
try {
7070
const [teamRes, factionRes, userRes] = await Promise.all([
7171
getAllTeams(),
72-
getAllFactions(),
72+
getAllFactionsAdmin(),
7373
getUsers(),
7474
]);
7575
setTeams(teamRes);
@@ -310,7 +310,7 @@ export const AdminChallengeAddPointsForm = () => {
310310
useEffect(() => {
311311
const fetchFactions = async () => {
312312
try {
313-
const response = await getAllFactions();
313+
const response = await getAllFactionsAdmin();
314314
setFactions(response);
315315
} catch (error) {
316316
console.error("Erreur lors de la récupération des factions", error);

frontend/src/components/Admin/adminFaction.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useEffect, useState } from "react";
22
import { Button } from "../ui/button";
33
import { Input } from "../ui/input";
44
import { Card } from "../ui/card";
5-
import { getAllFactions, createFaction, deleteFaction } from "../../services/requests/faction.service";
5+
import { getAllFactionsAdmin, createFaction, deleteFaction } from "../../services/requests/faction.service";
66
import { Faction } from "../../interfaces/faction.interface";
77

88
export const AdminFactionManagement = () => {
@@ -15,7 +15,7 @@ export const AdminFactionManagement = () => {
1515

1616
const fetchFactions = async () => {
1717
try {
18-
const factionList = await getAllFactions();
18+
const factionList = await getAllFactionsAdmin();
1919
setFactions(factionList);
2020
} catch (err) {
2121
console.error("Erreur lors du chargement des factions", err);

frontend/src/components/Admin/adminTeam.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
teamDistribution,
1414
getTeamFaction,
1515
} from "../../services/requests/team.service";
16-
import { getAllFactions } from "../../services/requests/faction.service";
16+
import { getAllFactionsAdmin } from "../../services/requests/faction.service";
1717
import { getUsers } from "../../services/requests/user.service";
1818
import { Team } from "../../interfaces/team.interface";
1919
import { Faction } from "../../interfaces/faction.interface";
@@ -66,7 +66,7 @@ export const AdminTeamManagement = () => {
6666
try {
6767
const [teamRes, factionRes, usersRes] = await Promise.all([
6868
getAllTeams(),
69-
getAllFactions(),
69+
getAllFactionsAdmin(),
7070
getUsers(),
7171
]);
7272
setTeams(teamRes);

frontend/src/components/challenge/challengeList.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useEffect, useState, useMemo } from "react";
22
import { Card } from "../ui/card";
33
import { getAllChallenges, getFactionsPoints } from "../../services/requests/challenge.service";
44
import { Challenge } from "../../interfaces/challenge.interface";
5-
import { getAllFactions } from "../../services/requests/faction.service";
5+
import { getAllFactionsUser } from "../../services/requests/faction.service";
66
import { Faction } from "../../interfaces/faction.interface";
77

88
export const ChallengeList = () => {
@@ -32,7 +32,7 @@ export const ChallengeList = () => {
3232

3333
const fetchFactions = async () => {
3434
try {
35-
const data = await getAllFactions();
35+
const data = await getAllFactionsUser();
3636
setFactions(data);
3737
} catch (err) {
3838
console.error("Erreur lors du chargement des factions", err);
@@ -42,7 +42,7 @@ export const ChallengeList = () => {
4242
const fetchFactionPoints = async () => {
4343
try {
4444
const points: { [key: number]: number } = {};
45-
const fetchedFactions = await getAllFactions();
45+
const fetchedFactions = await getAllFactionsUser();
4646
await Promise.all(
4747
fetchedFactions.map(async (faction : Faction) => {
4848
const res = await getFactionsPoints(faction.factionId);

frontend/src/components/utils/privateroute.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const PrivateRoute: React.FC<PrivateRouteProps> = ({ permissionRequired, childre
1616
return <Navigate to="/" />;
1717
}
1818

19-
if (permissionRequired && !isAdmin()) {
19+
if (!permissionRequired && !isAdmin()) {
2020
return <Navigate to="/" />;
2121
}
2222

frontend/src/services/requests/faction.service.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
import api from '../api';
22

3-
export const getAllFactions = async () => {
3+
export const getAllFactionsAdmin = async () => {
44
const res = await api.get("faction/admin/factions");
55

66
return res.data.data;
77
};
88

9+
export const getAllFactionsUser = async () => {
10+
const res = await api.get("faction/user/factions");
11+
12+
return res.data.data;
13+
};
14+
915
export const createFaction = async (factionName : string) => {
1016
const res = await api.post("faction/admin/createfaction", {factionName});
1117

0 commit comments

Comments
 (0)