church-website/src/collections/Worship.ts
2024-08-23 16:20:50 +02:00

90 lines
1.6 KiB
TypeScript

import { CollectionConfig } from 'payload'
import { isAdminOrEmployee } from '@/collections/access/admin'
export const Worship: CollectionConfig = {
slug: 'worship',
labels: {
singular: {
de: 'Gottesdienst',
},
plural: {
de: 'Gottesdienst',
},
},
fields: [
{
name: 'date',
label: {
de: 'Datum',
},
type: 'date',
required: true,
admin: {
date: {
pickerAppearance: 'dayAndTime',
},
},
},
{
name: 'location',
label: {
de: 'Location',
},
type: 'relationship',
relationTo: 'church',
required: true,
},
{
name: 'type',
label: {
de: 'Categorie',
},
type: 'radio',
options: [
{
label: 'Heilige Messe',
value: 'MASS',
},
{
label: 'Familien Messe',
value: 'FAMILY',
},
{
label: 'Wort-Gottes-Feier',
value: 'WORD',
},
],
required: true,
},
{
name: 'cancelled',
type: 'checkbox',
required: true,
defaultValue: false,
label: {
de: 'Abgesagt',
},
},
{
name: 'title',
type: 'text',
required: false,
label: {
de: 'Liturgischer Tag',
},
},
{
name: 'description',
type: 'textarea',
label: {
de: 'Hinweise',
},
},
],
access: {
read: () => true,
create: isAdminOrEmployee(),
update: isAdminOrEmployee(),
delete: isAdminOrEmployee(),
},
}