SHA256
05 01 25
Документы: Описание БД и всех запросов актуализировал!
This commit is contained in:
@@ -10,16 +10,26 @@ import java.util.List;
|
||||
/**
|
||||
* SolanaUsersDAO — локальная таблица пользователей из Solana.
|
||||
*
|
||||
* Колонки:
|
||||
* - login TEXT (PK)
|
||||
* - bchName TEXT
|
||||
* - loginKey TEXT
|
||||
* - deviceKey TEXT
|
||||
* - bchLimit INTEGER (может быть NULL)
|
||||
* Таблица: solana_users
|
||||
*
|
||||
* Правило:
|
||||
* - методы с Connection НЕ закрывают соединение
|
||||
* - методы без Connection сами открывают и закрывают соединение
|
||||
* Колонки:
|
||||
* - login TEXT PRIMARY KEY
|
||||
* Уникальный логин пользователя (case-insensitive используется на уровне запросов).
|
||||
*
|
||||
* - deviceKey TEXT NOT NULL
|
||||
* Публичный ключ устройства пользователя.
|
||||
* Хранится в Base64(32 bytes) или HEX(64 chars).
|
||||
*
|
||||
* - solanaKey TEXT NULLABLE
|
||||
* Публичный ключ Solana-аккаунта пользователя (если есть).
|
||||
*
|
||||
* Назначение таблицы:
|
||||
* - локальное сопоставление login → deviceKey / solanaKey
|
||||
* - используется для аутентификации, валидации подписей и связки с блокчейном
|
||||
*
|
||||
* Правило работы с соединениями:
|
||||
* - методы с Connection НЕ закрывают соединение
|
||||
* - методы без Connection сами открывают и закрывают соединение
|
||||
*/
|
||||
public final class SolanaUsersDAO {
|
||||
|
||||
|
||||
@@ -3,15 +3,35 @@ package shine.db.entities;
|
||||
import java.util.Base64;
|
||||
|
||||
/**
|
||||
* Локальная копия пользователя из Solana.
|
||||
* SolanaUserEntry — локальная запись пользователя из Solana.
|
||||
*
|
||||
* Теперь:
|
||||
* Таблица: solana_users
|
||||
*
|
||||
* Поля:
|
||||
* - login — PRIMARY KEY (TEXT)
|
||||
* - bchName — имя/идентификатор персонального блокчейна (TEXT)
|
||||
* - loginKey — публичный ключ логина
|
||||
* - deviceKey — публичный ключ устройства
|
||||
* - bchLimit — лимит (может быть null)
|
||||
* Уникальный логин пользователя.
|
||||
*
|
||||
* - deviceKey — TEXT NOT NULL
|
||||
* Публичный ключ устройства.
|
||||
* Поддерживаемые форматы:
|
||||
* • Base64 (32 байта)
|
||||
* • HEX (64 hex-символа)
|
||||
*
|
||||
* - solanaKey — TEXT NULLABLE
|
||||
* Публичный ключ Solana-аккаунта пользователя (если используется).
|
||||
*
|
||||
* Назначение:
|
||||
* - хранение минимальной локальной информации о пользователе
|
||||
* - используется для:
|
||||
* • проверки подписи запросов
|
||||
* • привязки пользователя к блокчейну
|
||||
* • сопоставления login ↔ ключи
|
||||
*
|
||||
* ВАЖНО:
|
||||
* - deviceKey обязателен всегда
|
||||
* - solanaKey может отсутствовать (null)
|
||||
*/
|
||||
|
||||
public class SolanaUserEntry {
|
||||
|
||||
private String login; // TEXT PK
|
||||
|
||||
Reference in New Issue
Block a user