From b1bed3623e827c03e216fa5f74d5ac88d45d2513 Mon Sep 17 00:00:00 2001 From: canove Date: Wed, 8 Jul 2020 11:48:11 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=82Better=20folder=20structures=20and?= =?UTF-8?q?=20file=20names=20in=20backend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/app.js | 9 +++---- .../{contact.js => ContactController.js} | 4 +-- .../{message.js => MessageController.js} | 5 ++-- .../{auth.js => SessionController.js} | 21 +--------------- backend/src/controllers/UserController.js | 25 +++++++++++++++++++ backend/src/routes/auth.js | 7 +++--- backend/src/routes/contacts.js | 6 ++--- backend/src/routes/message.js | 19 -------------- backend/src/routes/messages.js | 11 ++++++++ backend/src/routes/whatsapp.js | 12 +-------- frontend/src/pages/Signup/Signup.js | 4 +-- 11 files changed, 55 insertions(+), 68 deletions(-) rename backend/src/controllers/{contact.js => ContactController.js} (90%) rename backend/src/controllers/{message.js => MessageController.js} (91%) rename backend/src/controllers/{auth.js => SessionController.js} (56%) create mode 100644 backend/src/controllers/UserController.js delete mode 100644 backend/src/routes/message.js create mode 100644 backend/src/routes/messages.js diff --git a/backend/src/app.js b/backend/src/app.js index ec21928..91ed025 100644 --- a/backend/src/app.js +++ b/backend/src/app.js @@ -1,4 +1,3 @@ -// require("dotenv/config"); require("express-async-errors"); const express = require("express"); const path = require("path"); @@ -11,8 +10,8 @@ const wBot = require("./libs/wbot"); const wbotMessageListener = require("./services/wbotMessageListener"); const wbotMonitor = require("./services/wbotMonitor"); -const messageRoutes = require("./routes/message"); -const ContactRoutes = require("./routes/contacts"); +const MessagesRoutes = require("./routes/messages"); +const ContactsRoutes = require("./routes/contacts"); const AuthRoutes = require("./routes/auth"); const WhatsRoutes = require("./routes/whatsapp"); @@ -32,8 +31,8 @@ app.use(express.json()); app.use(multer({ storage: fileStorage }).single("media")); app.use("/public", express.static(path.join(__dirname, "public"))); -app.use(messageRoutes); -app.use(ContactRoutes); +app.use(MessagesRoutes); +app.use(ContactsRoutes); app.use(WhatsRoutes); app.use("/auth", AuthRoutes); diff --git a/backend/src/controllers/contact.js b/backend/src/controllers/ContactController.js similarity index 90% rename from backend/src/controllers/contact.js rename to backend/src/controllers/ContactController.js index 8784c00..4e74310 100644 --- a/backend/src/controllers/contact.js +++ b/backend/src/controllers/ContactController.js @@ -4,7 +4,7 @@ const Sequelize = require("sequelize"); const { getIO } = require("../libs/socket"); const { getWbot } = require("../libs/wbot"); -exports.getContacts = async (req, res) => { +exports.index = async (req, res) => { const { searchParam = "" } = req.query; const lowerSerachParam = searchParam.toLowerCase(); @@ -43,7 +43,7 @@ exports.getContacts = async (req, res) => { return res.json(contacts); }; -exports.createContact = async (req, res) => { +exports.store = async (req, res) => { const wbot = getWbot(); const io = getIO(); const { number, name } = req.body; diff --git a/backend/src/controllers/message.js b/backend/src/controllers/MessageController.js similarity index 91% rename from backend/src/controllers/message.js rename to backend/src/controllers/MessageController.js index 689b2e7..472e5ed 100644 --- a/backend/src/controllers/message.js +++ b/backend/src/controllers/MessageController.js @@ -1,4 +1,3 @@ -const fs = require("fs"); const Message = require("../models/Message"); const Contact = require("../models/Contact"); const { getIO } = require("../libs/socket"); @@ -25,7 +24,7 @@ const setMessagesAsRead = async contactId => { }); }; -exports.getContactMessages = async (req, res, next) => { +exports.index = async (req, res, next) => { const wbot = getWbot(); const io = getIO(); @@ -76,7 +75,7 @@ exports.getContactMessages = async (req, res, next) => { }); }; -exports.postCreateContactMessage = async (req, res, next) => { +exports.store = async (req, res, next) => { const wbot = getWbot(); const io = getIO(); diff --git a/backend/src/controllers/auth.js b/backend/src/controllers/SessionController.js similarity index 56% rename from backend/src/controllers/auth.js rename to backend/src/controllers/SessionController.js index 81cdef7..2cc1b8b 100644 --- a/backend/src/controllers/auth.js +++ b/backend/src/controllers/SessionController.js @@ -4,26 +4,7 @@ const jwt = require("jsonwebtoken"); const User = require("../models/User"); -exports.signup = async (req, res, next) => { - const errors = validationResult(req); - - if (!errors.isEmpty()) { - return res.status(400).json({ error: "Validation failed" }); - } - - const { name, password, email } = req.body; - - const hashedPw = await bcrypt.hash(password, 12); - const user = User.build({ - email: email, - password: hashedPw, - name: name, - }); - const result = await user.save(); - res.status(201).json({ message: "User created!", userId: result.id }); -}; - -exports.login = async (req, res, next) => { +exports.store = async (req, res, next) => { const { email, password } = req.body; const user = await User.findOne({ where: { email: email } }); diff --git a/backend/src/controllers/UserController.js b/backend/src/controllers/UserController.js new file mode 100644 index 0000000..d57e41f --- /dev/null +++ b/backend/src/controllers/UserController.js @@ -0,0 +1,25 @@ +const { validationResult } = require("express-validator"); +const bcrypt = require("bcryptjs"); + +const User = require("../models/User"); + +exports.store = async (req, res, next) => { + const errors = validationResult(req); + + if (!errors.isEmpty()) { + return res + .status(400) + .json({ error: "Validation failed", data: errors.array() }); + } + + const { name, password, email } = req.body; + + const hashedPw = await bcrypt.hash(password, 12); + const user = User.build({ + email: email, + password: hashedPw, + name: name, + }); + const result = await user.save(); + res.status(201).json({ message: "User created!", userId: result.id }); +}; diff --git a/backend/src/routes/auth.js b/backend/src/routes/auth.js index bb1f4d6..d845a20 100644 --- a/backend/src/routes/auth.js +++ b/backend/src/routes/auth.js @@ -1,7 +1,8 @@ const express = require("express"); const { body } = require("express-validator"); const User = require("../models/User"); -const authController = require("../controllers/auth"); +const SessionController = require("../controllers/SessionController"); +const UserController = require("../controllers/UserController"); const isAuth = require("../middleware/is-auth"); const routes = express.Router(); @@ -23,10 +24,10 @@ routes.post( body("password").trim().isLength({ min: 5 }), body("name").trim().not().isEmpty(), ], - authController.signup + UserController.store ); -routes.post("/login", authController.login); +routes.post("/login", SessionController.store); routes.get("/check", isAuth, (req, res) => { res.status(200).json({ authenticated: true }); diff --git a/backend/src/routes/contacts.js b/backend/src/routes/contacts.js index 04c4433..d2ba031 100644 --- a/backend/src/routes/contacts.js +++ b/backend/src/routes/contacts.js @@ -1,13 +1,13 @@ const express = require("express"); const isAuth = require("../middleware/is-auth"); -const ContactController = require("../controllers/contact"); +const ContactController = require("../controllers/ContactController"); const routes = express.Router(); -routes.get("/contacts", isAuth, ContactController.getContacts); +routes.get("/contacts", isAuth, ContactController.index); // routes.post(ContactController.postCreateContact); -routes.post("/contacts", isAuth, ContactController.createContact); +routes.post("/contacts", isAuth, ContactController.store); module.exports = routes; diff --git a/backend/src/routes/message.js b/backend/src/routes/message.js deleted file mode 100644 index f479053..0000000 --- a/backend/src/routes/message.js +++ /dev/null @@ -1,19 +0,0 @@ -const express = require("express"); -const isAuth = require("../middleware/is-auth"); - -const MessangeController = require("../controllers/message"); - -const routes = express.Router(); - -routes.get( - "/messages/:contactId", - isAuth, - MessangeController.getContactMessages -); -routes.post( - "/messages/:contactId", - isAuth, - MessangeController.postCreateContactMessage -); - -module.exports = routes; diff --git a/backend/src/routes/messages.js b/backend/src/routes/messages.js new file mode 100644 index 0000000..564da57 --- /dev/null +++ b/backend/src/routes/messages.js @@ -0,0 +1,11 @@ +const express = require("express"); +const isAuth = require("../middleware/is-auth"); + +const MessageController = require("../controllers/MessageController"); + +const routes = express.Router(); + +routes.get("/messages/:contactId", isAuth, MessageController.index); +routes.post("/messages/:contactId", isAuth, MessageController.store); + +module.exports = routes; diff --git a/backend/src/routes/whatsapp.js b/backend/src/routes/whatsapp.js index c12b9ee..aea0d1f 100644 --- a/backend/src/routes/whatsapp.js +++ b/backend/src/routes/whatsapp.js @@ -6,17 +6,7 @@ const WhatsappController = require("../controllers/whatsapp"); const routes = express.Router(); routes.get("/whatsapp/session", isAuth, WhatsappController.getSession); -// routes.post( -// "/messages/:contactId", -// isAuth, -// WhatsappController.postCreateContactMessage -// ); -routes.get("/whatsapp/contacts", isAuth, WhatsappController.getContacts); -// routes.post( -// "/messages/:contactId", -// isAuth, -// WhatsappController.postCreateContactMessage -// ); +routes.get("/whatsapp/contacts", isAuth, WhatsappController.getContacts); // fetch contacts in user cellphone, not in use module.exports = routes; diff --git a/frontend/src/pages/Signup/Signup.js b/frontend/src/pages/Signup/Signup.js index 6c9a3ff..7e6438f 100644 --- a/frontend/src/pages/Signup/Signup.js +++ b/frontend/src/pages/Signup/Signup.js @@ -64,11 +64,11 @@ const SignUp = () => { const handleSignUp = async e => { e.preventDefault(); try { - await api.put("/auth/signup", user); + await api.post("/auth/signup", user); + history.push("/login"); } catch (err) { alert(err); } - history.push("/login"); }; return (