Define routes, controllers of sessions

Work in progress, debugging
This commit is contained in:
wancat committed 2023-07-19 16:42:09 +08:00
1 parent 50443b96e0
commit 04edfdd0dc
13 files changed
+1835 -60

No files matched your search

@@ -0,0 +1,60 @@
import Session from '../../models/session.js'
export async function getSessionList(req, res) {
try {
const sessions = await Session.find({ user: req.user.id })
res.json(sessions)
} catch (err) {
res.status(500).json({ message: err.message })
}
}
export async function createSession(req, res) {
const newSession = new Session({
user: req.user.id,
exercise: req.body.exercise_id,
})
try {
const session = await newSession.save()
res.status(201).json(session)
} catch (err) {
res.status(400).json({ message: err.message })
}
}
export async function getSessionById(req, res) {
try {
const session = await Session.findOne({
_id: req.params.session_id,
user: req.user.id,
})
if (!session) {
res.status(404).json({ message: 'Session not found.' })
return
}
res.json(session)
} catch (err) {
res.status(500).json({ message: err.message })
}
}
export async function deleteSessionById(req, res) {
try {
const session = await Session.findOneAndDelete({
_id: req.params.session_id,
user: req.user.id,
})
if (!session) {
res.status(404).json({ message: 'Session not found.' })
return
}
res.status(204).end()
} catch (err) {
res.status(500).json({ message: err.message })
}
}
+12
View File
@@ -0,0 +1,12 @@
import { Router } from 'express'
import sessions from './sessions.js'
const router = Router()
router.get('/', (req, res) => {
res.send('Hello API!')
})
router.use('/sessions', sessions)
export default router
+11
View File
@@ -0,0 +1,11 @@
import { Router } from 'express'
import * as sessionController from '../controllers/sessionController.js'
const router = Router()
router.get('/', sessionController.getSessionList)
router.post('/', sessionController.createSession)
router.get('/:id', sessionController.getSessionById)
router.delete('/:id', sessionController.deleteSessionById)
export default router