mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-20 12:49:32 +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");
|
require("express-async-errors");
|
||||||
const express = require("express");
|
const express = require("express");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
@@ -11,8 +10,8 @@ const wBot = require("./libs/wbot");
|
|||||||
const wbotMessageListener = require("./services/wbotMessageListener");
|
const wbotMessageListener = require("./services/wbotMessageListener");
|
||||||
const wbotMonitor = require("./services/wbotMonitor");
|
const wbotMonitor = require("./services/wbotMonitor");
|
||||||
|
|
||||||
const messageRoutes = require("./routes/message");
|
const MessagesRoutes = require("./routes/messages");
|
||||||
const ContactRoutes = require("./routes/contacts");
|
const ContactsRoutes = require("./routes/contacts");
|
||||||
const AuthRoutes = require("./routes/auth");
|
const AuthRoutes = require("./routes/auth");
|
||||||
const WhatsRoutes = require("./routes/whatsapp");
|
const WhatsRoutes = require("./routes/whatsapp");
|
||||||
|
|
||||||
@@ -32,8 +31,8 @@ app.use(express.json());
|
|||||||
app.use(multer({ storage: fileStorage }).single("media"));
|
app.use(multer({ storage: fileStorage }).single("media"));
|
||||||
app.use("/public", express.static(path.join(__dirname, "public")));
|
app.use("/public", express.static(path.join(__dirname, "public")));
|
||||||
|
|
||||||
app.use(messageRoutes);
|
app.use(MessagesRoutes);
|
||||||
app.use(ContactRoutes);
|
app.use(ContactsRoutes);
|
||||||
app.use(WhatsRoutes);
|
app.use(WhatsRoutes);
|
||||||
app.use("/auth", AuthRoutes);
|
app.use("/auth", AuthRoutes);
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ const Sequelize = require("sequelize");
|
|||||||
const { getIO } = require("../libs/socket");
|
const { getIO } = require("../libs/socket");
|
||||||
const { getWbot } = require("../libs/wbot");
|
const { getWbot } = require("../libs/wbot");
|
||||||
|
|
||||||
exports.getContacts = async (req, res) => {
|
exports.index = async (req, res) => {
|
||||||
const { searchParam = "" } = req.query;
|
const { searchParam = "" } = req.query;
|
||||||
|
|
||||||
const lowerSerachParam = searchParam.toLowerCase();
|
const lowerSerachParam = searchParam.toLowerCase();
|
||||||
@@ -43,7 +43,7 @@ exports.getContacts = async (req, res) => {
|
|||||||
return res.json(contacts);
|
return res.json(contacts);
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.createContact = async (req, res) => {
|
exports.store = async (req, res) => {
|
||||||
const wbot = getWbot();
|
const wbot = getWbot();
|
||||||
const io = getIO();
|
const io = getIO();
|
||||||
const { number, name } = req.body;
|
const { number, name } = req.body;
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
const fs = require("fs");
|
|
||||||
const Message = require("../models/Message");
|
const Message = require("../models/Message");
|
||||||
const Contact = require("../models/Contact");
|
const Contact = require("../models/Contact");
|
||||||
const { getIO } = require("../libs/socket");
|
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 wbot = getWbot();
|
||||||
const io = getIO();
|
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 wbot = getWbot();
|
||||||
const io = getIO();
|
const io = getIO();
|
||||||
|
|
||||||
@@ -4,26 +4,7 @@ const jwt = require("jsonwebtoken");
|
|||||||
|
|
||||||
const User = require("../models/User");
|
const User = require("../models/User");
|
||||||
|
|
||||||
exports.signup = async (req, res, next) => {
|
exports.store = 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) => {
|
|
||||||
const { email, password } = req.body;
|
const { email, password } = req.body;
|
||||||
|
|
||||||
const user = await User.findOne({ where: { email: email } });
|
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 express = require("express");
|
||||||
const { body } = require("express-validator");
|
const { body } = require("express-validator");
|
||||||
const User = require("../models/User");
|
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 isAuth = require("../middleware/is-auth");
|
||||||
|
|
||||||
const routes = express.Router();
|
const routes = express.Router();
|
||||||
@@ -23,10 +24,10 @@ routes.post(
|
|||||||
body("password").trim().isLength({ min: 5 }),
|
body("password").trim().isLength({ min: 5 }),
|
||||||
body("name").trim().not().isEmpty(),
|
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) => {
|
routes.get("/check", isAuth, (req, res) => {
|
||||||
res.status(200).json({ authenticated: true });
|
res.status(200).json({ authenticated: true });
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
const express = require("express");
|
const express = require("express");
|
||||||
const isAuth = require("../middleware/is-auth");
|
const isAuth = require("../middleware/is-auth");
|
||||||
|
|
||||||
const ContactController = require("../controllers/contact");
|
const ContactController = require("../controllers/ContactController");
|
||||||
|
|
||||||
const routes = express.Router();
|
const routes = express.Router();
|
||||||
|
|
||||||
routes.get("/contacts", isAuth, ContactController.getContacts);
|
routes.get("/contacts", isAuth, ContactController.index);
|
||||||
// routes.post(ContactController.postCreateContact);
|
// routes.post(ContactController.postCreateContact);
|
||||||
|
|
||||||
routes.post("/contacts", isAuth, ContactController.createContact);
|
routes.post("/contacts", isAuth, ContactController.store);
|
||||||
|
|
||||||
module.exports = routes;
|
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();
|
const routes = express.Router();
|
||||||
|
|
||||||
routes.get("/whatsapp/session", isAuth, WhatsappController.getSession);
|
routes.get("/whatsapp/session", isAuth, WhatsappController.getSession);
|
||||||
// routes.post(
|
|
||||||
// "/messages/:contactId",
|
|
||||||
// isAuth,
|
|
||||||
// WhatsappController.postCreateContactMessage
|
|
||||||
// );
|
|
||||||
|
|
||||||
routes.get("/whatsapp/contacts", isAuth, WhatsappController.getContacts);
|
routes.get("/whatsapp/contacts", isAuth, WhatsappController.getContacts); // fetch contacts in user cellphone, not in use
|
||||||
// routes.post(
|
|
||||||
// "/messages/:contactId",
|
|
||||||
// isAuth,
|
|
||||||
// WhatsappController.postCreateContactMessage
|
|
||||||
// );
|
|
||||||
|
|
||||||
module.exports = routes;
|
module.exports = routes;
|
||||||
|
|||||||
@@ -64,11 +64,11 @@ const SignUp = () => {
|
|||||||
const handleSignUp = async e => {
|
const handleSignUp = async e => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
try {
|
try {
|
||||||
await api.put("/auth/signup", user);
|
await api.post("/auth/signup", user);
|
||||||
|
history.push("/login");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
alert(err);
|
alert(err);
|
||||||
}
|
}
|
||||||
history.push("/login");
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
Reference in New Issue
Block a user