Files
website/src/payload.config.ts
T

109 lines
3.3 KiB
TypeScript
Raw Normal View History

2026-04-23 01:08:18 +08:00
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import { buildConfig } from 'payload'
import { postgresAdapter } from '@payloadcms/db-postgres'
import { en } from '@payloadcms/translations/languages/en'
import { zh } from '@payloadcms/translations/languages/zh'
import sharp from 'sharp'
import { eversoloRichTextEditor } from './payload/rich-text-editor'
import { Media } from './payload/collections/Media'
import { Files } from './payload/collections/Files'
import { Videos } from './payload/collections/Videos'
import { Products } from './payload/collections/Products'
import { ProductCategories } from './payload/collections/ProductCategories'
import { Downloads } from './payload/collections/Downloads'
import { FAQs } from './payload/collections/FAQs'
import { Dealers } from './payload/collections/Dealers'
import { News } from './payload/collections/News'
2026-04-26 19:55:59 +08:00
import { NewsCategories } from './payload/collections/NewsCategories'
2026-04-23 01:08:18 +08:00
import { Redirects } from './payload/collections/Redirects'
import { Users } from './payload/collections/Users'
import { ProductVideos } from './payload/collections/ProductVideos'
import { ProductReviews } from './payload/collections/ProductReviews'
import { AfterServiceRequests } from './payload/collections/AfterServiceRequests'
import { DistributorRequests } from './payload/collections/DistributorRequests'
import { OemRequests } from './payload/collections/OemRequests'
import { Homepage } from './payload/globals/Homepage'
import { GlobalSettings } from './payload/globals/GlobalSettings'
import { AboutPage } from './payload/globals/AboutPage'
import { SupportPage } from './payload/globals/SupportPage'
import { ContactPage } from './payload/globals/ContactPage'
2026-04-26 19:55:59 +08:00
import { ContactUsPage } from './payload/globals/ContactUsPage'
import { DealersPage } from './payload/globals/DealersPage'
import { NewsPage } from './payload/globals/NewsPage'
2026-04-23 01:08:18 +08:00
import { WarrantyPage } from './payload/globals/WarrantyPage'
2026-04-26 19:55:59 +08:00
import { ProductsPage } from './payload/globals/ProductsPage'
2026-04-23 01:08:18 +08:00
const filename = fileURLToPath(import.meta.url)
const dirname = path.dirname(filename)
export default buildConfig({
admin: {
user: Users.slug,
},
i18n: {
fallbackLanguage: 'en',
supportedLanguages: {
en,
zh,
},
},
editor: eversoloRichTextEditor,
collections: [
Users,
Media,
Files,
Videos,
Products,
ProductCategories,
Downloads,
FAQs,
Dealers,
2026-04-26 19:55:59 +08:00
NewsCategories,
2026-04-23 01:08:18 +08:00
News,
ProductVideos,
ProductReviews,
AfterServiceRequests,
DistributorRequests,
OemRequests,
Redirects,
],
2026-04-26 19:55:59 +08:00
globals: [
Homepage,
GlobalSettings,
AboutPage,
ContactUsPage,
SupportPage,
ContactPage,
WarrantyPage,
ProductsPage,
NewsPage,
DealersPage,
],
2026-04-23 01:08:18 +08:00
localization: {
locales: [
{ label: 'English', code: 'en' },
{ label: '简体中文', code: 'zh' },
],
defaultLocale: 'en',
fallback: false,
},
secret: process.env.PAYLOAD_SECRET ?? 'change-me',
typescript: {
outputFile: path.resolve(dirname, 'payload-types.ts'),
},
db: postgresAdapter({
pool: {
connectionString: process.env.DATABASE_URI ?? '',
},
push: true,
prodMigrations: undefined,
}),
upload: {
limits: {
fileSize: 500 * 1024 * 1024,
},
},
sharp,
})