Skip to content

Commit b6c4e23

Browse files
committed
chore(dev): Add mongoose adapter
1 parent 6beebd2 commit b6c4e23

File tree

4 files changed

+254
-17
lines changed

4 files changed

+254
-17
lines changed

packages/dev/.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Payload CMS
22
PAYLOAD_SECRET=secret
33
DATABASE_URI=postgres://root:root@127.0.0.1:5432/payload-authjs
4+
#DATABASE_URI=mongodb://127.0.0.1:27017/payload-authjs
45

56
# Auth.js
67
AUTH_SECRET=secret

packages/dev/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"generate:importmap": "payload generate:importmap"
1414
},
1515
"dependencies": {
16+
"@payloadcms/db-mongodb": "3.31.0",
1617
"@payloadcms/db-postgres": "3.31.0",
1718
"@payloadcms/next": "3.31.0",
1819
"@payloadcms/translations": "3.31.0",

packages/dev/src/payload.config.ts

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { mongooseAdapter } from "@payloadcms/db-mongodb";
12
import { postgresAdapter } from "@payloadcms/db-postgres";
23
import path from "path";
34
import { buildConfig } from "payload";
@@ -37,11 +38,23 @@ export default buildConfig({
3738
typescript: {
3839
outputFile: path.resolve(dirname, "payload-types.ts"),
3940
},
40-
db: postgresAdapter({
41-
pool: {
42-
connectionString: process.env.DATABASE_URI || "",
43-
},
44-
}),
41+
db: (() => {
42+
if (process.env.DATABASE_URI?.startsWith("postgres://")) {
43+
return postgresAdapter({
44+
pool: {
45+
connectionString: process.env.DATABASE_URI,
46+
},
47+
});
48+
}
49+
50+
if (process.env.DATABASE_URI?.startsWith("mongodb://")) {
51+
return mongooseAdapter({
52+
url: process.env.DATABASE_URI,
53+
});
54+
}
55+
56+
throw new Error("DATABASE_URI is not set");
57+
})(),
4558
email: ({ payload }) => ({
4659
name: "logger",
4760
defaultFromName: "Payload Auth.js",

0 commit comments

Comments
 (0)