55 lines
2.2 KiB
JavaScript
55 lines
2.2 KiB
JavaScript
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 (?, ?, ?, ?, ?, ?)`;
|
|
const values = [mailboxId, uid, messageId, modseq, seen, deleted];
|
|
execQuery(query, values);
|
|
}
|
|
|
|
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);
|
|
});
|
|
}
|
|
|
|
async function saveBodypart(bytes, hash, text, data) {
|
|
const query = `INSERT IGNORE INTO bodypart (bytes, hash, text, data) VALUES (?, ?, ?,)`;
|
|
const values = [bytes, hash, text, data];
|
|
return await execQueryAsyncWithId(query, values);
|
|
}
|
|
|
|
async function saveHeader_fields(messageId, fieldId, bodypartId, part, value) {
|
|
const query = `INSERT IGNORE INTO header_field (message_id, field_id, bodypart_id, part, value) VALUES (?, ?, ?, ?, ?)`;
|
|
const values = [messageId, fieldId, bodypartId, part, value];
|
|
return await execQueryAsync(query, values);
|
|
}
|
|
|
|
async function saveAddress_fields(messageId, fieldId, addressId, number) {
|
|
const query = `INSERT IGNORE INTO address_field (message_id , field_id, address_id, number) VALUES (?, ?, ?, ?)`;
|
|
const values = [messageId, fieldId, addressId, number];
|
|
return execQueryAsync(query, values);
|
|
}
|
|
|
|
function saveSource(messageId, content) {
|
|
// todo
|
|
}
|
|
|
|
module.exports = {
|
|
registerMessage,
|
|
registerMailbox_message,
|
|
saveHeader_fields,
|
|
saveAddress_fields,
|
|
registerBodypart,
|
|
saveBodypart,
|
|
saveSource
|
|
} |