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 })
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in new issue
Block a user