diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-01-09 17:28:46 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-01-09 17:28:46 +0200 |
| commit | 936d3cf690ace9adfdfe0fb44193c11a0cb26d95 (patch) | |
| tree | 3d0699aa5c50efb7ecac3dddd25fe959366b7562 /internal/server/api/migrations/20250109141122_members.sql | |
| parent | d0cb135161b18f37c25501cb863fa783cd723758 (diff) | |
Added goose for migrations, refactored SQL schema, server and client
are broken
Diffstat (limited to 'internal/server/api/migrations/20250109141122_members.sql')
| -rw-r--r-- | internal/server/api/migrations/20250109141122_members.sql | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/server/api/migrations/20250109141122_members.sql b/internal/server/api/migrations/20250109141122_members.sql new file mode 100644 index 0000000..61fba61 --- /dev/null +++ b/internal/server/api/migrations/20250109141122_members.sql @@ -0,0 +1,15 @@ +-- +goose Up +CREATE TABLE IF NOT EXISTS members ( + user_id INT NOT NULL REFERENCES users (id), + network_id INT NOT NULL REFERENCES networks (id) ON DELETE CASCADE, + joined_at TEXT NOT NULL DEFAULT current_timestamp, + is_member BOOLEAN NOT NULL CHECK (is_member IN (false, true)) DEFAULT true, + is_admin BOOLEAN NOT NULL CHECK (is_admin IN (false, true)) DEFAULT false, + is_muted BOOLEAN NOT NULL CHECK (is_muted IN (false, true)) DEFAULT false, + is_banned BOOLEAN NOT NULL CHECK (is_banned IN (false, true)) DEFAULT false, + ban_reason TEXT, -- null ONLY if is_banned is false + PRIMARY KEY (user_id, network_id) +); + +-- +goose Down +DROP TABLE IF EXISTS members; |
