O Storage gerencia o upload de arquivos, como avatares de usuário e logos de organização. O cliente solicita uma autorização de upload, envia o arquivo e depois salva o recurso que usa esse arquivo.
Contextos e MIME
| Contexto | Prefixo lógico | Tamanho máximo |
|---|
USER_AVATAR | user-avatar | 5 MB |
ORGANIZATION_LOGO | organization-logo | 2 MB |
Tipos MIME permitidos: image/png, image/jpeg, image/webp.
Contextos por projeto
Cada projeto só pode assinar uploads dos contextos permitidos. Um contexto não permitido resulta em 403 Forbidden.
| Projeto | Contextos permitidos |
|---|
customer | USER_AVATAR |
driver | USER_AVATAR |
ops | USER_AVATAR, ORGANIZATION_LOGO |
bko | USER_AVATAR, ORGANIZATION_LOGO |
Fluxo em duas fases
Fase 1 — Autorizar upload
O DEVMOB valida o contexto para o projeto, gera uma autorização temporária e retorna os dados necessários para o upload.
- A resposta inclui a chave autorizada,
cdnUrl, dados de upload e expiresIn.
- O limite de tamanho é aplicado conforme o contexto.
Fase 2 — Confirmar uso
A confirmação ocorre quando o usuário salva o recurso que usa o arquivo, como avatar ou logo.
- Valida que a chave temporária pertence ao usuário.
- Confere a existência do arquivo temporário.
- Vincula o arquivo ao recurso final, como avatar de usuário ou logo de organização.
Capacidade
Apenas a autorização de upload é exposta como capacidade direta; a confirmação ocorre dentro da atualização de perfil/organização.
| Capacidade | Auth | Descrição |
|---|
| Autorizar upload | Autenticado | Retorna os dados de upload + URL final no CDN. |
O projeto é customer, ops, driver ou bko. O usuário do escopo vem do perfil autenticado.
O arquivo é enviado pelo cliente usando os dados de upload retornados. O DEVMOB controla a autorização, o vínculo com o usuário e a localização final.