Compare commits

..

2 Commits

Author SHA1 Message Date
Primakov Alexandr Alexandrovich
3e8a8997b9 1.2.0 2025-01-19 22:47:53 +03:00
Primakov Alexandr Alexandrovich
04bce4b90f todo-app: patch & delete tidi item 2025-01-19 22:47:47 +03:00
3 changed files with 36 additions and 3 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "multi-stub", "name": "multi-stub",
"version": "1.1.2", "version": "1.2.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "multi-stub", "name": "multi-stub",
"version": "1.1.2", "version": "1.2.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"axios": "^1.7.9", "axios": "^1.7.9",

View File

@ -1,6 +1,6 @@
{ {
"name": "multi-stub", "name": "multi-stub",
"version": "1.1.2", "version": "1.2.0",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

View File

@ -63,5 +63,38 @@ router.post('/item', requiredValidate('todoId', 'title'), async (req, res) => {
res.send(getAnswer(null, item)) res.send(getAnswer(null, item))
}) })
// closed = new Date().toISOString()
router.patch('/item/:itemId', async (req, res) => {
const { itemId } = req.params
const { title, done } = req.body
const item = await ItemModel.findById(itemId)
if (!item) {
throw new Error('item not found')
}
if (title) {
item.title = title
}
if (done) {
item.done = done
item.closed = done ? new Date().toISOString() : null
}
await item.save()
res.send(getAnswer(null, item))
})
router.delete('/item/:itemId', async (req, res) => {
const { itemId } = req.params
await ItemModel.findByIdAndDelete(itemId)
res.send(getAnswer(null, { ok: true }))
})
module.exports = router module.exports = router