add queries for app functionnalities
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
const { getAddresseId } = require("../sql/mail");
|
||||
const { DEBUG } = require("../utils/debug");
|
||||
const { simpleParser } = require("mailparser");
|
||||
|
||||
const moment = require('moment');
|
||||
const {
|
||||
registerMessage,
|
||||
registerMailbox_message,
|
||||
@@ -16,13 +16,14 @@ const {
|
||||
registerMessageInRoom,
|
||||
createThread,
|
||||
registerMessageInThread,
|
||||
isRoomGroup
|
||||
isRoomGroup,
|
||||
findSpacesFromMessage
|
||||
} = require("../sql/saveMessageApp");
|
||||
const { getFieldId, findRoomByOwner } = require("../sql/mail");
|
||||
|
||||
function saveMessage(attrs, mailboxId, imap) {
|
||||
const envelope = attrs.envelope;
|
||||
const timestamp = new Date(envelope.date).getTime();
|
||||
const timestamp = moment(new Date(envelope.date).getTime()).format('YYYY-MM-DD HH:mm:ss');
|
||||
const rfc822size = attrs.size;
|
||||
|
||||
registerMessage(timestamp, rfc822size, envelope.messageId).then(
|
||||
@@ -94,7 +95,7 @@ function saveMessage(attrs, mailboxId, imap) {
|
||||
getFieldId(newKey).then((fieldId) => {
|
||||
if (envelope[key]) {
|
||||
envelope[key].forEach((elt, index) => {
|
||||
getAddresseId(`${elt.mailbox}@${elt.host}`).then((addressId) => {
|
||||
getAddresseId(createAddress(elt)).then((addressId) => {
|
||||
saveAddress_fields(messageId, part, position, fieldId, index, addressId);
|
||||
});
|
||||
});
|
||||
@@ -104,7 +105,8 @@ function saveMessage(attrs, mailboxId, imap) {
|
||||
});
|
||||
|
||||
// todo check for different provider name of inreplyto
|
||||
registerMessageInApp()
|
||||
// registerMessageInApp(envelope, messageId);
|
||||
console.log(envelope)
|
||||
|
||||
}
|
||||
);
|
||||
@@ -114,24 +116,33 @@ function haveSameReceivers() {
|
||||
// take cc and to
|
||||
}
|
||||
|
||||
function registerMessageInApp() {
|
||||
if (envelope.inReplyTo) {
|
||||
registerReplyMessage();
|
||||
} else {
|
||||
findRoomByOwner(ownerId).then((res) => {
|
||||
if (res.length == 0) {
|
||||
registerMessageInRoom(messageId, res[0].id);
|
||||
} else {
|
||||
createRoom(envelope.subject, ownerId, envelope.flags.includes["seen"]).then((roomId) => {
|
||||
registerMessageInRoom(messageId, roomId);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* take object address and join mailbox and host to return mailbox@host
|
||||
*/
|
||||
function createAddress(elt) {
|
||||
return `${elt.mailbox}@${elt.host}`
|
||||
}
|
||||
|
||||
function registerReplyMessage() {
|
||||
findSpaceFromMessage(messageId).then((spaces) => {
|
||||
function registerMessageInApp(envelope, messageId) {
|
||||
getAddresseId(createAddress(envelope.sender[0])).then((ownerId) => {
|
||||
if (envelope.inReplyTo) {
|
||||
registerReplyMessage();
|
||||
} else {
|
||||
findRoomByOwner(ownerId).then((res) => {
|
||||
if (res.length == 0) {
|
||||
registerMessageInRoom(messageId, res[0].id);
|
||||
} else {
|
||||
createRoom(envelope.subject, ownerId, envelope.flags.includes["seen"]).then((roomId) => {
|
||||
registerMessageInRoom(messageId, roomId);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function registerReplyMessage(envelope, messageId) {
|
||||
findSpacesFromMessage(messageId).then((spaces) => {
|
||||
if(spaces.length == 0) { // no space, so is a transfer
|
||||
// todo test if members of transferred message are included
|
||||
} else if (spaces[0].room) { // message in room
|
||||
|
||||
Reference in New Issue
Block a user