feat: новая функция

This commit is contained in:
2025-10-22 15:17:08 +03:00
parent 0cbc31812a
commit b2e0795e8a
15 changed files with 724 additions and 36 deletions

View File

@@ -3,6 +3,8 @@ CREATE TABLE IF NOT EXISTS users (
username VARCHAR(255),
email VARCHAR(255) UNIQUE,
address VARCHAR(255) UNIQUE,
first_name_encrypted TEXT,
last_name_encrypted TEXT,
status VARCHAR(50) DEFAULT 'active',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

View File

@@ -1,6 +1,6 @@
CREATE TABLE IF NOT EXISTS roles (
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL UNIQUE,
name_encrypted TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

View File

@@ -1,10 +1,9 @@
CREATE TABLE IF NOT EXISTS user_identities (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id) ON DELETE CASCADE,
provider VARCHAR(50) NOT NULL,
provider_id VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE(provider, provider_id)
provider_encrypted TEXT NOT NULL,
provider_id_encrypted TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Создаем индексы после создания таблицы

View File

@@ -1,13 +1,14 @@
CREATE TABLE IF NOT EXISTS messages (
id SERIAL PRIMARY KEY,
conversation_id INTEGER REFERENCES conversations(id) ON DELETE CASCADE,
sender_type VARCHAR(20) NOT NULL,
sender_type_encrypted TEXT NOT NULL,
sender_id INTEGER,
content TEXT,
channel VARCHAR(20) NOT NULL,
content_encrypted TEXT,
channel_encrypted TEXT NOT NULL,
role_encrypted TEXT NOT NULL DEFAULT 'user',
direction_encrypted TEXT,
metadata JSONB,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
role VARCHAR(20) NOT NULL DEFAULT 'user',
user_id INTEGER REFERENCES users(id) ON DELETE CASCADE,
tokens_used INTEGER DEFAULT 0,
is_processed BOOLEAN DEFAULT FALSE

View File

@@ -1,7 +1,7 @@
CREATE TABLE IF NOT EXISTS nonces (
id SERIAL PRIMARY KEY,
identity_value VARCHAR(255) NOT NULL,
nonce VARCHAR(255) NOT NULL,
identity_value_encrypted TEXT NOT NULL,
nonce_encrypted TEXT NOT NULL,
expires_at TIMESTAMP NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);

View File

@@ -3,8 +3,8 @@
-- Таблица RPC провайдеров
CREATE TABLE IF NOT EXISTS rpc_providers (
id SERIAL PRIMARY KEY,
network_id VARCHAR(64) NOT NULL UNIQUE,
rpc_url TEXT NOT NULL,
network_id_encrypted TEXT NOT NULL,
rpc_url_encrypted TEXT NOT NULL,
chain_id INTEGER,
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
@@ -13,11 +13,14 @@ CREATE TABLE IF NOT EXISTS rpc_providers (
-- Таблица токенов аутентификации
CREATE TABLE IF NOT EXISTS auth_tokens (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
address VARCHAR(64) NOT NULL,
network VARCHAR(64) NOT NULL,
name_encrypted TEXT NOT NULL,
address_encrypted TEXT NOT NULL,
network_encrypted TEXT NOT NULL,
min_balance NUMERIC(36, 18) NOT NULL,
readonly_threshold INTEGER DEFAULT 1,
editor_threshold INTEGER DEFAULT 1,
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT auth_tokens_address_network_unique UNIQUE (address, network)
);
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);
-- Дефолтные данные заполняются через db_init_helper.sh

View File

@@ -2,8 +2,8 @@
CREATE TABLE IF NOT EXISTS user_tables (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
name_encrypted TEXT NOT NULL,
description_encrypted TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
@@ -12,8 +12,9 @@ CREATE TABLE IF NOT EXISTS user_tables (
CREATE TABLE IF NOT EXISTS user_columns (
id SERIAL PRIMARY KEY,
table_id INTEGER NOT NULL REFERENCES user_tables(id) ON DELETE CASCADE,
name VARCHAR(255) NOT NULL,
type VARCHAR(50) NOT NULL, -- text, number, select, multiselect, date, etc.
name_encrypted TEXT NOT NULL,
type_encrypted TEXT NOT NULL, -- text, number, select, multiselect, date, etc.
placeholder_encrypted TEXT,
options JSONB DEFAULT NULL, -- для select/multiselect
"order" INTEGER DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,