Presences
Presença em tempo real: quem está conectado e onde.
Classe Presences: 5 métodos (5 no @owbase/web, 5 no @owbase/node). Os exemplos usam a forma de objeto dos parâmetros; troque os valores entre < e > pelos seus.
Listar presenças
SDK: @owbase/web e @owbase/node
Lista os registros de presença. Os registros expirados são filtrados automaticamente.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
queries |
string[] |
não | Lista de consultas geradas com a classe Query do SDK. |
total |
boolean |
não | Com false, o total não é calculado e volta como 0. |
ttl |
number |
não | Tempo de vida (TTL, em segundos) do cache das respostas de lista. As respostas ficam num cache chave-valor em memória, separado por projeto, coleção, versão do esquema (atributos e índices), papéis de autorização de quem chama e a consulta exata — assim, usuários com permissões diferentes nunca compartilham entradas do cache. Mudanças no esquema invalidam o cache automaticamente; gravações de documentos, não. Por isso, escolha um TTL em que dados desatualizados sejam aceitáveis. Use 0 para desligar o cache. Precisa estar entre 0 e 86400 (24 horas). |
Acesso: chave de API com o escopo presences.read ou sessão do usuário (vale o que as permissões do recurso deixam).
import { Client, Presences } from '@owbase/web';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const presences = new Presences(client);
const result = await presences.list({ queries: [], // opcional total: false, // opcional ttl: 0, // opcional});
console.log(result);import { Client, Presences } from '@owbase/node';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>') // ID do projeto .setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const presences = new Presences(client);
const result = await presences.list({ queries: [], // opcional total: false, // opcional ttl: 0, // opcional});Obter presença
SDK: @owbase/web e @owbase/node
Obtém um registro de presença pelo ID. Registros com expiresAt no passado são tratados como não encontrados.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
presenceId |
string |
sim | ID único da presença. |
Acesso: chave de API com o escopo presences.read ou sessão do usuário (vale o que as permissões do recurso deixam).
import { Client, Presences } from '@owbase/web';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const presences = new Presences(client);
const result = await presences.get({ presenceId: '<PRESENCE_ID>',});
console.log(result);import { Client, Presences } from '@owbase/node';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>') // ID do projeto .setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const presences = new Presences(client);
const result = await presences.get({ presenceId: '<PRESENCE_ID>',});Criar ou atualizar presença
SDK: @owbase/web e @owbase/node
Cria ou atualiza um registro de presença pelo ID do usuário.
Parâmetros no @owbase/web:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
presenceId |
string |
sim | ID único da presença. |
status |
string |
sim | Status da presença. |
permissions |
string[] |
não | Lista de permissões em texto. Por padrão, só o usuário atual recebe todas as permissões. Saiba mais sobre permissões. |
expiresAt |
string |
não | Data e hora em que a presença expira. |
metadata |
object |
não | Objeto de metadados da presença. |
Parâmetros no @owbase/node:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
presenceId |
string |
sim | ID único da presença. |
userId |
string |
sim | ID do usuário. |
status |
string |
sim | Status da presença. |
permissions |
string[] |
não | Lista de permissões em texto. Por padrão, só o usuário atual recebe todas as permissões. Saiba mais sobre permissões. |
expiresAt |
string |
não | Data e hora em que a presença expira. |
metadata |
object |
não | Objeto de metadados da presença. |
Acesso: sessão do usuário (vale o que as permissões do recurso deixam).
import { Client, Presences, Permission, Role } from '@owbase/web';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const presences = new Presences(client);
const result = await presences.upsert({ presenceId: '<PRESENCE_ID>', status: '<STATUS>', permissions: [Permission.read(Role.any())], // opcional expiresAt: '2020-10-15T06:38:00.000+00:00', // opcional metadata: {}, // opcional});
console.log(result);import { Client, Presences, Permission, Role } from '@owbase/node';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>') // ID do projeto .setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const presences = new Presences(client);
const result = await presences.upsert({ presenceId: '<PRESENCE_ID>', userId: '<USER_ID>', status: '<STATUS>', permissions: [Permission.read(Role.any())], // opcional expiresAt: '2020-10-15T06:38:00.000+00:00', // opcional metadata: {}, // opcional});Atualizar presença
SDK: @owbase/web e @owbase/node
Atualiza um registro de presença pelo ID. Com o método patch, você envia só os campos que vão mudar.
Parâmetros no @owbase/web:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
presenceId |
string |
sim | ID único da presença. |
status |
string |
não | Status da presença. |
expiresAt |
string |
não | Data e hora em que a presença expira. |
metadata |
object |
não | Objeto de metadados da presença. |
permissions |
string[] |
não | Lista de permissões em texto. Por padrão, só o usuário atual recebe todas as permissões. Saiba mais sobre permissões. |
purge |
boolean |
não | Com true, apaga as respostas em cache usadas pelo endpoint de listar presenças. |
Parâmetros no @owbase/node:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
presenceId |
string |
sim | ID único da presença. |
userId |
string |
sim | ID do usuário. |
status |
string |
não | Status da presença. |
expiresAt |
string |
não | Data e hora em que a presença expira. |
metadata |
object |
não | Objeto de metadados da presença. |
permissions |
string[] |
não | Lista de permissões em texto. Por padrão, só o usuário atual recebe todas as permissões. Saiba mais sobre permissões. |
purge |
boolean |
não | Com true, apaga as respostas em cache usadas pelo endpoint de listar presenças. |
Acesso: sessão do usuário (vale o que as permissões do recurso deixam).
import { Client, Presences, Permission, Role } from '@owbase/web';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const presences = new Presences(client);
const result = await presences.update({ presenceId: '<PRESENCE_ID>', status: '<STATUS>', // opcional expiresAt: '2020-10-15T06:38:00.000+00:00', // opcional metadata: {}, // opcional permissions: [Permission.read(Role.any())], // opcional purge: false, // opcional});
console.log(result);import { Client, Presences, Permission, Role } from '@owbase/node';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>') // ID do projeto .setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const presences = new Presences(client);
const result = await presences.update({ presenceId: '<PRESENCE_ID>', userId: '<USER_ID>', status: '<STATUS>', // opcional expiresAt: '2020-10-15T06:38:00.000+00:00', // opcional metadata: {}, // opcional permissions: [Permission.read(Role.any())], // opcional purge: false, // opcional});Excluir presença
SDK: @owbase/web e @owbase/node
Exclui um registro de presença pelo ID.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
presenceId |
string |
sim | ID único da presença. |
Acesso: chave de API com o escopo presences.write ou sessão do usuário (vale o que as permissões do recurso deixam).
import { Client, Presences } from '@owbase/web';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const presences = new Presences(client);
const result = await presences.delete({ presenceId: '<PRESENCE_ID>',});
console.log(result);import { Client, Presences } from '@owbase/node';
const client = new Client() .setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API .setProject('<YOUR_PROJECT_ID>') // ID do projeto .setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const presences = new Presences(client);
const result = await presences.delete({ presenceId: '<PRESENCE_ID>',});As descrições desta página são traduções das que vêm da especificação da API do servidor (licença BSD-3-Clause), e os exemplos vêm do gerador de SDKs (licença MIT). Os avisos completos estão no arquivo NOTICE dos pacotes @owbase/web e @owbase/node.