const { bdd, execQueryAsync, execQueryAsyncWithId } = require("./bdd.js"); const DEBUG = require("../utils/debug").DEBUG; function isValidEmail(email) { // todo return true; } async function getAddresseId(email, name) { const localpart = email.split("@")[0]; const domain = email.split("@")[1]; const query = `INSERT INTO address (address_name, localpart, domain, email) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE email = ?, address_id = LAST_INSERT_ID(address_id)`; const values = [name, localpart, domain, email, email]; return await execQueryAsyncWithId(query, values); } function getMailboxId(email) { return new Promise((resolve, reject) => { resolve(0) }); // todo } async function getFieldId(field) { const query = `INSERT INTO field_name (field_name) VALUES (?) ON DUPLICATE KEY UPDATE field_id=LAST_INSERT_ID(field_id)`; const values = [field] return await execQueryAsyncWithId(query, values); } async function findRoomByOwner(ownerId) { const query = `SELECT room_id FROM app_room WHERE owner_id = ?`; const values = [ownerId]; return await execQueryAsync(query, values); } module.exports = { getAddresseId, getMailboxId, getFieldId, findRoomByOwner, };