Skip to content

desk ​

Tipo
Referência
Para
Desenvolvedor, Administrador do Tenant

As Mesas aparecem no YAML em dois tipos: dw-desk é a Mesa de Dados, onde se publicam Dataflows, tabelas e Cadastros, e bi-desk é a Mesa de Aplicação, onde se publicam Aplicações. Os arquivos ficam em dw-desks/ e bi-desks/. O que é uma Mesa está em Mesas e publicação; criar e gerenciar pela tela, em Mesas.

bash
lumo new dw-desk --name "Operação"
lumo new bi-desk --name "Comercial"

Campos da Mesa de Dados ​

  • fileName
    string · opcional · valores: regex ^[a-z0-9-]+--\d+\.yaml$
  • header
    object · obrigatório
  • header.id
    integer · obrigatório · valores: ≥ 1
  • header.kind
    string · obrigatório · valores: dw-desk (fixo)
  • header.lumo
    string · obrigatório · valores: v2 (fixo)
  • header.tenantId
    integer · obrigatório · valores: ≥ 1
  • header.appId
    integer · opcional · valores: ≥ 1
  • header.dashboardId
    integer · opcional · valores: ≥ 1
  • body
    object · obrigatório
  • body.criado_em
    string ou null · opcional · valores: regex ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$
    Somente leitura: o servidor preenche.
  • body.criado_por
    string ou integer ou null · opcional
    Somente leitura: o servidor preenche.
  • body.publicado_em
    string ou null · opcional · valores: regex ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$
    Somente leitura: o servidor preenche.
  • body.publicado_por
    string ou integer ou null · opcional
    Somente leitura: o servidor preenche.
  • body.nome
    string · obrigatório · valores: não vazio
  • body.descricao
    string ou null · opcional
  • body.type
    string · opcional · valores: dw (fixo)
  • body.version
    integer ou null · opcional · valores: ≥ 0
    Somente leitura: o servidor preenche. Server-managed resource version.

Campos da Mesa de Aplicação ​

  • fileName
    string · opcional · valores: regex ^[a-z0-9-]+--\d+\.yaml$
  • header
    object · obrigatório
  • header.id
    integer · obrigatório · valores: ≥ 1
  • header.kind
    string · obrigatório · valores: bi-desk (fixo)
  • header.lumo
    string · obrigatório · valores: v2 (fixo)
  • header.tenantId
    integer · obrigatório · valores: ≥ 1
  • header.appId
    integer · opcional · valores: ≥ 1
  • header.dashboardId
    integer · opcional · valores: ≥ 1
  • body
    object · obrigatório
  • body.criado_em
    string ou null · opcional · valores: regex ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$
    Somente leitura: o servidor preenche.
  • body.criado_por
    string ou integer ou null · opcional
    Somente leitura: o servidor preenche.
  • body.publicado_em
    string ou null · opcional · valores: regex ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$
    Somente leitura: o servidor preenche.
  • body.publicado_por
    string ou integer ou null · opcional
    Somente leitura: o servidor preenche.
  • body.nome
    string · obrigatório · valores: não vazio
  • body.descricao
    string ou null · opcional
  • body.fechada
    boolean · opcional · padrão: false
    Closed desk: a new app published here (or brought by a template) starts hidden for users with direct access to the desk, except the publisher; a user who gets direct access sees only what they already saw. Groups are never blocked automatically. Changing the flag never changes current access.
  • body.type
    string · opcional · valores: bi (fixo)
  • body.version
    integer ou null · opcional · valores: ≥ 0
    Somente leitura: o servidor preenche. Server-managed resource version.

Exemplo ​

yaml
# dw-desks/operacao--31.yaml
# yaml-language-server: $schema=https://docs.horusbi.com.br/schemas/v2/dw-desk.schema.json
id: 31
kind: dw-desk
lumo: v2
tenantId: 1200
---
nome: Operação
descricao: Dataflows e tabelas da operação de vendas.
yaml
# bi-desks/comercial--57.yaml
# yaml-language-server: $schema=https://docs.horusbi.com.br/schemas/v2/bi-desk.schema.json
id: 57
kind: bi-desk
lumo: v2
tenantId: 1200
---
nome: Comercial
descricao: Aplicações da equipe comercial.
fechada: true                    # Aplicação nova publicada aqui nasce oculta para acesso direto

Limites ​

  • Os ids de Mesa de Dados e de Mesa de Aplicação são sequências independentes e se repetem. lumo flow publish e lumo writeback publish pedem uma Mesa de Dados; lumo app publish, uma Mesa de Aplicação. lumo list dw-desk e lumo list bi-desk mostram os ids.
  • fechada: true numa Mesa de Aplicação faz uma Aplicação nova publicada ali nascer oculta para quem tem acesso direto à Mesa, exceto quem publicou. Grupos não são bloqueados. Mudar o valor não altera os acessos que já existem.
  • Remover uma Mesa com recursos publicados é recusado com código de saída 13, a menos que você passe --cascade. O --cascade desvincula os Dataflows, tabelas e Aplicações publicados, que voltam a rascunho do dono, e apaga só a Mesa. Mesa com objeto instalado por Template é recusada (DESK_TEMPLATE_PROTECTED).
  • A Mesa não lista o que contém: o vínculo fica no deskId de cada recurso.
  • Arquivos antigos na pasta desks/ (tipo desk) são do formato anterior. Depois de um lumo fetch, os arquivos vão para dw-desks/ e bi-desks/, e a pasta desks/ pode ser apagada.