chat
Chat
Conversas sobre linhas de mensagem: grupos, respostas em fio, reações e recibos de leitura.
- Kind:
view - Key:
chat - Categoria:
conversa - Envelope: lista de um só elemento (a config vive em
config[0])
Envelope de um só elemento
View.config é uma lista com um único elemento: a configuração vive em
config[0], não em config. Uma config escrita como mapa cru é lida de qualquer
maneira, mas entra nos relatórios como desvio de envelope.
Campos
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
userColumn | string | não | - | Coluna do autor da mensagem, POR NOME. | coluna (nome) |
messageColumn | string | não | - | Coluna do corpo da mensagem, POR NOME. | coluna (nome) |
dateColumn | string | não | - | Coluna da data/hora da mensagem, POR NOME. | coluna (nome) |
filterGroup | map | não | - | Grupo de filtros aplicado às linhas da vista. | - |
filters | json | não | - | Descontinuado. Filtro de base no formato legado: nome da coluna → texto procurado (aplicado como contains). Só lido, e só quando não há filterGroup. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
sortAscending | boolean | não | true | Ordem cronológica: da mais antiga para a mais recente. | - |
conversationColumn | string | não | - | Coluna que liga cada mensagem a uma conversa ou grupo, POR NOME. Sem ela, a vista mostra todas as mensagens numa só conversa. | coluna (nome) |
chatTypeColumn | string | não | - | Coluna que distingue conversa individual de grupo, POR NOME. | coluna (nome) |
chatParticipantsColumn | string | não | - | Coluna com a lista de participantes, POR NOME. | coluna (nome) |
chatNameColumn | string | não | - | Coluna com o nome da conversa ou do grupo, POR NOME. | coluna (nome) |
attachmentsColumn | string | não | - | Coluna dos ficheiros anexados à mensagem, POR NOME. | coluna (nome) |
threadColumn | string | não | - | Coluna com o id da mensagem-mãe, POR NOME: é ela que faz os fios de resposta. | coluna (nome) |
reactionsColumn | string | não | - | Coluna com o JSON das reações (emoji → utilizadores), POR NOME. | coluna (nome) |
readReceiptsColumn | string | não | - | Coluna com o JSON dos recibos de leitura (utilizador → momento), POR NOME. | coluna (nome) |
mentionsEnabled | boolean | não | true | Liga as menções com @. | - |
reactionsEnabled | boolean | não | true | Liga as reações às mensagens. | - |
threadsEnabled | boolean | não | false | Liga os fios de resposta. | - |
readReceiptsEnabled | boolean | não | false | Liga os recibos de leitura. | - |
filterGroup
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
combinator | enumeration | não | "and" | Como se combinam as regras do grupo: and exige todas, or basta uma. | - |
rules | list de map | não | - | As regras do grupo. | - |
groups | list de map | não | - | Subgrupos aninhados, com a mesma forma. | - |
filterGroup.rules[]
Cada elemento de filterGroup.rules é um objeto:
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
id | string | não | - | Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
columnName | string | não | - | Coluna desta tabela, POR NOME. | coluna (nome) |
operator | string | não | - | Operador da comparação. | - |
value | string | não | - | Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
secondValue | string | não | - | Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
filterGroup.groups[]
Cada elemento de filterGroup.groups é um objeto:
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
combinator | enumeration | não | "and" | Como se combinam as regras do subgrupo. | - |
rules | list de map | não | - | As regras do grupo. | - |
groups | list | não | - | Subgrupos de terceiro nível: varrem-se às cegas (uma FieldDecl const não se pode referir a si própria). | - |
filterGroup.groups[].rules[]
Cada elemento de filterGroup.groups[].rules é um objeto:
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
id | string | não | - | Identificador da regra, gerado pela app. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
columnName | string | não | - | Coluna desta tabela, POR NOME. | coluna (nome) |
operator | string | não | - | Operador da comparação. | - |
value | string | não | - | Valor da comparação: dado de utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
secondValue | string | não | - | Segundo valor, usado pelos operadores de intervalo. Só aparece no JSON quando não é nulo. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
Exemplo JSON
[
{
"sortAscending": true,
"mentionsEnabled": true,
"reactionsEnabled": true,
"threadsEnabled": false,
"readReceiptsEnabled": false
}
]
Gerado de definitions.json versão 17f3e0bc59d9. Esta página nasce no build: não se edita à mão.