import { execQueryAsync, execQueryAsyncWithId } from "./db"; export async function getAddresseId(email: string, name?: string): Promise { 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 address_name = ?, address_id = LAST_INSERT_ID(address_id)`; const values = [name, localpart, domain, email, name]; return await execQueryAsyncWithId(query, values); } export async function getFieldId(field: string): Promise { 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); } export async function findRoomByOwner(ownerId: number): Promise<{ room_id: number }[]> { const query = `SELECT room_id FROM app_room WHERE owner_id = ?`; const values = [ownerId]; return await execQueryAsync(query, values); } export async function getUserIdOfMailbox(boxId: number): Promise<{ user_id: number }[]> { const query = ` SELECT app_account.user_id FROM mailbox INNER JOIN app_account ON app_account.account_id = mailbox.account_id WHERE mailbox.mailbox_id = ? `; const values = [boxId]; return await execQueryAsync(query, values); }