📂 Documentação do Arquivo Media.ts da pasta collections
O arquivo Media.ts, localizado na pasta collections, define a coleção Media, responsável por gerenciar informações sobre arquivos de mídia no sistema.
⚙️ Configuração da Coleção
import { isAdminOrCreatedBy } from '@/access/isAdminOrCreatedBy'
import type { CollectionConfig } from 'payload'
export const Media: CollectionConfig = {
slug: 'media',
access: {
read: () => true,
create: isAdminOrCreatedBy,
update: isAdminOrCreatedBy,
delete: isAdminOrCreatedBy,
},
fields: [
{
name: 'alt',
type: 'text',
label: 'Texto alternativo',
required: true,
},
],
upload: true,
}🔍 Explicação do Código
slug: 'media'🏷️ → Identificador único da coleção, utilizado nas rotas da API.access🔑 → Define as regras de acesso:read: Todos podem ler os dados.create,update,delete: Apenas administradores ou criadores podem modificar os registros.
fields📄 → Lista de campos que a coleção possui.upload: true📤 → Indica que essa coleção permite upload de arquivos.
🏗️ Estrutura dos Campos
1️⃣ Texto Alternativo 📝
- name:
alt - type:
text - label:
Texto alternativo - required:
true - Descrição: Campo obrigatório para garantir acessibilidade e melhor descrição das mídias.
✅ Considerações Finais
A coleção Media 📸 é essencial para armazenar arquivos de mídia e suas descrições. As regras de acesso garantem segurança e controle adequado sobre as operações de CRUD. O campo alt melhora a acessibilidade e SEO do sistema.
🔗 Documentação Completa da Pasta collections
Veja aqui (opens in a new tab)
📌 Código Completo para Referência:
import { isAdminOrCreatedBy } from '@/access/isAdminOrCreatedBy'
import type { CollectionConfig } from 'payload'
export const Media: CollectionConfig = {
slug: 'media',
access: {
read: () => true,
create: isAdminOrCreatedBy,
update: isAdminOrCreatedBy,
delete: isAdminOrCreatedBy,
},
fields: [
{
name: 'alt',
type: 'text',
label: 'Texto alternativo',
required: true,
},
],
upload: true,
}