diff --git a/api/src/routes/members.js b/api/src/routes/members.js index 9424c65..c93f249 100644 --- a/api/src/routes/members.js +++ b/api/src/routes/members.js @@ -2,6 +2,7 @@ const express = require('express'); const router = express.Router(); import pool from '../db'; +import { getUserData } from '../services/memberService'; import { getUserRoles } from '../services/rolesService'; router.use((req, res, next) => { @@ -34,30 +35,25 @@ router.get('/', async (req, res) => { }); router.get('/me', async (req, res) => { - console.log(req.user); if (req.user === undefined) return res.sendStatus(401) try { + const { id, name, state } = await getUserData(req.user.id); const LOAData = await pool.query( `SELECT * FROM leave_of_absences WHERE member_id = ? AND deleted = 0 AND UTC_TIMESTAMP() BETWEEN start_date AND end_date;`, req.user.id); - - const roleData = await getUserRoles(req.user.id); - - const userDataFull = { - ...req.user, - loa: LOAData, - roles: roleData - }; - console.log(userDataFull); + const roleData = await getUserRoles(req.user.id); + + const userDataFull = { id, name, state, LOAData, roleData }; + console.log(userDataFull) res.status(200).json(userDataFull); } catch (error) { - console.error('Error fetching LOA data:', error); + console.error('Error fetching user data:', error); return res.status(500).json({ error: 'Failed to fetch user data' }); } }) diff --git a/api/src/routes/ranks.js b/api/src/routes/ranks.js index e69a73f..63b1694 100644 --- a/api/src/routes/ranks.js +++ b/api/src/routes/ranks.js @@ -7,7 +7,6 @@ const { getAllRanks, insertMemberRank } = require('../services/rankService') ur.post('/', async (req, res) => {3 try { const change = req.body?.change; - console.log(change); await insertMemberRank(change); res.sendStatus(201); @@ -21,7 +20,6 @@ ur.post('/', async (req, res) => {3 r.get('/', async (req, res) => { try { const ranks = await getAllRanks(); - console.log(ranks); res.json(ranks); } catch (err) { console.error(err); diff --git a/api/src/services/memberService.ts b/api/src/services/memberService.ts new file mode 100644 index 0000000..8e0b6ac --- /dev/null +++ b/api/src/services/memberService.ts @@ -0,0 +1,8 @@ +import pool from "../db"; + +export async function getUserData(userID: number) { + const sql = `SELECT * FROM members WHERE id = ?`; + const res = await pool.query(sql, [userID]); + return res[0] ?? null; +} + diff --git a/ui/src/router/index.js b/ui/src/router/index.js index 5dcfbfb..b69baa2 100644 --- a/ui/src/router/index.js +++ b/ui/src/router/index.js @@ -54,10 +54,10 @@ router.beforeEach(async (to) => { } - // // Must be a member - // if (to.meta.memberOnly && userStore.status !== 'member') { - // return '/unauthorized' - // } + // Must be a member + if (to.meta.memberOnly && userStore.state !== 'member') { + return '/unauthorized' + } // // Must have specific role // if (to.meta.roles && !to.meta.roles.includes(userStore.role)) {