update delete behavior when have thread and beautify code

This commit is contained in:
grimhilt
2023-05-07 23:27:08 +02:00
parent 843659b495
commit f7c95b3a36
8 changed files with 239 additions and 72 deletions

View File

@@ -68,8 +68,12 @@ export async function getRoomOnMessageId(messageId: number) {
return await execQueryAsync(query, values);
}
export async function getRoomNbMessage(roomId: number) {
const query = `SELECT COUNT(room_id) AS nbMessage FROM app_room_message WHERE room_id = ?`;
export async function getRoomNbMessageAndThread(roomId: number): Promise<{ nbMessage: number; nbThread: number }[]> {
const query = `
SELECT COUNT(arm.room_id) AS nbMessage, COUND(app_thread.room_id) AS nbThread
FROM app_room_message arm
INNER JOIN app_thread ON (app_thread.root_id = arm.room_id OR app_thread.parent_id = arm.room_id)
WHERE room_id = ?`;
const values = [roomId];
return await execQueryAsync(query, values);
}

View File

@@ -0,0 +1,23 @@
import { execQueryAsync } from "../db";
export async function getFlagsOnUid(uid: number): Promise<{ flag_id: number; flag_name: string }[]> {
const query = `
SELECT * FROM flag_name
INNER JOIN flag ON flag.flag_id = flag_name.flag_id
INNER JOIN mailbox_message ON mailbox_message.message_id = flag.message_id
WHERE mailbox_message.uid = ?
`;
const values = [uid];
return await execQueryAsync(query, values);
}
export async function getFlagsOnId(messageId: number): Promise<{ flag_id: number; flag_name: string }[]> {
const query = `
SELECT * FROM flag_name
INNER JOIN flag ON flag.flag_id = flag_name.flag_id
INNER JOIN mailbox_message ON mailbox_message.message_id = flag.message_id
WHERE mailbox_message.message_id = ?
`;
const values = [messageId];
return await execQueryAsync(query, values);
}