Erster Docker-Stand
This commit is contained in:
64
src/routes/todoRoutes.js
Normal file
64
src/routes/todoRoutes.js
Normal file
@@ -0,0 +1,64 @@
|
||||
import express from 'express'
|
||||
|
||||
import prisma from '../prismaClient.js'
|
||||
|
||||
const router = express.Router()
|
||||
|
||||
//Get all todos for loggen-in user
|
||||
router.get('/', async (req, res) => {
|
||||
const todos = await prisma.todo.findMany({
|
||||
where:{
|
||||
userId: req.userId
|
||||
}
|
||||
})
|
||||
res.json(todos)
|
||||
})
|
||||
|
||||
// create a todo
|
||||
router.post('/', async (req, res) => {
|
||||
const { task } = req.body
|
||||
|
||||
const todo = await prisma.todo.create({
|
||||
data: {
|
||||
task,
|
||||
userId: req.userId
|
||||
}
|
||||
})
|
||||
|
||||
res.json(todo)
|
||||
})
|
||||
|
||||
//update a todo
|
||||
router.put('/:id', async (req, res) => {
|
||||
const { completed } = req.body
|
||||
const { id } = req.params
|
||||
|
||||
const updatedTodo = await prisma.todo.update({
|
||||
where:{
|
||||
id: parseInt(id),
|
||||
userId: req.userId
|
||||
},
|
||||
data: {
|
||||
completed: !!completed
|
||||
}
|
||||
})
|
||||
|
||||
res.json(updatedTodo)
|
||||
})
|
||||
|
||||
//delete a todo
|
||||
router.delete('/:id', async (req, res) => {
|
||||
const {id} = req.params
|
||||
const userId = req.userId
|
||||
|
||||
await prisma.todo.delete({
|
||||
where:{
|
||||
id: parseInt(id),
|
||||
userId
|
||||
}
|
||||
})
|
||||
|
||||
res.send({message: "Todo deleted"})
|
||||
})
|
||||
|
||||
export default router
|
||||
Reference in New Issue
Block a user