add queries for app functionnalities
This commit is contained in:
@@ -18,6 +18,40 @@ bdd.connect(function (err) {
|
||||
}
|
||||
});
|
||||
|
||||
function execQueryAsync(query) {
|
||||
return new Promise((resolve, reject) => {
|
||||
bdd.query(query, (err, results, fields) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(results);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function execQueryAsyncWithId(query) {
|
||||
return new Promise((resolve, reject) => {
|
||||
bdd.query(query, (err, results, fields) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(results.insertId);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function execQuery(query) {
|
||||
bdd.query(query, (err, results, fields) => {
|
||||
if (err) throw (err);
|
||||
return results
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
bdd: bdd,
|
||||
bdd, // todo remove this
|
||||
execQuery,
|
||||
execQueryAsync,
|
||||
execQueryAsyncWithId
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
const bdd = require("./bdd.js").bdd;
|
||||
const { bdd, execQueryAsyncWithId } = require("./bdd.js");
|
||||
const DEBUG = require("../utils/debug").DEBUG;
|
||||
|
||||
function isValidEmail(email) {
|
||||
@@ -7,18 +7,12 @@ function isValidEmail(email) {
|
||||
}
|
||||
|
||||
|
||||
function getAddresseId(email, name) {
|
||||
async function getAddresseId(email, name) {
|
||||
const localpart = email.split("@")[0];
|
||||
const domain = email.split("@")[1];
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!isValidEmail(email)) reject("Not a valid email");
|
||||
const query = `INSERT INTO address (address_name, localpart, domain, email) VALUES ('${name}', '${localpart}', '${domain}', '${email}')
|
||||
ON DUPLICATE KEY UPDATE email = '${email}', id = LAST_INSERT_ID(id)`;
|
||||
bdd.query(query, (err, results, fields) => {
|
||||
if (err) reject(err);
|
||||
resolve(results.insertId);
|
||||
});
|
||||
});
|
||||
const query = `INSERT INTO address (address_name, localpart, domain, email) VALUES ('${name}', '${localpart}', '${domain}', '${email}')
|
||||
ON DUPLICATE KEY UPDATE email = '${email}', address_id = LAST_INSERT_ID(address_id)`;
|
||||
return await execQueryAsyncWithId(query);
|
||||
}
|
||||
|
||||
function getMailboxId(email) {
|
||||
@@ -28,15 +22,9 @@ function getMailboxId(email) {
|
||||
// todo
|
||||
}
|
||||
|
||||
function getFieldId(field) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const query = `INSERT INTO field_name (field_name) VALUES ('${field}') ON DUPLICATE KEY UPDATE field_id=LAST_INSERT_ID(field_id);
|
||||
`;
|
||||
bdd.query(query, (err, results, fields) => {
|
||||
if (err) reject(err);
|
||||
resolve(results.insertId);
|
||||
});
|
||||
});
|
||||
async function getFieldId(field) {
|
||||
const query = `INSERT INTO field_name (field_name) VALUES ('${field}') ON DUPLICATE KEY UPDATE field_id=LAST_INSERT_ID(field_id)`;
|
||||
return await execQueryAsyncWithId(query);
|
||||
}
|
||||
|
||||
function findRoomByOwner(ownerId) {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
const bdd = require("./bdd.js").bdd;
|
||||
const {bdd} = require("./bdd.js");
|
||||
const DEBUG = require("../utils/debug").DEBUG;
|
||||
|
||||
function registerMessage(timestamp, rfc822size, messageId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const query = `INSERT INTO message (idate, messageID, rfc822size) VALUES (${timestamp}, '${messageId}', '${rfc822size}')`;
|
||||
const query = `INSERT INTO message (idate, messageID, rfc822size) VALUES ('${timestamp}', '${messageId}', ${rfc822size})
|
||||
ON DUPLICATE KEY UPDATE message_id = LAST_INSERT_ID(message_id)`;
|
||||
bdd.query(query, (err, results, fields) => {
|
||||
if (err) reject(err);
|
||||
resolve(results.insertId);
|
||||
@@ -19,7 +20,7 @@ function registerMailbox_message(mailboxId, uid, messageId, modseq, seen, delete
|
||||
}
|
||||
|
||||
function registerBodypart(messageId, part, bodypartId, bytes, nbLines) {
|
||||
const query = `INSERT IGNORE INTO part_number (message_id, part, bodypart, bytes, nbLines) VALUES ('${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);
|
||||
});
|
||||
|
||||
@@ -83,10 +83,15 @@ function isRoomGroup(roomId) {
|
||||
});
|
||||
}
|
||||
|
||||
function findSpacesFromMessage(messageId) {
|
||||
const query = ``;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
createRoom,
|
||||
registerMessageInRoom,
|
||||
createThread,
|
||||
registerMessageInThread,
|
||||
isRoomGroup
|
||||
isRoomGroup,
|
||||
findSpacesFromMessage
|
||||
};
|
||||
Reference in New Issue
Block a user