diff --git a/database/dump.js b/database/dump.js index 4cb328c..1519812 100644 --- a/database/dump.js +++ b/database/dump.js @@ -1,6 +1,7 @@ const Blogs = require("../modules/blogs/models/Blogs"); +const Categories = require("../modules/blogs/models/Categories"); const Login = require("../modules/logins/models/login"); -const User = require("../modules/logins/models/user"); +const User = require("../modules/users/models/user"); User.hasMany(Login, { foreignKey:{ @@ -18,6 +19,14 @@ User.hasMany(Blogs, { }); Blogs.belongsTo(User); +Categories.hasMany(Blogs, { + foreignKey:{ + allowNull: false, + unique: false + } +}); +Blogs.belongsTo(Categories); + exports.createTesting = async function(){ const resultLogins = await Login.findAll(); if(resultLogins.length == 0){ @@ -27,6 +36,21 @@ exports.createTesting = async function(){ first_name: "Batuhan", second_name: "Coşkun", username: "batuhancoskun" + },{ + id: 2, + first_name: "Bedirhan", + second_name: "Coşkun", + username: "bedirhan" + },{ + id: 3, + first_name: "Berkant", + second_name: "Erenuluğ", + username: "berkant" + },{ + id: 4, + first_name: "Buğra Osman", + second_name: "Coşkun", + username: "osman" }]); await Login.bulkCreate([{ @@ -35,16 +59,32 @@ exports.createTesting = async function(){ userId: 1 }]); + await Categories.bulkCreate([{ + id: 1, + title: "Teknoloji" + },{ + id: 2, + title: "Siyaset" + },{ + id: 3, + title: "Sağlık" + },{ + id: 4, + title: "Felsefe" + }]); + await Blogs.bulkCreate([{ id: 1, title: "Bu Bir Başlıktır", text: "Merhaba, bu benim yazımdır.", - userId: 1 + userId: 1, + categoryId: 1 },{ id: 2, text: "Merhaba, bu benim yazımdır.", - userId: 1 - }]) + userId: 2, + categoryId: 4 + }]); }; }; \ No newline at end of file diff --git a/modules/blogs/app.js b/modules/blogs/app.js index 5f89d1e..3b7fc44 100644 --- a/modules/blogs/app.js +++ b/modules/blogs/app.js @@ -3,8 +3,10 @@ const app = express(); // ROUTES const routerGet = require("./routes/get"); +const routerPage = require("./routes/page"); // USES app.use(routerGet); +app.use(routerPage); module.exports = app; \ No newline at end of file diff --git a/modules/blogs/middlewares/query.js b/modules/blogs/middlewares/query.js index 8d6b69c..a63cbdf 100644 --- a/modules/blogs/middlewares/query.js +++ b/modules/blogs/middlewares/query.js @@ -1,4 +1,4 @@ -const User = require("../../logins/models/user"); +const User = require("../../users/models/user"); const Blogs = require("../models/Blogs") exports.getBlogs = async function(){ diff --git a/modules/blogs/models/Categories.js b/modules/blogs/models/Categories.js new file mode 100644 index 0000000..f8a5f6b --- /dev/null +++ b/modules/blogs/models/Categories.js @@ -0,0 +1,10 @@ +const { DataTypes } = require("sequelize"); +const Database = require("../../../database/db"); + +module.exports = Database.define("categories", { + title: { + type: DataTypes.CHAR(25), + unique: true, + allowNull: false + } +}); \ No newline at end of file diff --git a/modules/blogs/routes/page.js b/modules/blogs/routes/page.js new file mode 100644 index 0000000..bf06f94 --- /dev/null +++ b/modules/blogs/routes/page.js @@ -0,0 +1,12 @@ +const express = require("express"); +const auth = require("../../logins/middlewares/auth"); +const Categories = require("../models/Categories"); +const router = express(); + +router.get("/page/blogs", auth, async function(req, res) { + res.json({ + categories: await Categories.findAll() + }); +}); + +module.exports = router; \ No newline at end of file diff --git a/modules/logins/middlewares/auth.js b/modules/logins/middlewares/auth.js index fe4a71a..e02573e 100644 --- a/modules/logins/middlewares/auth.js +++ b/modules/logins/middlewares/auth.js @@ -3,6 +3,6 @@ module.exports = (req, res, next) => { next(); }else{ res.json({Status: "Failed"}); - // next(); + next(); } }; \ No newline at end of file diff --git a/modules/logins/middlewares/login/query.js b/modules/logins/middlewares/query.js similarity index 67% rename from modules/logins/middlewares/login/query.js rename to modules/logins/middlewares/query.js index eda8023..ca7eec8 100644 --- a/modules/logins/middlewares/login/query.js +++ b/modules/logins/middlewares/query.js @@ -1,6 +1,5 @@ -const { Op } = require("sequelize"); -const Login = require("../../models/login"); -const User = require("../../models/user"); +const Login = require("../models/login"); +const User = require("../../users/models/user"); exports.getLogin = async function({password, email = null, username = null}){ const result = await Login.findOne({ diff --git a/modules/logins/routes/home.js b/modules/logins/routes/home.js index d483a45..2b5dc36 100644 --- a/modules/logins/routes/home.js +++ b/modules/logins/routes/home.js @@ -1,6 +1,6 @@ const express = require("express"); const auth = require("../middlewares/auth"); -const { getLogin } = require("../middlewares/login/query"); +const { getLogin } = require("../middlewares/query"); const data = require("../../../config.json"); const router = express.Router(); diff --git a/modules/users/middlewares/query.js b/modules/users/middlewares/query.js index 483e53f..f1bc6ae 100644 --- a/modules/users/middlewares/query.js +++ b/modules/users/middlewares/query.js @@ -1,4 +1,4 @@ -const User = require("../../logins/models/user") +const User = require("../models/user") exports.getUsers = async function(){ return await User.findAll(); diff --git a/modules/logins/models/user.js b/modules/users/models/user.js similarity index 100% rename from modules/logins/models/user.js rename to modules/users/models/user.js