import { CollectionConfig } from "payload"; import { requirePermission } from "@/utils/access-control/hasPermission"; export const Campaigns: CollectionConfig = { slug: "campaigns", admin: { group: "Intelligence", useAsTitle: "name", }, access: { create: requirePermission("campaigns:create"), update: requirePermission("campaigns:update"), delete: requirePermission("campaigns:delete"), read: ({ req }) => !!req.user, }, fields: [ { name: "name", type: "text", required: true, unique: true, }, { name: "summary", type: "textarea", required: true, defaultValue: "An Arma 3 campaign.", }, { name: "status", type: "select", options: [ { label: "Concept", value: "concept", }, { label: "In Progress", value: "inProgress", }, { label: "Completed", value: "completed", }, ], required: true, defaultValue: "concept", }, { name: "description", type: "richText", }, { name: "startDate", type: "date", }, { name: "endDate", type: "date", }, { name: "coverImage", type: "upload", relationTo: "media", admin: { description: "Background image for the campaign selector card on the campaigns page. Renders translucent with hover effects. Recommended aspect ratio: 16:9 or square.", }, }, ], };