mail/back/sql/mail.js
2023-03-13 19:12:57 +01:00

45 lines
1.3 KiB
JavaScript

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,
};