Kategori ve Kaydetme hakkında yenilikler yapıldı. Yeni React kodlarına uyum sağlandı.
This commit is contained in:
parent
a88dc25ef4
commit
5202ace0be
@ -1,5 +1,6 @@
|
|||||||
const Blogs = require("../modules/blogs/models/Blogs");
|
const Blogs = require("../modules/blogs/models/Blogs");
|
||||||
const Categories = require("../modules/blogs/models/Categories");
|
const Categories = require("../modules/blogs/models/Categories");
|
||||||
|
const SavedBlogs = require("../modules/blogs/models/SavedBlogs");
|
||||||
const Login = require("../modules/logins/models/login");
|
const Login = require("../modules/logins/models/login");
|
||||||
const User = require("../modules/users/models/user");
|
const User = require("../modules/users/models/user");
|
||||||
|
|
||||||
@ -27,6 +28,22 @@ Categories.hasMany(Blogs, {
|
|||||||
});
|
});
|
||||||
Blogs.belongsTo(Categories);
|
Blogs.belongsTo(Categories);
|
||||||
|
|
||||||
|
Blogs.hasMany(SavedBlogs, {
|
||||||
|
foreignKey:{
|
||||||
|
allowNull: false,
|
||||||
|
unique: false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
SavedBlogs.belongsTo(Blogs);
|
||||||
|
|
||||||
|
User.hasMany(SavedBlogs, {
|
||||||
|
foreignKey:{
|
||||||
|
allowNull: false,
|
||||||
|
unique: false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
SavedBlogs.belongsTo(User);
|
||||||
|
|
||||||
exports.createTesting = async function(){
|
exports.createTesting = async function(){
|
||||||
const resultLogins = await Login.findAll();
|
const resultLogins = await Login.findAll();
|
||||||
if(resultLogins.length == 0){
|
if(resultLogins.length == 0){
|
||||||
|
|||||||
@ -3,10 +3,12 @@ const app = express();
|
|||||||
|
|
||||||
// ROUTES
|
// ROUTES
|
||||||
const routerGet = require("./routes/get");
|
const routerGet = require("./routes/get");
|
||||||
|
const routerPost = require("./routes/post");
|
||||||
const routerPage = require("./routes/page");
|
const routerPage = require("./routes/page");
|
||||||
|
|
||||||
// USES
|
// USES
|
||||||
app.use(routerGet);
|
app.use(routerGet);
|
||||||
|
app.use(routerPost);
|
||||||
app.use(routerPage);
|
app.use(routerPage);
|
||||||
|
|
||||||
module.exports = app;
|
module.exports = app;
|
||||||
32
modules/blogs/middlewares/post.js
Normal file
32
modules/blogs/middlewares/post.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
const Blogs = require("../models/Blogs");
|
||||||
|
const SavedBlogs = require("../models/SavedBlogs");
|
||||||
|
const { getSaved } = require("./query");
|
||||||
|
const { checkLenText } = require("./tools");
|
||||||
|
|
||||||
|
exports.createBlog = async function(data, user){
|
||||||
|
const checkTitle = checkLenText(data.title, 5, 25);
|
||||||
|
const checkText = checkLenText(data.text, 10, 1000);
|
||||||
|
if(checkTitle && checkText){
|
||||||
|
return await Blogs.create({
|
||||||
|
title: data.title,
|
||||||
|
text: data.text,
|
||||||
|
categoryId: data.cate,
|
||||||
|
userId: user.id
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.createSaved = async function({blogId, userId}){
|
||||||
|
const checkQuery = await getSaved({blogId: blogId, userId: userId});
|
||||||
|
|
||||||
|
if(!checkQuery){
|
||||||
|
return await SavedBlogs.create({
|
||||||
|
blogId: blogId,
|
||||||
|
userId: userId
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
};
|
||||||
@ -1,10 +1,12 @@
|
|||||||
const User = require("../../users/models/user");
|
const User = require("../../users/models/user");
|
||||||
const Blogs = require("../models/Blogs");
|
const Blogs = require("../models/Blogs");
|
||||||
const Categories = require("../models/Categories");
|
const Categories = require("../models/Categories");
|
||||||
|
const SavedBlogs = require("../models/SavedBlogs");
|
||||||
|
|
||||||
exports.getBlogs = async function(){
|
exports.getBlogs = async function(){
|
||||||
return await Blogs.findAll({
|
return await Blogs.findAll({
|
||||||
include: [User, Categories]
|
include: [User, Categories],
|
||||||
|
order: [["createdAt", "DESC"]]
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -15,7 +17,8 @@ exports.getBlogsWithUsername = async function({username}){
|
|||||||
where: {
|
where: {
|
||||||
username: username
|
username: username
|
||||||
}
|
}
|
||||||
}]
|
}],
|
||||||
|
order: [["createdAt", "DESC"]]
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -28,7 +31,8 @@ exports.getBlogsWithCategory = async function({categoryId, categoryTitle}){
|
|||||||
}, (categoryTitle) && {
|
}, (categoryTitle) && {
|
||||||
title: categoryTitle
|
title: categoryTitle
|
||||||
}]
|
}]
|
||||||
}]
|
}],
|
||||||
|
order: [["createdAt", "DESC"]]
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -42,3 +46,14 @@ exports.getCategoryWithParams = async function({categoryId, categoryTitle}){
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// SAVED
|
||||||
|
exports.getSaved = async function({userId, blogId}){
|
||||||
|
return await SavedBlogs.findOne({
|
||||||
|
where:{
|
||||||
|
userId: userId,
|
||||||
|
blogId: blogId
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
3
modules/blogs/middlewares/tools.js
Normal file
3
modules/blogs/middlewares/tools.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
exports.checkLenText = function(text, minLen, maxLen){
|
||||||
|
return (text.length >= minLen && text.length <= maxLen) && true;
|
||||||
|
};
|
||||||
3
modules/blogs/models/SavedBlogs.js
Normal file
3
modules/blogs/models/SavedBlogs.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
const Database = require("../../../database/db");
|
||||||
|
|
||||||
|
module.exports = Database.define("savedBlogs",{});
|
||||||
@ -1,6 +1,7 @@
|
|||||||
const express = require("express");
|
const express = require("express");
|
||||||
const auth = require("../../logins/middlewares/auth");
|
const auth = require("../../logins/middlewares/auth");
|
||||||
const { getBlogs, getBlogsWithUsername, getBlogsWithCategory } = require("../middlewares/query");
|
const { getBlogs, getBlogsWithUsername, getBlogsWithCategory } = require("../middlewares/query");
|
||||||
|
const Categories = require("../models/Categories");
|
||||||
const router = express();
|
const router = express();
|
||||||
|
|
||||||
router.get("/get/blogs/all", auth, async function (req, res) {
|
router.get("/get/blogs/all", auth, async function (req, res) {
|
||||||
@ -17,4 +18,7 @@ router.get("/get/blogs/user/:username", auth, async function (req, res) {
|
|||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.get("/get/blogs/cate/all", async function(req, res) {
|
||||||
|
res.json(await Categories.findAll());
|
||||||
|
});
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
25
modules/blogs/routes/post.js
Normal file
25
modules/blogs/routes/post.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
const express = require("express");
|
||||||
|
const auth = require("../../logins/middlewares/auth");
|
||||||
|
const { createBlog, createSaved } = require("../middlewares/post");
|
||||||
|
const { getSaved } = require("../middlewares/query");
|
||||||
|
const router = express();
|
||||||
|
|
||||||
|
router.post("/post/blogs/create", auth, async function(req, res) {
|
||||||
|
try {
|
||||||
|
const result = await createBlog(req.body, req.session.user);
|
||||||
|
if(result){
|
||||||
|
return res.json({Status: "Success", Message: "Başarıyla paylaşıldı.", Ico: "/icons/success.svg"});
|
||||||
|
}else{
|
||||||
|
return res.json({Status: "Failed", Message: "Bir hatadan dolayı paylaşılamadı", Ico: "/icons/failed.svg"});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
return res.json({Status: "Failed", Message: "Bir hatadan dolayı paylaşılamadı", Ico: "/icons/failed.svg"});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
router.post("/post/blogs/save", auth, async function(req, res) {
|
||||||
|
const result = await createSaved({userId: req.session.user.id, blogId: req.body.blogId});
|
||||||
|
return (result) && res.json({Status: "Success"});
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
Loading…
Reference in New Issue
Block a user