30 lines
965 B
SQL
30 lines
965 B
SQL
CREATE TABLE IF NOT EXISTS telegram_users (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
telegram_id BIGINT NOT NULL UNIQUE,
|
|
username TEXT,
|
|
first_name TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS vpn_users (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
telegram_id BIGINT,
|
|
remnawave_uuid UUID NOT NULL UNIQUE,
|
|
remnawave_username VARCHAR(36) NOT NULL,
|
|
external_squad_uuid UUID,
|
|
internal_squad_uuids UUID[] NOT NULL DEFAULT '{}',
|
|
expire_at TIMESTAMPTZ,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_vpn_users_telegram ON vpn_users(telegram_id);
|
|
CREATE INDEX IF NOT EXISTS idx_vpn_users_username ON vpn_users(remnawave_username);
|
|
|
|
CREATE TABLE IF NOT EXISTS admin_wizard (
|
|
admin_telegram_id BIGINT PRIMARY KEY,
|
|
step TEXT NOT NULL,
|
|
data JSONB NOT NULL DEFAULT '{}',
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|