Compare commits

..

3 Commits

Author SHA1 Message Date
Primakov Alexandr Alexandrovich
8a2afc3f1b 1.1.1 2025-01-19 21:05:16 +03:00
Primakov Alexandr Alexandrovich
d824844ae5 populate author of comments 2025-01-19 21:05:08 +03:00
Primakov Alexandr Alexandrovich
f95a26acbb todo-app: get item by id 2025-01-19 20:44:26 +03:00
4 changed files with 10 additions and 34 deletions

4
package-lock.json generated
View File

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

View File

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

View File

@@ -1,40 +1,16 @@
const router = require('express').Router()
const {MasterModel} = require('./model/master')
const mongoose = require("mongoose")
const {OrderModel} = require("./model/order")
router.get("/masters", async (req, res, next) => {
router.get('/masters', async (req, res,next) => {
try {
const masters = await MasterModel.find({});
const orders = await OrderModel.find({});
const mastersWithOrders = masters.map((master) => {
const masterOrders = orders.filter((order) => {
return (
order?.master && order.master.toString() === master._id.toString()
);
});
const schedule = masterOrders.map((order) => ({
id: order._id,
startWashTime: order.startWashTime,
endWashTime: order.endWashTime,
}));
return {
id: master._id,
name: master.name,
schedule: schedule,
phone: master.phone,
};
});
res.status(200).send({ success: true, body: mastersWithOrders });
const master = await MasterModel.find({})
res.status(200).send({success: true, body: master})
} catch (error) {
next(error);
next(error)
}
});
})
router.delete('/masters/:id', async (req, res,next) => {
const { id } = req.params;

View File

@@ -42,12 +42,12 @@ router.get('/:todoId/:itemId', async (req, res) => {
return res.send(getAnswer(new Error('no such todo')))
}
const item = await ItemModel.findById(itemId).populate('comments').exec()
const item = await ItemModel.findById(itemId).populate({ path: 'comments', populate: { path: 'author' } }).exec()
if (!item) {
return res.send(getAnswer(new Error('no such item')))
}
res.send(getAnswer(null, item.comments))
res.send(getAnswer(null, item))
})
module.exports = router