Pular para o conteúdo

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

linhas.ts
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 });
  • updateRow altera só o que você manda em data; 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). Use new 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.