church-website/src/payload.config.ts
2024-12-04 14:41:50 +01:00

96 lines
2.4 KiB
TypeScript

// storage-adapter-import-placeholder
import { mongooseAdapter } from '@payloadcms/db-mongodb'
import {
lexicalEditor,
BoldFeature,
InlineToolbarFeature,
ItalicFeature,
UnderlineFeature,
ParagraphFeature,
HeadingFeature,
AlignFeature,
UnorderedListFeature,
LinkFeature,
HTMLConverterFeature,
} from '@payloadcms/richtext-lexical'
import path from 'path'
import { buildConfig } from 'payload'
import { fileURLToPath } from 'url'
import sharp from 'sharp'
import { Users } from './collections/Users'
import { Media } from './collections/Media'
import { Worship } from '@/collections/Worship'
import { Churches } from '@/collections/Churches'
import { de } from '@payloadcms/translations/languages/de'
import { Testimony } from '@/collections/Testimony'
import { Parish } from '@/collections/Parish'
import { Employees } from '@/collections/Employees'
import { Groups } from '@/collections/Groups'
import { Events } from '@/collections/Events'
import { Announcements } from '@/collections/Announcements'
import { Blog } from '@/collections/Blog'
import { Highlight } from '@/collections/Highlight'
import { Pages } from '@/collections/Pages'
import { Documents } from '@/collections/Documents'
import { Locations } from '@/collections/Locations'
import { ContactPerson } from '@/collections/ContactPerson'
import { payloadCloudPlugin } from '@payloadcms/payload-cloud'
const filename = fileURLToPath(import.meta.url)
const dirname = path.dirname(filename)
export default buildConfig({
admin: {
user: Users.slug,
},
collections: [
Parish,
Churches,
Worship,
Announcements,
Blog,
Highlight,
Events,
ContactPerson,
Locations,
Groups,
Employees,
Testimony,
Pages,
Users,
Documents,
Media,
],
editor: lexicalEditor(
{
features: () => [
BoldFeature(),
ItalicFeature(),
UnderlineFeature(),
HeadingFeature({ enabledHeadingSizes: ["h3","h4","h5"]}),
AlignFeature(),
UnorderedListFeature(),
LinkFeature(),
ParagraphFeature(),
InlineToolbarFeature(),
HTMLConverterFeature()
]
}
),
secret: process.env.PAYLOAD_SECRET || '',
typescript: {
outputFile: path.resolve(dirname, 'payload-types.ts'),
},
i18n: {
supportedLanguages: { de },
},
db: mongooseAdapter({
url: process.env.DATABASE_URI || '',
}),
sharp,
plugins: [
// storage-adapter-placeholder
payloadCloudPlugin()
],
})