From da4b1b18a461c537c9763e74e153a419c4b37f07 Mon Sep 17 00:00:00 2001 From: wancat Date: Wed, 19 Jul 2023 16:54:32 +0800 Subject: [PATCH] Create fake auth middleware Work in progress --- .../src/api/controllers/sessionController.js | 4 +++- server/src/api/routes/index.js | 3 ++- server/src/middleware/auth.js | 19 +++++++++++++++++++ server/src/middleware/error.js | 0 server/swagger.yaml | 2 +- 5 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 server/src/middleware/auth.js create mode 100644 server/src/middleware/error.js diff --git a/server/src/api/controllers/sessionController.js b/server/src/api/controllers/sessionController.js index 8641c96..b36c37f 100644 --- a/server/src/api/controllers/sessionController.js +++ b/server/src/api/controllers/sessionController.js @@ -12,9 +12,11 @@ export async function getSessionList(req, res) { export async function createSession(req, res) { const newSession = new Session({ user: req.user.id, - exercise: req.body.exercise_id, + exercise: req.body.quest_id, }) + console.log(newSession) + try { const session = await newSession.save() res.status(201).json(session) diff --git a/server/src/api/routes/index.js b/server/src/api/routes/index.js index 14c5a59..5e95b7f 100644 --- a/server/src/api/routes/index.js +++ b/server/src/api/routes/index.js @@ -1,5 +1,6 @@ import { Router } from 'express' import sessions from './sessions.js' +import { authMiddleware } from '../../middleware/auth.js' const router = Router() @@ -7,6 +8,6 @@ router.get('/', (req, res) => { res.send('Hello API!') }) -router.use('/sessions', sessions) +router.use('/sessions', authMiddleware, sessions) export default router diff --git a/server/src/middleware/auth.js b/server/src/middleware/auth.js new file mode 100644 index 0000000..43c8826 --- /dev/null +++ b/server/src/middleware/auth.js @@ -0,0 +1,19 @@ +/* eslint-disable import/prefer-default-export */ +import User from '../models/user.js' + +export async function authMiddleware(req, res, next) { + try { + let user = await User.findOne({ username: 'defaultUser' }) + if (!user) { + user = new User({ + username: 'defaultUser', + email: 'john@example.com', + }) + await user.save() + } + req.user = user + next() + } catch (err) { + res.status(500).json({ message: err.message }) + } +} diff --git a/server/src/middleware/error.js b/server/src/middleware/error.js new file mode 100644 index 0000000..e69de29 diff --git a/server/swagger.yaml b/server/swagger.yaml index deea2e2..9876f0a 100644 --- a/server/swagger.yaml +++ b/server/swagger.yaml @@ -39,7 +39,7 @@ paths: summary: create a new session for current user parameters: - name: quest_id - in: query + in: body description: pass the quest id required: true style: form