diff --git a/code/backend/src/config/allowEndPoints.ts b/code/backend/src/config/allowEndPoints.ts index 75a1bdbf..cdc6daf5 100644 --- a/code/backend/src/config/allowEndPoints.ts +++ b/code/backend/src/config/allowEndPoints.ts @@ -10,4 +10,10 @@ const excludedRoutes = [ // Add more entries as needed ]; -export default excludedRoutes; +const excludedRoutesStartWith = [ + { method: "GET", path: "/team/exists/teamId" }, + { method: "GET", path: "/manager/exists/email" }, + // Add more entries as needed +]; + +export { excludedRoutes, excludedRoutesStartWith }; diff --git a/code/backend/src/controllers/manager.controller.ts b/code/backend/src/controllers/manager.controller.ts index 803cbbd1..00f2176c 100644 --- a/code/backend/src/controllers/manager.controller.ts +++ b/code/backend/src/controllers/manager.controller.ts @@ -62,6 +62,24 @@ class ManagerController { throw error; } } + async checkManagerExistsInTeam( + email: string, + teamId: string + ): Promise { + try { + // const email = req.params.email; + // Call the function in service + const managerExists = await managerService.checkManagerExistsInTeam( + email, + teamId + ); + // res.status(200).json(managerExists); + return managerExists; + } catch (error) { + console.error(error); + throw error; + } + } async addNewManager( managerEmail: string, @@ -82,7 +100,7 @@ class ManagerController { // Generate an invitation token const invitationToken = generateInvitationToken(); - // await createManagerTeam(newManagerEmail, teamId); + // await addManagerToTeam(newManagerEmail, teamId); // Create the manager and set the invitation token // const newManager: Manager = { @@ -92,7 +110,7 @@ class ManagerController { // }; const createdManagerResponse = - await managersInTeamService.createManagerTeam(newManagerEmail, teamId); + await managersInTeamService.addManagerToTeam(newManagerEmail, teamId); const teamInstance = await TeamModel.findOne({ teamId }); const teamName = teamInstance?.teamName; // Add null check using optional chaining operator @@ -100,7 +118,7 @@ class ManagerController { await sendInvitationEmail(newManagerEmail, invitationToken, teamName!); // Add the new manager to the team - const managerTeamAdded = await managersInTeamService.createManagerTeam( + const managerTeamAdded = await managersInTeamService.addManagerToTeam( newManagerEmail, teamId ); diff --git a/code/backend/src/controllers/player.controller.ts b/code/backend/src/controllers/player.controller.ts index 2768e6a6..67e28e90 100644 --- a/code/backend/src/controllers/player.controller.ts +++ b/code/backend/src/controllers/player.controller.ts @@ -21,7 +21,7 @@ class PlayerController { throw new Error(HttpMsg.MANAGER_DEOS_NOT_EXIST); } - await playersInTeamService.createPlayerTeam(newManagerEmail, teamId); + await playersInTeamService.addPlayerToTeam(newManagerEmail, teamId); return true; } catch (error) { diff --git a/code/backend/src/middleware/auth.middleware.ts b/code/backend/src/middleware/auth.middleware.ts index e1ed635a..be3b29c9 100644 --- a/code/backend/src/middleware/auth.middleware.ts +++ b/code/backend/src/middleware/auth.middleware.ts @@ -1,6 +1,9 @@ import { verifyRefreshToken, verifyAccessToken } from "../utils/jwt.token"; import { Request, Response, NextFunction } from "express"; -import excludedRoutes from "../config/allowEndPoints"; +import { + excludedRoutes, + excludedRoutesStartWith, +} from "../config/allowEndPoints"; import ROLES from "../config/roles"; import playerController from "../controllers/player.controller"; import teamController from "../controllers/team.controller"; @@ -31,8 +34,9 @@ export async function accessTokenMiddleware( next: NextFunction ) { if ( - req.path.startsWith("/team/exists/teamId") || - req.path.startsWith("/manager/exists/email") + excludedRoutesStartWith.some((route) => { + return req.path.startsWith(route.path) && req.method === route.method; + }) ) { // Skip token verification for specified routes return next(); diff --git a/code/backend/src/routes/manager.route.ts b/code/backend/src/routes/manager.route.ts index 9cd550a0..83cce032 100644 --- a/code/backend/src/routes/manager.route.ts +++ b/code/backend/src/routes/manager.route.ts @@ -127,7 +127,10 @@ router.post("/", async (req: Request, res: Response) => { } // Check if a manager with the given email exists - const exists: boolean = await managerController.checkManagerExists(email); + const exists: boolean = await managerController.checkManagerExistsInTeam( + email, + teamId + ); if (exists) { console.log(HttpMsg.MANAGER_EXISTS); diff --git a/code/backend/src/routes/team.route.ts b/code/backend/src/routes/team.route.ts index d573141b..eafcc810 100644 --- a/code/backend/src/routes/team.route.ts +++ b/code/backend/src/routes/team.route.ts @@ -211,7 +211,10 @@ router.post("/manager", async (req, res) => { res.send(teamManagerResponse); } catch (err) { // Check if a manager with the given email exists - const exists: boolean = await managerController.checkManagerExists(email); + const exists: boolean = await managerController.checkManagerExistsInTeam( + email, + teamId + ); if (exists) { await managerController.deleteManager(email, teamId); diff --git a/code/backend/src/services/managers.in.team.service.ts b/code/backend/src/services/managers.in.team.service.ts index bb525f9e..8cd82391 100644 --- a/code/backend/src/services/managers.in.team.service.ts +++ b/code/backend/src/services/managers.in.team.service.ts @@ -2,7 +2,7 @@ import ManagerTeamModel from "../db/managers.in.team.schema"; class ManagersInTeamService { // create team manager instance - async createManagerTeam( + async addManagerToTeam( managerEmail: string, teamId: string ): Promise { diff --git a/code/backend/src/services/players.in.team.service.ts b/code/backend/src/services/players.in.team.service.ts index 98637c32..e8f70c1b 100644 --- a/code/backend/src/services/players.in.team.service.ts +++ b/code/backend/src/services/players.in.team.service.ts @@ -2,7 +2,7 @@ import PlayerTeamModel from "../db/players.in.team.schema"; class PlayerInTeamService { // create team manager instance - async createPlayerTeam( + async addPlayerToTeam( managerEmail: string, teamId: string ): Promise { diff --git a/code/backend/src/services/team.service.ts b/code/backend/src/services/team.service.ts index 03a017f4..86c5c481 100644 --- a/code/backend/src/services/team.service.ts +++ b/code/backend/src/services/team.service.ts @@ -7,6 +7,7 @@ import { Team; import TeamModel from "../db/team.schema"; import ManagerTeamModel from "../db/managers.in.team.schema"; +import managersInTeamService from "./managers.in.team.service"; class TeamService { // delete team @@ -38,13 +39,10 @@ class TeamService { // Save the manager to the database const savedTeam = await teamInstance.save(); - const managerTeamInstance = new ManagerTeamModel({ - managerEmail: team.teamManager, - teamId: team.teamId, - }); - - // Save the manager to the database - const savedManager = await managerTeamInstance.save(); + await managersInTeamService.addManagerToTeam( + team.teamManager, + team.teamId + ); // Create a TeamResponse object const teamResponse = new TeamResponse({ diff --git a/code/client/impax/src/services/mqttClient.ts b/code/client/impax/src/services/mqttClient.ts index 8e170a5b..d55b22a9 100644 --- a/code/client/impax/src/services/mqttClient.ts +++ b/code/client/impax/src/services/mqttClient.ts @@ -16,7 +16,7 @@ class MqttClient { private topics: string[]; private constructor() { - this.client = mqtt.connect("ws://192.168.8.151:8080/", { + this.client = mqtt.connect("ws://192.168.4.1:8080/", { clientId: `impax-dashboard-${Date.now()}`, reconnectPeriod: 2000, keepalive: 60, diff --git a/code/hub-firmware/access-point/access-point-create.txt b/code/hub-firmware/access-point-config/access-point-create.txt similarity index 96% rename from code/hub-firmware/access-point/access-point-create.txt rename to code/hub-firmware/access-point-config/access-point-create.txt index f9f5706a..2e901b53 100644 --- a/code/hub-firmware/access-point/access-point-create.txt +++ b/code/hub-firmware/access-point-config/access-point-create.txt @@ -28,7 +28,7 @@ ssid=impax channel=9 auth_algs=1 wpa=2 -wpa_passphrase=impax12345 +wpa_passphrase=impax12345678 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP rsn_pairwise=CCMP diff --git a/code/hub-firmware/access-point/access-point-disable.txt b/code/hub-firmware/access-point-config/access-point-disable.txt similarity index 100% rename from code/hub-firmware/access-point/access-point-disable.txt rename to code/hub-firmware/access-point-config/access-point-disable.txt diff --git a/code/hub-firmware/access-point/access-point-enable.txt b/code/hub-firmware/access-point-config/access-point-enable.txt similarity index 100% rename from code/hub-firmware/access-point/access-point-enable.txt rename to code/hub-firmware/access-point-config/access-point-enable.txt diff --git a/code/hub-firmware/access-point/comment b/code/hub-firmware/access-point-config/comment similarity index 100% rename from code/hub-firmware/access-point/comment rename to code/hub-firmware/access-point-config/comment diff --git a/code/hub-firmware/access-point/create.sh b/code/hub-firmware/access-point-config/create.sh similarity index 100% rename from code/hub-firmware/access-point/create.sh rename to code/hub-firmware/access-point-config/create.sh diff --git a/code/hub-firmware/access-point/disable.sh b/code/hub-firmware/access-point-config/disable.sh similarity index 100% rename from code/hub-firmware/access-point/disable.sh rename to code/hub-firmware/access-point-config/disable.sh diff --git a/code/hub-firmware/access-point/enable.sh b/code/hub-firmware/access-point-config/enable.sh similarity index 100% rename from code/hub-firmware/access-point/enable.sh rename to code/hub-firmware/access-point-config/enable.sh diff --git a/code/hub-firmware/access-point/uncomment b/code/hub-firmware/access-point-config/uncomment similarity index 100% rename from code/hub-firmware/access-point/uncomment rename to code/hub-firmware/access-point-config/uncomment diff --git a/code/hub-firmware/mqtt-broker/hub_mqtt_client.py b/code/hub-firmware/hub-client/hub_mqtt_client.py similarity index 100% rename from code/hub-firmware/mqtt-broker/hub_mqtt_client.py rename to code/hub-firmware/hub-client/hub_mqtt_client.py diff --git a/code/hub-firmware/mqtt-broker/ca_authentication.txt b/code/hub-firmware/mqtt-broker-config/ca_authentication.txt similarity index 100% rename from code/hub-firmware/mqtt-broker/ca_authentication.txt rename to code/hub-firmware/mqtt-broker-config/ca_authentication.txt diff --git a/code/hub-firmware/mqtt-broker/hub-firmware.txt b/code/hub-firmware/mqtt-broker-config/hub-firmware.txt similarity index 100% rename from code/hub-firmware/mqtt-broker/hub-firmware.txt rename to code/hub-firmware/mqtt-broker-config/hub-firmware.txt diff --git a/code/hub-firmware/mqtt-broker/hubService.service b/code/hub-firmware/mqtt-broker-config/hubService.service similarity index 100% rename from code/hub-firmware/mqtt-broker/hubService.service rename to code/hub-firmware/mqtt-broker-config/hubService.service diff --git a/code/hub-firmware/mqtt-broker/service.txt b/code/hub-firmware/mqtt-broker-config/service.txt similarity index 70% rename from code/hub-firmware/mqtt-broker/service.txt rename to code/hub-firmware/mqtt-broker-config/service.txt index c44665d9..a1fcb4fd 100644 --- a/code/hub-firmware/mqtt-broker/service.txt +++ b/code/hub-firmware/mqtt-broker-config/service.txt @@ -7,7 +7,5 @@ sudo systemctl status hubService sudo systemctl restart hubService -/etc/systemd/system/ - -/root/impax/e19-3yp-impact-tracker/code/backend +sudo nano /etc/systemd/system/hubService.service