templates: do not expose users in example custom routes (#12677)

Follow up to #12404.

Templates include a custom route for demonstration purposes that shows
how to get Payload and use it. It was intended that these routes are
either removed or modified for every new project, however, we can't
guarantee this. This means that they should not expose any sensitive
data, such as the users list.

Instead, we can return a simple message from these routes indicating
they are custom. This will ensure that even if they are kept as-is and
deployed, no sensitive data is leaked. Payload is still instantiated,
but we simply don't use it.

This PR also types the first argument to further help users get started
building custom routes.
This commit is contained in:
Jacob Fletcher
2025-06-04 17:18:09 -04:00
committed by GitHub
parent 9581092995
commit be52a203a3
9 changed files with 27 additions and 45 deletions

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}

View File

@@ -1,14 +1,12 @@
import configPromise from '@payload-config'
import { getPayload } from 'payload'
export const GET = async () => {
export const GET = async (request: Request) => {
const payload = await getPayload({
config: configPromise,
})
const data = await payload.find({
collection: 'users',
return Response.json({
message: 'This is an example of a custom route.',
})
return Response.json(data)
}