mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-18 03:39:29 +00:00
📂Better folder structures and file names in backend
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
@@ -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();
|
||||
|
||||
@@ -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 } });
|
||||
25
backend/src/controllers/UserController.js
Normal file
25
backend/src/controllers/UserController.js
Normal file
@@ -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 });
|
||||
};
|
||||
@@ -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 });
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
11
backend/src/routes/messages.js
Normal file
11
backend/src/routes/messages.js
Normal file
@@ -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;
|
||||
@@ -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;
|
||||
|
||||
@@ -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 (
|
||||
|
||||
Reference in New Issue
Block a user