Skip to content

Commit 7d77b9c

Browse files
committed
made: todoRoutes endpoints
1 parent 0be7a89 commit 7d77b9c

File tree

2 files changed

+50
-4
lines changed

2 files changed

+50
-4
lines changed

src/routes/todoRoutes.js

+18-3
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,32 @@ router.get('/', (req, res) => {
1212

1313
// create a new todo
1414
router.post('/', (req, res) => {
15+
const {task} = req.body
16+
const insertTodo = db.prepare(`INSERT INTO todos (user_id, task) VALUES (?, ?)`)
17+
const result = insertTodo.run(req.userId, task)
18+
19+
res.json({id: result.lastInsertRowid, task, completed: 0})
1520

1621
})
1722

1823
// update a todo
1924
router.put('/:id', (req, res) => {
25+
const { completed, task } = req.body;
26+
const { id } = req.params
27+
const updateTodo = db.prepare(`UPDATE todos SET task = ?, completed = ? WHERE id = ?`)
28+
updateTodo.run(task, completed, id)
29+
30+
res.json({message: "todo updated"})
2031

2132
})
2233

2334
//delete a todo
24-
router.delete('/:id', (req, res) => [
25-
26-
])
35+
router.delete('/:id', (req, res) => {
36+
const {id} = req.params;
37+
const deleteTodo = db.prepare(`DELETE FROM todos WHERE id= ? AND user_id = ?`)
38+
deleteTodo.run(id, req.userId)
39+
40+
res.json({message: "succesfully deleted"})
41+
})
2742

2843
export default router

todo-app.rest

+32-1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,35 @@ Content-Type: application/json
2121
{
2222
"username": "[email protected]",
2323
"password": "123456"
24-
}
24+
}
25+
26+
### Fetch all todos Get /todos (protected)
27+
28+
GET http://localhost:8383/todos/
29+
Authorization: your_jwt_secret_key
30+
31+
### create a new Todo POST /todos (protected)
32+
33+
POST http://localhost:8383/todos/
34+
Authorization: your_jwt_secret_key
35+
Content-Type: application/json
36+
37+
{
38+
"task": "bro do the gym"
39+
}
40+
41+
### update a Todo PUT /todos/:ID (protected)
42+
43+
PUT http://localhost:8383/todos/2
44+
Authorization: your_jwt_secret_key
45+
Content-Type: application/json
46+
47+
{
48+
"task": "bro THIS IS CHANGED TODO",
49+
"completed": 1
50+
}
51+
52+
### delte a Todo delete /todos/:ID (protected)
53+
54+
DELETE http://localhost:8383/todos/2
55+
Authorization: your_jwt_secret_key

0 commit comments

Comments
 (0)