Pular para o conteúdo

Buckets

Um bucket guarda arquivos com as mesmas regras: quem pode enviar e ler, tamanho máximo, extensões aceitas. Crie pelo console (Storage → Criar bucket) ou pelo servidor:

buckets.ts (servidor)
import { Permission, Role, Storage } from '@owbase/node';
import { client } from './client';
// A chave precisa do escopo buckets.write.
const storage = new Storage(client);
await storage.createBucket({
bucketId: 'fotos',
name: 'Fotos',
// Usuários logados enviam; quem pode ler cada foto vai nas permissões do arquivo.
permissions: [Permission.create(Role.users())],
fileSecurity: true,
maximumFileSize: 5_000_000,
allowedFileExtensions: ['jpg', 'jpeg', 'png', 'webp'],
});
Opção O que faz
permissions permissões do bucket inteiro (create para quem pode enviar, read para quem pode ler todos os arquivos)
fileSecurity Permissões por arquivo: cada arquivo pode ter permissões próprias, somadas às do bucket
maximumFileSize teto por arquivo, em bytes (no máximo o limite da plataforma, 30 MB)
allowedFileExtensions só estas extensões (vazio aceita todas)
compression Compression.Gzip ou Compression.Zstd para guardar comprimido (arquivos de até 20 MB)
encryption guarda criptografado (arquivos de até 20 MB)
enabled bucket desligado recusa envio e leitura pelos clientes

O padrão “cada usuário vê só os próprios arquivos” é o mesmo do banco: Permission.create(Role.users()) no bucket, permissões por arquivo ligadas e, em cada envio, leitura para Role.user(<id>) (Permissões e papéis).