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§
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).