mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-06 03:20:13 +08:00
Define routes, controllers of sessions
Work in progress, debugging
This commit is contained in:
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 })
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user