UNPKG

payload-plugin-scheduler

Version:
73 lines (70 loc) 1.71 kB
import type { CollectionConfig } from 'payload/types' import { merge } from 'ts-deepmerge' import type { ScheduledPostConfig } from '../types' const ScheduledPosts = (scheduleConfig: ScheduledPostConfig): CollectionConfig => merge( { slug: 'scheduled_posts', labels: { plural: 'Scheduled Posts', singular: 'Scheduled Post', }, access: { create: () => false, read: () => true, }, admin: { hidden: true, }, fields: [ { name: 'post', type: 'relationship', unique: true, relationTo: [...(scheduleConfig.collections || [])], hasMany: false, admin: { readOnly: true, }, }, { name: 'global', type: 'select', options: [...(scheduleConfig.globals || [])], unique: true, }, { name: 'date', index: true, type: 'date', admin: { date: { pickerAppearance: 'dayAndTime', timeIntervals: scheduleConfig.interval, }, readOnly: true, }, }, { name: 'status', index: true, type: 'select', options: [ { value: 'queued', label: 'Queued', }, { value: 'complete', label: 'Complete', }, ], admin: { readOnly: true, }, }, ].filter(Boolean), }, scheduleConfig?.scheduledPosts || {}, ) as CollectionConfig export default ScheduledPosts