mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-14 08:53:11 +00:00
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import type { CollectionConfig } from 'payload'
|
|
|
|
import { REEL_MEDIA_SLUG } from '@/lib/reel'
|
|
import { canDeleteReel, canReadReel } from '@/utilities/campaignAccess'
|
|
|
|
/**
|
|
* C193 — private upload collection of a reel's artifacts. Deliberately NOT
|
|
* `media`: that collection is anonymous-read by contract (public pages), while
|
|
* a reel file may only be read by the communication roles. The browser reaches
|
|
* these files through the authenticated
|
|
* `/campanha/comunicacao/reels/[id]/media/[kind]` route, never the public
|
|
* `/api/media/file` proxy.
|
|
*/
|
|
|
|
export const ReelMedia: CollectionConfig = {
|
|
slug: REEL_MEDIA_SLUG,
|
|
labels: {
|
|
singular: 'Mídia de reel',
|
|
plural: 'Mídias de reel',
|
|
},
|
|
admin: {
|
|
group: 'Comunicação',
|
|
description:
|
|
'Arquivos privados dos reels (vídeo, narração, legenda, capa). Só abrem com login da campanha.',
|
|
},
|
|
access: {
|
|
create: canReadReel,
|
|
read: canReadReel,
|
|
update: canReadReel,
|
|
delete: canDeleteReel,
|
|
},
|
|
fields: [
|
|
{
|
|
name: 'alt',
|
|
type: 'text',
|
|
label: 'Texto alternativo',
|
|
required: true,
|
|
admin: {
|
|
description: 'Descrição do artefato para acessibilidade (capa e vídeo).',
|
|
},
|
|
},
|
|
],
|
|
upload: true,
|
|
}
|