From 14198110c12d1df64528527b82a1842599420a5e Mon Sep 17 00:00:00 2001 From: SoulNaturalist Date: Thu, 14 Mar 2024 22:46:22 +0300 Subject: [PATCH] added quotes --- backend/controllers/book.js | 13 ++++++++--- backend/routers/book.js | 2 ++ backend/schemes.js | 12 ++++++++++- front/src/components/pages/Dialogs.jsx | 30 +++++++++++++------------- 4 files changed, 38 insertions(+), 19 deletions(-) diff --git a/backend/controllers/book.js b/backend/controllers/book.js index 2d4bb29..9c0b616 100644 --- a/backend/controllers/book.js +++ b/backend/controllers/book.js @@ -1,6 +1,6 @@ const DB = require('../database') const jwt = require('jsonwebtoken') -const { UserSchema, BookSchema } = require('../schemes') +const { UserSchema, BookSchema, BookQuote } = require('../schemes') const { JWT_PRIVATE_TOKEN } = require('../config') const delete_book = async function (req, res) { @@ -165,7 +165,13 @@ const book_pagination = async function (req, res) { const bookData = await books.find({}, query).limit(10).skip(currentOffset).exec() return res.json(bookData) } - +const create_quote = async function (req, res) { + const booksQuote = DB.model('quotes', BookQuote) + if (req.body.book_id && req.body.description_quote) { + await booksQuote.create({book_id:req.body.book_id, description_quote:req.body.description_quote}) + return res.sendStatus(200) + } +} module.exports = { delete_book, @@ -177,5 +183,6 @@ module.exports = { change_cover_by_slug, get_cover_by_name, search_books, - book_pagination + book_pagination, + create_quote } diff --git a/backend/routers/book.js b/backend/routers/book.js index e97b1d2..032d98e 100644 --- a/backend/routers/book.js +++ b/backend/routers/book.js @@ -27,4 +27,6 @@ router.post('/api/add_book', bookController.add_book) router.post('/api/change_cover_by_slug', bookController.change_cover_by_slug) +router.post('/api/add_quote', bookController.create_quote) + module.exports = router diff --git a/backend/schemes.js b/backend/schemes.js index c41b323..6652317 100644 --- a/backend/schemes.js +++ b/backend/schemes.js @@ -22,6 +22,9 @@ const UserSchema = new Schema({ online: { type: Object, default: {"last_online_time":""} } }, { minimize: false }) + + + const BookSchema = new Schema({ book_name: { type: String, required: true }, book_author: { type: String, required: true }, @@ -29,9 +32,16 @@ const BookSchema = new Schema({ description: { type: String, required: true, default: 'description default' }, reviews: { type: Object, default: {} }, cover: { type: String, default: '' }, + quotes:{type: mongoose.Schema.Types.ObjectId, ref: 'quotes'}, slug: { type: String, slug: ["book_name", "book_author"], index: { unique: true } } }, { minimize: false }) +const BookQuote = new Schema({ + book_id:{type: mongoose.Schema.Types.ObjectId, ref: 'books'}, + description_quote: {type: String, default: 'BookQuote example 1'} +}, { minimize: false }) + + const AuthorSchema = new Schema({ author_name: { type: String, required: true }, author_surname: { type: String, required: true }, @@ -58,4 +68,4 @@ const userActLogging = new Schema({ act_description: { type: Number, required: true } }) -module.exports = { UserSchema, BookSchema, AuthorSchema, messagesSchema, userActLogging } +module.exports = { UserSchema, BookSchema, AuthorSchema, messagesSchema, userActLogging, BookQuote } diff --git a/front/src/components/pages/Dialogs.jsx b/front/src/components/pages/Dialogs.jsx index c3b7e11..f201b8c 100644 --- a/front/src/components/pages/Dialogs.jsx +++ b/front/src/components/pages/Dialogs.jsx @@ -10,26 +10,26 @@ import { } from "../styles/Dialogs.styles.js"; export default function Dialogs() { - // const UsersDialog = [{"username":"SPD", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD2", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD3", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD4", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD5", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD6", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD7", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD8", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD9", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // {"username":"SPD10", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, - // ].map((user, index) =>
- // - // {user.username} - //
) + const UsersDialog = [{"username":"SPD", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD2", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD3", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD4", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD5", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD6", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD7", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD8", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD9", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + {"username":"SPD10", "avatar":"https://cdn2.scratch.mit.edu/get_image/user/61770542_60x60.png"}, + ].map((user, index) =>
+ + {user.username} +
) return (
Выберите пользователя для переписки - {/* {UsersDialog} */} + {UsersDialog}
); }