const { bdd, execQuery, execQueryAsync, execQueryAsyncWithId } = require("./bdd.js"); const DEBUG = require("../utils/debug").DEBUG; async function registerMessage(timestamp, rfc822size, messageId) { const query = `INSERT INTO message (idate, messageID, rfc822size) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE message_id = LAST_INSERT_ID(message_id)`; const values = [timestamp, messageId, rfc822size]; return await execQueryAsyncWithId(query, values); } function registerMailbox_message(mailboxId, uid, messageId, modseq, seen, deleted) { const query = `INSERT IGNORE INTO mailbox_message (mailbox_id, uid, message_id, modseq, seen, deleted) VALUES ('${mailboxId}', '${uid}', '${messageId}', '${modseq}', '${seen}', '${deleted}')`; bdd.query(query, (err, results, fields) => { if (err) DEBUG.log(err); }); } function registerBodypart(messageId, part, bodypartId, bytes, nbLines) { const query = `INSERT IGNORE INTO part_number (message_id, part, bodypart_id, bytes, nb_lines) VALUES ('${messageId}', '${part}', '${bodypartId}', '${bytes}', '${nbLines}')`; bdd.query(query, (err, results, fields) => { if (err) DEBUG.log(err); }); } function saveBodypart(bytes, hash, text, data) { return new Promise((resolve, reject) => { const query = `INSERT IGNORE INTO bodypart (bytes, hash, text, data) VALUES ('${bytes}', '${hash}', '${text}', '${data}')`; bdd.query(query, (err, results, fields) => { if (err) reject(err); resolve(results.insertId); }); }); } function saveHeader_fields(message, part, position, field, value) { const query = `INSERT INTO header_field (message_id, part, position, field_id, value) VALUES (?, ?, ?, ?, ?)`; const values = [message, part, position, field, value]; execQuery(query, values); } function saveAddress_fields(message, part, position, field, number, address) { const query = `INSERT INTO address_field (message_id , part, position, field_id, number, address_id) VALUES (?, ?, ?, ?, ?, ?)`; const values = [message, part, position, field, number, address]; execQuery(query, values); } module.exports = { registerMessage, registerMailbox_message, saveHeader_fields, saveAddress_fields, registerBodypart, saveBodypart, }