const bdd = require("./bdd.js").bdd; const DEBUG = require("../utils/debug").DEBUG; function isValidEmail(email) { // todo return true; } 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); }); }); } function getMailboxId(email) { return new Promise((resolve, reject) => { resolve(0) }); // 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); }); }); } function findRoomByOwner(ownerId) { return new Promise((resolve, reject) => { const query = `SELECT room_id FROM app_room WHERE owner_id = '${ownerId}'`; bdd.query(query, (err, results, fields) => { if (err) reject(err); resolve(results); }); }); } module.exports = { getAddresseId, getMailboxId, getFieldId, findRoomByOwner, };