Update init.sql

This commit is contained in:
2025-06-14 19:28:41 +03:30
committed by GitHub
parent 3fdee8c102
commit 4e5b34d695
+16 -9
View File
@@ -55,13 +55,16 @@ CREATE TABLE IF NOT EXISTS groups (
description TEXT description TEXT
); );
CREATE TABLE IF NOT EXISTS group_members ( CREATE TABLE group_members (
group_id UUID REFERENCES groups(internal_uuid) ON DELETE CASCADE, group_id UUID NOT NULL,
user_id UUID REFERENCES users(internal_uuid), user_id UUID NOT NULL,
role TEXT CHECK (role IN ('owner', 'admin', 'member')) DEFAULT 'member',
permissions JSONB DEFAULT '{}'::jsonb, -- مخصوص adminها
joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
role VARCHAR(20) DEFAULT 'member', -- member/admin/owner
PRIMARY KEY (group_id, user_id) PRIMARY KEY (group_id, user_id)
); );
CREATE TABLE IF NOT EXISTS channels ( CREATE TABLE IF NOT EXISTS channels (
channel_id VARCHAR(70) UNIQUE, channel_id VARCHAR(70) UNIQUE,
internal_uuid UUID PRIMARY KEY,, internal_uuid UUID PRIMARY KEY,,
@@ -73,12 +76,16 @@ CREATE TABLE IF NOT EXISTS channels (
); );
CREATE TABLE IF NOT EXISTS channel_subscribers (
channel_id UUID REFERENCES channels(internal_uuid) ON DELETE CASCADE, CREATE TABLE channel_subscribers (
user_id UUID REFERENCES users(internal_uuid), channel_id UUID NOT NULL,
user_id UUID NOT NULL,
role TEXT CHECK (role IN ('owner', 'admin', 'subscriber')) DEFAULT 'subscriber',
permissions JSONB DEFAULT '{}'::jsonb,
subscribed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, subscribed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (channel_id, user_id) PRIMARY KEY (channel_id, user_id)
); );
--(Bouns) --(Bouns)
CREATE TABLE IF NOT EXISTS channel_admins ( CREATE TABLE IF NOT EXISTS channel_admins (