base service with authentication and user creation

This commit is contained in:
2025-12-14 17:30:08 +01:00
commit fe38d42a9e
5 changed files with 110 additions and 0 deletions

26
db/init.sql Normal file
View File

@@ -0,0 +1,26 @@
CREATE TABLE IF NOT EXISTS user (
id SERIAL PRIMARY KEY,
email TEXT UNIQUE,
username TEXT NOT NULL UNIQUE,
password_hash TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS channel (
id SERIAL PRIMARY KEY,
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 message (
id BIGSERIAL PRIMARY KEY,
sender INT REFERENCES user(id) NOT NULL,
channel INT REFERENCES channel(id) NOT NULL,
type VARCHAR(32) NOT NULL,
content TEXT NOT NULL
);