API de Arquivos
A API de Arquivos é responsável por todo o ciclo de vida dos arquivos no sistema, incluindo o upload, o download direto e a geração de URLs de acesso temporário. Todos os endpoints operam sob o prefixo /lbg.
Nota – Autenticação Todos os endpoints descritos abaixo requer autenticação via JWT.
Para acessá-los, é necessário enviar um token de autorização no cabeçalho da requisição:Authorization: Bearer <seu_token_jwt>
1. Realizar Upload de Arquivo
Este endpoint recebe um arquivo e o associa a uma coluna específica de um registro em uma base. A requisição deve ser do tipo multipart/form-data.
Endpoint:
POST /lbg/:nome_base/file/upload/:nome_coluna
Parâmetros de Rota:
| Parâmetro | Tipo | Descrição |
|---|---|---|
nome_base |
string |
Nome da base onde o arquivo será associado. |
nome_coluna |
string |
Nome da coluna/tabela de arquivo (ex:brlight_album_capa_album_file). |
Corpo da Requisição (multipart/form-data):
A requisição deve conter os seguintes campos de formulário:
| Campo | Tipo | Descrição |
|---|---|---|
file |
File |
(Obrigatório) O arquivo a ser enviado. |
idioma |
string |
(Opcional) O código de idioma do arquivo/mídia (ex: "pt-BR"). |
Exemplo de Resposta (201 Created):
{
"id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"fileName": "capa-album.jpg",
"mimeType": "image/jpeg",
"size": 450230
}
Códigos de Status:
- 201 Created: Arquivo enviado com sucesso.
- 400 Bad Request: Dados inválidos ou faltando (ex: nenhum arquivo enviado).
- 401 Unauthorized: Falha na autenticação.
2. Realizar Download de Arquivo
Este endpoint permite o download direto do conteúdo binário de um arquivo, com base no seu ID.
Endpoint:
GET /lbg/:nome_base/file/:id/download
Parâmetros de Rota:
| Parâmetro | Tipo | Descrição |
|---|---|---|
nome_base |
string |
Nome da base onde o arquivo está localizado. |
id |
string |
O ID do arquivo a ser baixado. |
Exemplo de Resposta (200 OK):
A resposta não será um JSON. Em vez disso, será o conteúdo bruto do arquivo (ex: a imagem, o PDF, etc.), com os cabeçalhos HTTP apropriados (Content-Type, Content-Disposition) para que o navegador trate a resposta como um download.
Códigos de Status:
- 200 OK: Download iniciado com sucesso.
- 401 Unauthorized: Falha na autenticação.
- 404 Not Found: Arquivo com o ID especificado não encontrado.
3. Obter URL de Download do Arquivo
Este endpoint gera e retorna uma URL temporária e pré-assinada para acessar um arquivo diretamente do serviço de armazenamento (Minio). É útil para exibir imagens ou fornecer links de download sem sobrecarregar o servidor da aplicação.
Endpoint:
GET /lbg/:nome_base/file/:id/getMinioUrlDownload
Parâmetros de Rota:
| Parâmetro | Tipo | Descrição |
|---|---|---|
nome_base |
string |
Nome da base onde o arquivo está localizado. |
id |
string |
O ID do arquivo. |
Exemplo de Resposta (200 OK):
{
"url": "[https://seu-servidor-minio.com/bucket/nome_do_arquivo.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=](https://seu-servidor-minio.com/bucket/nome_do_arquivo.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=)..."
}
Códigos de Status:
- 200 OK: URL gerada com sucesso.
- 401 Unauthorized: Falha na autenticação.
- 404 Not Found: Arquivo com o ID especificado não encontrado.