Started migration to material-ui

This commit is contained in:
Cassio Santos
2020-06-09 20:50:16 -03:00
parent afaec2b3c6
commit d91c0c5155
28 changed files with 996 additions and 54 deletions

View File

@@ -8,6 +8,7 @@ const sequelize = require("sequelize");
const { MessageMedia } = require("whatsapp-web.js");
const setMessagesAsRead = async contactId => {
const io = getIO();
try {
const result = await Message.update(
{ read: true },
@@ -26,8 +27,13 @@ const setMessagesAsRead = async contactId => {
error.satusCode = 501;
throw error;
}
io.to("notification").emit("contact", {
action: "updateUnread",
contactId: contactId,
});
} catch (err) {
next(err);
console.log(err);
}
};
@@ -38,6 +44,8 @@ exports.getContactMessages = async (req, res, next) => {
const { contactId } = req.params;
const { searchParam, pageNumber = 1 } = req.query;
console.log(req.body, req.query);
const lowerSerachParam = searchParam.toLowerCase();
const whereCondition = {
@@ -59,7 +67,7 @@ exports.getContactMessages = async (req, res, next) => {
throw error;
}
setMessagesAsRead(contactId);
await setMessagesAsRead(contactId);
const messagesFound = await contact.countMessages({
where: whereCondition,
@@ -71,7 +79,26 @@ exports.getContactMessages = async (req, res, next) => {
order: [["createdAt", "DESC"]],
});
return res.json({ messages: contactMessages.reverse(), messagesFound });
const serializedMessages = contactMessages.map(message => {
return {
id: message.id,
createdAt: message.createdAt,
updatedAt: message.updatedAt,
messageBody: message.messageBody,
userId: message.userId,
ack: message.ack,
read: message.read,
mediaType: message.mediaType,
contactId: message.contactId,
mediaUrl: `${
message.mediaUrl
? `http://localhost:8080/public/${message.mediaUrl}`
: ""
}`,
};
});
return res.json({ messages: serializedMessages.reverse(), messagesFound });
} catch (err) {
next(err);
}
@@ -90,7 +117,7 @@ exports.postCreateContactMessage = async (req, res, next) => {
const contact = await Contact.findByPk(contactId);
if (media) {
const newMedia = MessageMedia.fromFilePath(req.file.path);
message.mediaUrl = req.file.path;
message.mediaUrl = req.file.filename;
if (newMedia.mimetype) {
message.mediaType = newMedia.mimetype.split("/")[0];
} else {
@@ -118,6 +145,7 @@ exports.postCreateContactMessage = async (req, res, next) => {
action: "create",
message: newMessage,
});
await setMessagesAsRead(contactId);
return res.json({ message: "Mensagem enviada" });
} catch (err) {

View File

@@ -1 +1 @@
{"WABrowserId":"\"W5pw0Llb60mSeV7WOHnk8A==\"","WASecretBundle":"{\"key\":\"alDLbPjonDFzCh5PEPql9cy59LNh1HFG/AZJVoucuYI=\",\"encKey\":\"FQ1MZ2eIH9hKV4dqFoBYTv1/89aopcMAa4CXgh/9csM=\",\"macKey\":\"alDLbPjonDFzCh5PEPql9cy59LNh1HFG/AZJVoucuYI=\"}","WAToken1":"\"fpvmzsdJ0KcZfIl5G4ZTqGxvg474wEfhECz4btE0TDc=\"","WAToken2":"\"1@ueYAfj0uRoSok18uTv8xzCWlvo45N3cefA6tAkUX2iJXP+AQY35sLDxyv1F+q34Ntf9vUcoc4tQG2Q==\""}
{"WABrowserId":"\"E9dnt9Mm/JiFDCMJQHkXBw==\"","WASecretBundle":"{\"key\":\"fHTKtoDcxidboASIs5WV5JKyRrF+SfMktqHXmq/KBJU=\",\"encKey\":\"FrM3OnnEbuEr1JrtKypw5CPSc6rSD5bjbOGstv8ijk4=\",\"macKey\":\"fHTKtoDcxidboASIs5WV5JKyRrF+SfMktqHXmq/KBJU=\"}","WAToken1":"\"Q+xBrzEsm9SAVo3hRyKwC3L/kvNfieq45Jt6/pFePbw=\"","WAToken2":"\"1@WlcfjMFEzc0c9JcHHHAK5BfaDDxigchRdN+GrHmVWsix+b7Od5d9Ls21/JC5ojCqbFBwnzQ5zZ/Fbg==\""}

View File

@@ -32,8 +32,19 @@ module.exports = {
wbot.on("auth_failure", msg => {
console.error("AUTHENTICATION FAILURE", msg);
});
wbot.on("ready", () => {
wbot.on("ready", async () => {
console.log("READY");
// const chats = await wbot.getChats(); // pega as mensagens nao lidas (recebidas quando o bot estava offline)
// let unreadMessages; // todo > salvar isso no DB pra mostrar no frontend
// for (let chat of chats) {
// if (chat.unreadCount > 0) {
// unreadMessages = await chat.fetchMessages({
// limit: chat.unreadCount,
// });
// }
// }
// console.log(unreadMessages);
});
return wbot;

View File

@@ -61,7 +61,7 @@ const wbotMessageListener = () => {
newMessage = await contact.createMessage({
id: msg.id.id,
messageBody: msg.body || media.filename,
mediaUrl: path.join("public", media.filename),
mediaUrl: media.filename,
mediaType: media.mimetype.split("/")[0],
});
}