next-cochise/src/payload.config.ts

74 lines
2.0 KiB
TypeScript
Raw Normal View History

// storage-adapter-import-placeholder
import { postgresAdapter } from "@payloadcms/db-postgres";
import { payloadCloudPlugin } from "@payloadcms/payload-cloud";
import { s3Storage } from "@payloadcms/storage-s3";
import path from "path";
import { buildConfig } from "payload";
import sharp from "sharp";
2025-02-04 11:04:18 +07:00
import { fileURLToPath } from "url";
2025-02-04 11:04:18 +07:00
import { Blogs } from "@/collections/Blogs";
import { Media } from "@/collections/Media";
import { Users } from "@/collections/Users";
import { Interests } from "@/collections/consultations/Interests";
import { ConsultationDateTime } from "@/collections/consultations/consultation-datetime";
const filename = fileURLToPath(import.meta.url);
const dirname = path.dirname(filename);
export default buildConfig({
admin: {
user: Users.slug,
importMap: {
2025-02-04 11:04:18 +07:00
// baseDir: path.resolve(dirname),
baseDir: "@",
},
meta: {
titleSuffix: "- Admin - Cochise Oncology",
description: "Cochise Oncology",
icons: [{ url: "/assets/images/demo-slick/logo-dark.webp" }],
},
components: {
graphics: {
Logo: {
path: "/components/Logo/AdminLogo",
},
},
},
2025-02-04 11:04:18 +07:00
theme: "dark",
},
collections: [Users, Media, Blogs, Interests],
globals: [ConsultationDateTime],
secret: process.env.PAYLOAD_SECRET || "",
typescript: {
outputFile: path.resolve(dirname, "payload-types.ts"),
},
db: postgresAdapter({
pool: {
connectionString: process.env.DATABASE_URI || "",
},
}),
sharp,
plugins: [
payloadCloudPlugin(),
// storage-adapter-placeholder
s3Storage({
collections: {
media: {
prefix: "media",
},
},
bucket: process.env.S3_BUCKET || "",
config: {
forcePathStyle: true, // Important for using Supabase
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY_ID || "",
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY || "",
},
region: process.env.S3_REGION,
endpoint: process.env.S3_ENDPOINT,
},
}),
],
});