Module core

Module core 

Source
Expand description

Módulo de gerenciamento do banco de dados da aplicação.

Gerencia a criação e inicialização do banco SQLite para a biblioteca de jogos e wishlist, além do armazenamento seguro de secrets (API keys, tokens) com criptografia.

Bancos de Dados:

  • library.db: armazena a biblioteca de jogos e wishlist do usuário.
  • secrets.db: armazena secrets encriptados com AES-256-GCM.
  • metadata.db: cache para respostas de APIs externas (RAWG, Steam).

Versão do Schema: v3

Structs§

AppState
Define o estado global da aplicação com ambas as conexões

Constants§

SCHEMA_VERSION

Functions§

current_schema_version
Retorna a versão atual do schema armazenada no banco
delete_secret
Remove um secret do banco permanentemente.
deserialize_tags
Deserializa tags do banco (com fallback para formato antigo)
expected_schema_version
Retorna a versão do schema esperada para esta versão do app
get_secret
Recupera e decripta um secret do banco. Se a chave não existir, retorna string vazia ao invés de erro.
init_db
Inicializa o banco de dados e verifica a versão do schema.
initialize_databases
Inicializa ambos os bancos de dados e retorna o estado da aplicação
list_supported_keys
Retorna lista de chaves de secrets suportadas pela aplicação.
serialize_tags
Serializa tags para salvar no banco
set_secret
Salva um secret encriptado no banco. Se a chave já existir, o valor é substituído (upsert).