Linhas
Cada linha é um objeto com as colunas da tabela, mais os campos do sistema ($id, $createdAt, $updatedAt, $permissions). Os mesmos métodos existem no @owbase/web (com a sessão do usuário) e no @owbase/node (com a chave de API).
import { ID, Query, TablesDB } from '@owbase/web';import { client } from './client';
const db = new TablesDB(client);const tabela = { databaseId: 'loja', tableId: 'pedidos' };
const novo = await db.createRow({ ...tabela, rowId: ID.unique(), data: { cliente: 'Ana', total: 120 } });const lido = await db.getRow({ ...tabela, rowId: novo.$id });await db.updateRow({ ...tabela, rowId: lido.$id, data: { status: 'pago' } });
const { rows } = await db.listRows({ ...tabela, queries: [Query.equal('status', 'pago'), Query.limit(10)] });console.log(rows.map((r) => r.$id));
await db.deleteRow({ ...tabela, rowId: novo.$id });O que saber
Seção intitulada “O que saber”updateRowaltera só o que você manda emdata; o resto da linha fica como está.- Datas vão e voltam como texto ISO 8601 em UTC (
2026-10-20T13:00:00.000+00:00). Usenew Date(...).toISOString()para gravar. - Coluna obrigatória precisa vir no
createRow. Coluna que falta, sobra ou vem com o tipo errado dárow_invalid_structure(400), com a coluna na mensagem. - Listas aceitam consultas e vêm em páginas.
- Para reagir a mudanças sem ficar consultando, assine os eventos da tabela pelo Realtime.