Skip to main content
O ExportResource representa uma entrada do catálogo de exportação. Ele define qual recurso pode ser exportado, quais colunas podem sair, quais filtros podem ser aplicados, quais formatos são aceitos e qual permission autoriza a operação.

Campos

CampoTipoDescrição
exportResourceIdUUIDIdentificador único
resourceStringChave estável do recurso exportável, como order, ticket, vehicle ou trip
labelStringNome exibido para o usuário no fluxo de exportação
descriptionString?Descrição curta do recurso exportável
permissionStringPermission necessária para exportar o recurso
formatsDataTransferFileFormat[]Formatos disponíveis para geração
defaultFormatDataTransferFileFormatFormato pré-selecionado
defaultColumnsString[]Colunas selecionadas por padrão
columnsExportColumn[]Colunas permitidas para exportação
filtersExportFilter[]Filtros permitidos para consulta
maxRowsInt?Limite máximo de linhas por exportação
statusDataTransferResourceStatusStatus do catálogo
createdAtDateTimeData de criação
updatedAtDateTimeData da última atualização
deletedAtDateTime?Data de remoção lógica

ExportColumn

CampoTipoDescrição
fieldStringChave da coluna no arquivo
labelStringNome exibido para a coluna
typeExportValueTypeTipo do valor usado para formatação
valuesString[]?Valores possíveis quando type for ENUM
sensitiveBoolean?Indica coluna sensível que pode exigir permission adicional

ExportFilter

CampoTipoDescrição
fieldStringCampo filtrável
labelStringNome exibido para o filtro
typeExportValueTypeTipo do valor esperado no filtro
operatorsExportFilterOperator[]Operadores permitidos
valuesString[]?Valores possíveis quando type for ENUM
requiredBoolean?Indica se o filtro precisa ser informado

Relacionamentos

  • É referenciado por ExportScheduled via resource.
  • É referenciado por ExportJob via resource.
  • Não precisa de FK direta com os recursos exportados. O backend resolve o repositório de leitura pelo mesmo resource.

Regras de Negócio

  • Deve existir apenas um catálogo ativo por resource.
  • defaultColumns deve ser subconjunto de columns.
  • defaultFormat deve existir dentro de formats.
  • Toda coluna solicitada em ExportJob deve existir em columns.
  • Todo filtro solicitado em ExportJob deve existir em filters e respeitar os operadores permitidos.
  • Colunas sensíveis devem ser protegidas por permission específica ou regra explícita no backend.
  • Remover um recurso do catálogo deve ser remoção lógica por deletedAt.

Enums

DataTransferFileFormat

ValorDescrição
CSVArquivo CSV
XLSXPlanilha Excel

ExportValueType

ValorDescrição
STRINGTexto
NUMBERNúmero decimal ou inteiro
DATEData
BOOLEANValor booleano
ENUMValor dentro de uma lista fechada

ExportFilterOperator

ValorDescrição
EQIgual a um valor
INDentro de uma lista de valores
GTEMaior ou igual
LTEMenor ou igual
BETWEENDentro de intervalo inclusivo
CONTAINSContém texto

DataTransferResourceStatus

ValorDescrição
ACTIVERecurso disponível para novos jobs
INACTIVERecurso indisponível para novos jobs, preservando histórico

Example

{
  "exportResourceId": "0197f603-5c89-750e-aa6b-373d9d8eb621",
  "resource": "order",
  "label": "Pedidos",
  "description": "Exportação de pedidos por período e status",
  "permission": "export:order",
  "formats": ["CSV", "XLSX"],
  "defaultFormat": "CSV",
  "defaultColumns": ["code", "status", "totalAmount", "createdAt"],
  "columns": [
    {
      "field": "code",
      "label": "Código",
      "type": "STRING"
    },
    {
      "field": "totalAmount",
      "label": "Valor total",
      "type": "NUMBER"
    }
  ],
  "filters": [
    {
      "field": "createdAt",
      "label": "Criado em",
      "type": "DATE",
      "operators": ["BETWEEN"],
      "required": true
    }
  ],
  "maxRows": 100000,
  "status": "ACTIVE",
  "createdAt": "2026-07-04T12:10:00.000Z",
  "updatedAt": "2026-07-04T12:10:00.000Z",
  "deletedAt": null
}