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 })
}
}