flowingts / FileRule
Interface: FileRule
Definido em: src/core/uploads/types.ts:10
Regras de um campo de arquivo no contrato da rota (F-46): files: { pdf: { required: true, maxSize: '5mb' } }. Tudo é conferido antes do handler; o arquivo inválido gera 400 ou 413 em Problem Details.
Propriedades
maxCount?
optionalmaxCount?:number
Definido em: src/core/uploads/types.ts:16
Quantos arquivos o campo aceita. Padrão: 1. Use ctx.files(nome) quando for mais de um.
maxSize?
optionalmaxSize?:Size
Definido em: src/core/uploads/types.ts:14
Tamanho máximo de cada arquivo. Não pode passar do limite global (uploads.limits.fileSize).
required?
optionalrequired?:boolean
Definido em: src/core/uploads/types.ts:12
O campo precisa ter pelo menos um arquivo. Padrão: false.
types?
optionaltypes?: readonlystring[]
Definido em: src/core/uploads/types.ts:22
Tipos aceitos ('application/pdf', 'image/*'). Confere o tipo declarado pelo cliente e, quando o formato tem assinatura conhecida, também os primeiros bytes do arquivo (um executável com nome .pdf é recusado). Formatos de texto (CSV, JSON) não têm assinatura: só o tipo declarado é conferido.
verify?
optionalverify?: (head,file) =>boolean|Promise<boolean>
Definido em: src/core/uploads/types.ts:27
Conferência própria do conteúdo, depois dos tipos: recebe os primeiros bytes do arquivo. false (ou um erro) recusa o arquivo com 400. Para regras que a detecção por assinatura não cobre.
Parâmetros
head
Uint8Array
file
Retorna
boolean | Promise<boolean>