Começando com Rust
O SDK usa Tokio e requer Rust 1.88+. Adicione nelcota-client = "0.1.2"
ao Cargo.toml, junto de serde, serde_json e tokio (veja o README). Para testar
a fonte não publicada, use uma dependência local path apontando para
sdk/rust; os exemplos abaixo são executados no checkout. O servidor compilado
do repositório exige Rust 1.99.0; ele e o SDK têm versões independentes.
- Inicie o Nelcota com
cargo run -- devou use um projeto implantado. - Aplique examples/notes.sql (o mesmo do SDK JavaScript) pelo
editor SQL do painel ou como migração (
nelcota migrate). - Defina
NELCOTA_URL,NELCOTA_EMAILeNELCOTA_PASSWORDpara um usuário existente. Como alternativa, passeNELCOTA_ACCESS_TOKEN. - Execute
cargo run -p nelcota-client --example restna raiz do repositório. O exemplo cria uma nota, lê, atualiza e remove a nota que acabou de criar.
Para obter modelos do banco:
nelcota types --lang rust -o src/database.rsInclua com mod database;. Use database::public::notes::Row ao selecionar
todas as colunas, ou uma struct própria para projeções. Insert e Update usam
Field::Omit para não enviar campos e Field::Value(None) para escrever null
em campos anuláveis. Campos calculados não aparecem nas escritas.
Cada cliente mantém sua sessão em memória; clones compartilham a coordenação
de refresh. Em um backend que atende vários usuários, use
client.with_access_token(token_do_usuario) por requisição. Isso mantém o
transporte compartilhado e cada chamada com a identidade correta.
Os exemplos storage e oauth mostram arquivos com streaming e PKCE. Defina
NELCOTA_UPLOAD_PATH para o arquivo no primeiro; no segundo, configure
NELCOTA_OAUTH_REDIRECT_URL também na lista permitida do servidor, abra a URL
impressa e cole a URL de retorno quando solicitado. Eles não imprimem os tokens
da sessão. As políticas do banco continuam decidindo quem pode acessar os dados.