diff --git a/backend/controllers/sessionController.js b/backend/controllers/sessionController.js new file mode 100644 index 0000000..6e93904 --- /dev/null +++ b/backend/controllers/sessionController.js @@ -0,0 +1,19 @@ +import sessionService from '../services/sessionService.js'; + +const sessionController = { + async checkSession(req, res) { + try { + const isValid = await sessionService.isSessionValid(req); + if (isValid) { + res.status(200).json({ valid: true }); + } else { + res.status(401).json({ valid: false, message: "Session abgelaufen" }); + } + } catch (error) { + console.error("Fehler bei der Session-Überprüfung:", error); + res.status(500).json({ valid: false, message: "Serverfehler bei der Session-Überprüfung" }); + } + } +}; + +export default sessionController; diff --git a/backend/middleware/authMiddleware.js b/backend/middleware/authMiddleware.js index 6f23479..aa62e4d 100644 --- a/backend/middleware/authMiddleware.js +++ b/backend/middleware/authMiddleware.js @@ -12,6 +12,7 @@ export const authenticate = async (req, res, next) => { } next(); } catch(error) { + console.log(error); return res.status(500).json({ error: 'Internal Server Error at auth' }); } }; \ No newline at end of file diff --git a/backend/routes/sessionRoutes.js b/backend/routes/sessionRoutes.js new file mode 100644 index 0000000..5c0736b --- /dev/null +++ b/backend/routes/sessionRoutes.js @@ -0,0 +1,9 @@ +import express from 'express'; +import { authenticate } from '../middleware/authMiddleware.js'; +import sessionController from '../controllers/sessionController.js'; + +const router = express.Router(); + +router.get('/status', authenticate, sessionController.checkSession); + +export default router; diff --git a/backend/server.js b/backend/server.js index 8ffa6a8..46b1825 100644 --- a/backend/server.js +++ b/backend/server.js @@ -26,6 +26,7 @@ import Season from './models/Season.js'; import Location from './models/Location.js'; import groupRoutes from './routes/groupRoutes.js'; import diaryDateTagRoutes from './routes/diaryDateTagRoutes.js'; +import sessionRoutes from './routes/sessionRoutes.js'; const app = express(); const port = process.env.PORT || 3000; @@ -51,6 +52,7 @@ app.use('/api/diary-date-activities', diaryDateActivityRoutes); app.use('/api/matches', matchRoutes); app.use('/api/group', groupRoutes); app.use('/api/diarydatetags', diaryDateTagRoutes); +app.use('/api/session', sessionRoutes); app.use(express.static(path.join(__dirname, '../frontend/dist'))); diff --git a/backend/services/sessionService.js b/backend/services/sessionService.js new file mode 100644 index 0000000..bcb1340 --- /dev/null +++ b/backend/services/sessionService.js @@ -0,0 +1,10 @@ +import { authenticate } from '../middleware/authMiddleware.js'; + +const sessionService = { + + async isSessionValid(req) { + return true; + } +}; + +export default sessionService; diff --git a/frontend/public/sound/bell-123742.mp3 b/frontend/public/sound/bell-123742.mp3 new file mode 100644 index 0000000..3bccff4 Binary files /dev/null and b/frontend/public/sound/bell-123742.mp3 differ diff --git a/frontend/public/sound/thump-105302.mp3 b/frontend/public/sound/thump-105302.mp3 new file mode 100644 index 0000000..9eb1ef6 Binary files /dev/null and b/frontend/public/sound/thump-105302.mp3 differ diff --git a/frontend/src/App.vue b/frontend/src/App.vue index acb0d7d..6f6e907 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,6 +1,5 @@