📂 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,
}