new chat with material ui

This commit is contained in:
Cassio Santos
2020-06-11 09:26:12 -03:00
parent d91c0c5155
commit d30e61033b
8 changed files with 247 additions and 63 deletions

View File

@@ -19,7 +19,7 @@ const fileStorage = multer.diskStorage({
cb(null, "public");
},
filename: (req, file, cb) => {
cb(null, new Date().getTime() + "-" + file.originalname);
cb(null, new Date().getTime() + "-" + file.originalname.replace(/\s/g, ""));
},
});

View File

@@ -5,19 +5,22 @@ const Sequelize = require("sequelize");
exports.getContacts = async (req, res) => {
try {
const contacts = await Contact.findAll({
include: { model: Message, attributes: [] },
include: {
model: Message,
attributes: ["messageBody"],
},
attributes: {
include: [
[
Sequelize.literal(`(
SELECT COUNT(*)
FROM messages AS message
WHERE
message.contactId = contact.id
AND
message.read = 0
)`),
SELECT COUNT(*)
FROM messages AS message
WHERE
message.contactId = contact.id
AND
message.read = 0
)`),
"unreadMessages",
],
],

View File

@@ -81,15 +81,7 @@ exports.getContactMessages = async (req, res, next) => {
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,
...message.dataValues,
mediaUrl: `${
message.mediaUrl
? `http://localhost:8080/public/${message.mediaUrl}`
@@ -117,7 +109,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.filename;
message.mediaUrl = req.file.filename.replace(/\s/g, "");
if (newMedia.mimetype) {
message.mediaType = newMedia.mimetype.split("/")[0];
} else {
@@ -143,7 +135,14 @@ exports.postCreateContactMessage = async (req, res, next) => {
io.to(contactId).emit("appMessage", {
action: "create",
message: newMessage,
message: {
...newMessage.dataValues,
mediaUrl: `${
message.mediaUrl
? `http://localhost:8080/public/${message.mediaUrl}`
: ""
}`,
},
});
await setMessagesAsRead(contactId);

View File

@@ -1 +1 @@
{"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==\""}
{"WABrowserId":"\"E9dnt9Mm/JiFDCMJQHkXBw==\"","WASecretBundle":"{\"key\":\"fHTKtoDcxidboASIs5WV5JKyRrF+SfMktqHXmq/KBJU=\",\"encKey\":\"FrM3OnnEbuEr1JrtKypw5CPSc6rSD5bjbOGstv8ijk4=\",\"macKey\":\"fHTKtoDcxidboASIs5WV5JKyRrF+SfMktqHXmq/KBJU=\"}","WAToken1":"\"9leF1nILpG4UaO0PWCoKA48h8dSn8UdIPNYZg3bpZv4=\"","WAToken2":"\"1@6OzeSH6s5Y8ozcOu4+l2N7wfaSk6C5Aop8h2BN08xAvvuGCfcuMzctLlOMNDaSw1j2qfFNM4CGjKdA==\""}