register flags

This commit is contained in:
grimhilt
2023-04-07 17:59:24 +02:00
parent 46ed3a1f41
commit af76e8f2f9
6 changed files with 49 additions and 343 deletions

View File

@@ -27,6 +27,12 @@ export function registerMailbox_message(
execQuery(query, values);
}
export function registerFlag(messageId: number, flagId: number) {
const query = `INSERT IGNORE INTO flag_name (message_id, flag_id) VALUES (?, ?)`;
const values = [messageId, flagId];
execQuery(query, values);
}
export function registerBodypart(messageId: number, part: string, bodypartId: number, bytes: number, nbLines: null) {
const query = `
INSERT IGNORE INTO part_number

View File

@@ -155,9 +155,27 @@ CREATE TABLE app_room_message (
-- 14
-- todo needed ?
CREATE TABLE app_room_member (
room_id INT NOT NULL,
room_id INT NOT NULL,
member_id INT NOT NULL,
UNIQUE KEY (room_id, member_id),
FOREIGN KEY (room_id) REFERENCES app_room(room_id) ON DELETE CASCADE,
FOREIGN KEY (member_id) REFERENCES address(address_id)
);
-- 15
create table flag_name (
flag_id INT NOT NULL,
flag_name VARCHAR(255) NOT NULL,
PRIMARY KEY (flag_id),
UNIQUE KEY (flag_name)
);
-- 16
create table flag (
message_id INT NOT NULL,
flag_id INT NOT NULL,
UNIQUE KEY (message_id, flag_id),
FOREIGN KEY (message_id) REFERENCES message(message_id) ON DELETE CASCADE,
FOREIGN KEY (message_id) REFERENCES message(message_id) ON DELETE CASCADE,
FOREIGN KEY (flag_id) REFERENCES flag_name(flag_id) ON DELETE CASCADE
);

View File

@@ -16,6 +16,12 @@ export async function getFieldId(field: string): Promise<number> {
return await execQueryAsyncWithId(query, values);
}
export async function getFlagId(flag: string): Promise<number> {
const query = `INSERT INTO flag_name (flag_name) VALUES (?) ON DUPLICATE KEY UPDATE flag_id=LAST_INSERT_ID(flag_id)`;
const values = [flag];
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];