From 30f41553693dacab271bccebff827694ba6c8fec Mon Sep 17 00:00:00 2001 From: eiiko6 Date: Sun, 14 Dec 2025 20:04:04 +0100 Subject: [PATCH] added rooms and uuids --- db/init.sql | 22 ++++++++++++---------- db/mock_data.sql | 22 +++++++++++----------- flake.nix | 2 +- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/db/init.sql b/db/init.sql index dc75867..48f66f1 100644 --- a/db/init.sql +++ b/db/init.sql @@ -1,26 +1,28 @@ -CREATE TABLE IF NOT EXISTS user ( +CREATE TABLE IF NOT EXISTS user_ ( id SERIAL PRIMARY KEY, + uuid UUID UNIQUE, email TEXT UNIQUE, username TEXT NOT NULL UNIQUE, password_hash TEXT NOT NULL ); -CREATE TABLE IF NOT EXISTS channel ( +CREATE TABLE IF NOT EXISTS room_ ( id SERIAL PRIMARY KEY, - owner INT NOT NULL REFERENCES user(id) ON DELETE CASCADE, + uuid UUID UNIQUE, + owner INT NOT NULL REFERENCES user_(id) ON DELETE CASCADE, name TEXT NOT NULL ); -CREATE TABLE IF NOT EXISTS membership ( - user INT REFERENCES user(id), - channel INT REFERENCES channel(id), - PRIMARY KEY (user, channel) +CREATE TABLE IF NOT EXISTS membership_ ( + user_id INT REFERENCES user_(id), + room INT REFERENCES room_(id), + PRIMARY KEY (user_id, room) ); -CREATE TABLE IF NOT EXISTS message ( +CREATE TABLE IF NOT EXISTS message_ ( id BIGSERIAL PRIMARY KEY, - sender INT REFERENCES user(id) NOT NULL, - channel INT REFERENCES channel(id) NOT NULL, + sender INT REFERENCES user_(id) NOT NULL, + room INT REFERENCES room_(id) NOT NULL, type VARCHAR(32) NOT NULL, content TEXT NOT NULL ); diff --git a/db/mock_data.sql b/db/mock_data.sql index a05d0ce..910ce11 100644 --- a/db/mock_data.sql +++ b/db/mock_data.sql @@ -1,24 +1,24 @@ -INSERT INTO user (username, password_hash, email) VALUES -('alice', '$argon2id$v=19$m=19456,t=2,p=1$W0OzC/dmZQt7/xUJt4E9hA$cYiUC91a5yCQU9tDUadw0FKjUmTRv453cYwu1nfMKUQ', 'alice@example.com'), -('bob', '$argon2id$v=19$m=19456,t=2,p=1$1T7VaQps1X5Wj+TJHt8FIQ$/hA7PSITskjELwfNw+s6BvCJmUA4dDDrSGJvDvHx7Kc', 'bob@example.com'), -('carol', '$argon2id$v=19$m=19456,t=2,p=1$Kw4Re4lggxzDldu3vNl2PA$6DP4MPftfXI77g8EZRXYmWgcnVnAKLq0dkZOb/eBIC8', 'carol@example.com'); +INSERT INTO user_ (username, email, uuid, password_hash) VALUES +('alice', 'alice@example.com', '019b1e35-f2a3-7270-bf69-559af5be14b2', '$argon2id$v=19$m=19456,t=2,p=1$z8LFtcIvrrl1QhQoYJs/Yw$IB6h0SqWw+sZuExdsx7Rofdy/IbQrCImB08goR27Tgk'), +('bob', 'bob@example.com', '019b1e36-3b8c-7f82-b845-6bfeb72466ce', '$argon2id$v=19$m=19456,t=2,p=1$mzO6Qx8ZH4/wrj14ZgKiuA$7bxNWCgsIVEfPgtueFbjbi8mDjbAHMYAHOGpxTJnEpQ'), +('carol', 'carol@example.com', '019b1e36-7706-76e2-b9ce-b37916ddfc99', '$argon2id$v=19$m=19456,t=2,p=1$5rw/7uIJIKMnyqNrYQt92Q$DJVEfgbaZtkflsmDEkSoR3uDQmujI4T73cWq9hOBgVI'); -INSERT INTO channel (owner, name) VALUES -(1, 'General Discussion'), -(2, 'Tech Talk'), -(1, 'Random Memes'); +INSERT INTO room_ (owner, name, uuid) VALUES +(1, 'General Discussion', '5dc599ee-1f5c-40c2-a22a-e40780d2d960'), +(2, 'Tech Talk', '6b14fe7b-2171-4464-95af-4888062b1b6d'), +(1, 'Random Memes', 'fb794f59-6b2d-4daa-8980-dc5255862657'); -INSERT INTO membership (user, channel) VALUES +INSERT INTO membership_ (user_id, room) VALUES (1, 1), -- Alice in General Discussion (2, 1), -- Bob in General Discussion (2, 2), -- Bob in Tech Talk (3, 1), -- Carol in General Discussion (1, 3); -- Alice in Random Memes -INSERT INTO message (sender, channel, type, content) VALUES +INSERT INTO message_ (sender, room, type, content) VALUES (1, 1, 'text', 'Hey everyone, hows it going?'), (2, 1, 'text', 'All good! Just trying to get through some work.'), (3, 1, 'text', 'Hello! How are you guys?'), (2, 2, 'text', 'Anyone seen the new tech updates?'), (1, 3, 'image', 'Heres a funny meme I found!'), -(3, 1, 'text', 'I love how active this channel is!'); +(3, 1, 'text', 'I love how active this room is!'); diff --git a/flake.nix b/flake.nix index 4452510..03b0f37 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,7 @@ openssl = pkgs.openssl; in { packages.default = pkgs.rustPlatform.buildRustPackage { - pname = "-server"; + pname = "chatapp"; version = "0.1.0"; src = ./.;