added integration tests and added message with attachments

This commit is contained in:
2026-06-28 17:31:58 +02:00
parent e2f1e4a952
commit b45f5ff35f
14 changed files with 1913 additions and 513 deletions
+10 -1
View File
@@ -48,7 +48,7 @@ CREATE TABLE IF NOT EXISTS room_invite_ (
CREATE TABLE IF NOT EXISTS message_ (
id BIGSERIAL PRIMARY KEY,
uuid UUID NOT NULL,
uuid UUID UNIQUE NOT NULL,
sender INT REFERENCES user_(id) NOT NULL,
room INT REFERENCES room_(id) NOT NULL,
message_type VARCHAR(32) NOT NULL,
@@ -56,6 +56,14 @@ CREATE TABLE IF NOT EXISTS message_ (
sent_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE message_attachment_ (
id SERIAL PRIMARY KEY,
uuid UUID NOT NULL UNIQUE,
message_uuid UUID NOT NULL REFERENCES message_(uuid),
file_type VARCHAR(20) NOT NULL,
file_name TEXT NOT NULL
);
CREATE TABLE ws_token_ (
token TEXT PRIMARY KEY,
expires_at TIMESTAMPTZ NOT NULL
@@ -64,6 +72,7 @@ CREATE TABLE ws_token_ (
-- ==== INDICES ====
CREATE INDEX idx_message_room_sent_at ON message_ (room, sent_at);
CREATE UNIQUE INDEX idx_membership_user_room ON membership_ (user_id, room) INCLUDE (last_read_at);
CREATE INDEX idx_attachment_message ON message_attachment_(message_uuid);
-- Timestamp creation
-- CREATE OR REPLACE FUNCTION create_notification_timestamp()