Pular para o conteúdo

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

@owbase/web
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);
@owbase/node
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).

@owbase/web
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);
@owbase/node
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).

@owbase/web
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);
@owbase/node
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).

@owbase/web
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);
@owbase/node
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).

@owbase/web
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);
@owbase/node
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.