website/payload.config.ts
2025-04-20 09:20:35 +12:00

46 lines
1.5 KiB
TypeScript

import sharp from 'sharp'
import { FixedToolbarFeature, lexicalEditor } from '@payloadcms/richtext-lexical'
import { postgresAdapter } from '@payloadcms/db-postgres'
import { buildConfig } from 'payload'
import { HomeHero } from '@/globals/Home/Hero'
import { News } from './src/collections/News'
import { Projects } from '@/collections/Projects'
import { Images } from '@/collections/media/Images'
import { Documents } from '@/collections/media/Documents'
import { Data } from '@/collections/media/Data'
import { HomeProjects } from '@/globals/Home/Projects'
export default buildConfig({
// If you'd like to use Rich Text, pass your editor here
editor: lexicalEditor({
features: ({ defaultFeatures }) => [
...defaultFeatures,
FixedToolbarFeature(),
]
}),
serverURL: process.env.SERVER_URL || 'http://localhost:3000',
globals: [HomeHero, HomeProjects],
// Define and configure your collections in this array
collections: [Projects, News, Images, Documents, Data],
// Your Payload secret - should be a complex and secure string, unguessable
secret: process.env.PAYLOAD_SECRET || '',
// Whichever Database Adapter you're using should go here
// Mongoose is shown as an example, but you can also use Postgres
db: postgresAdapter({
pool: {
connectionString: process.env.DATABASE_URI,
}
}),
// If you want to resize images, crop, set focal point, etc.
// make sure to install it and pass it to the config.
// This is optional - if you don't need to do these things,
// you don't need it!
sharp,
})