Files
payload/test/versions/globals/Draft.ts
James Mikrut 37d1f2d04b feat: scheduled publish / unpublish (#10203)
Adds a feature to allow editors to schedule publish / unpublish events
in the future. Must be enabled by setting
`versions.drafts.schedulePublish: true` in your Collection / Global
configs.


https://github.com/user-attachments/assets/ca1d7a8b-946a-4eac-b911-c2177dbe3b1c

Todo:

- [x] Translate new i18n keys
- [x] Wire up locale-specific scheduled publish / unpublish actions
2024-12-27 16:52:18 -05:00

62 lines
1.1 KiB
TypeScript

import type { GlobalConfig } from 'payload'
import { draftGlobalSlug } from '../slugs.js'
const DraftGlobal: GlobalConfig = {
slug: draftGlobalSlug,
label: 'Draft Global',
admin: {
preview: () => 'https://payloadcms.com',
components: {
views: {
edit: {
version: {
actions: ['/elements/GlobalVersionButton/index.js'],
},
versions: {
actions: ['/elements/GlobalVersionsButton/index.js'],
},
},
},
},
},
versions: {
max: 20,
drafts: {
schedulePublish: true,
},
},
access: {
read: ({ req: { user } }) => {
if (user) {
return true
}
return {
or: [
{
_status: {
equals: 'published',
},
},
{
_status: {
exists: false,
},
},
],
}
},
},
fields: [
{
name: 'title',
type: 'text',
required: true,
localized: true,
},
],
}
export default DraftGlobal