MCPcopy
hub / github.com/payloadcms/payload / createLocalReq

Function createLocalReq

packages/payload/src/utilities/createLocalReq.ts:100–163  ·  view source on GitHub ↗
(
  {
    context,
    depth,
    fallbackLocale,
    locale: localeArg,
    req = {} as PayloadRequest,
    urlSuffix,
    user,
  },
  payload,
)

Source from the content-addressed store, hash-verified

98type CreateLocalReq = (options: CreateLocalReqOptions, payload: Payload) => Promise<PayloadRequest>
99
100export const createLocalReq: CreateLocalReq = async (
101 {
102 context,
103 depth,
104 fallbackLocale,
105 locale: localeArg,
106 req = {} as PayloadRequest,
107 urlSuffix,
108 user,
109 },
110 payload,
111): Promise<PayloadRequest> => {
112 const localization = payload.config?.localization
113
114 if (localization) {
115 const locale = localeArg === '*' ? 'all' : localeArg
116 const defaultLocale = localization.defaultLocale
117 const localeCandidate = locale || req?.locale || req?.query?.locale
118
119 req.locale =
120 localeCandidate && typeof localeCandidate === 'string' ? localeCandidate : defaultLocale
121
122 const sanitizedFallback = sanitizeFallbackLocale({
123 fallbackLocale: fallbackLocale!,
124 locale: req.locale,
125 localization,
126 })
127
128 req.fallbackLocale = sanitizedFallback!
129 }
130
131 const i18n =
132 req?.i18n ||
133 (await getLocalI18n({ config: payload.config, language: payload.config.i18n.fallbackLanguage }))
134
135 if (!req.headers) {
136 req.headers = new Headers()
137 }
138
139 req.context = getRequestContext(req, context)
140 req.payloadAPI = req?.payloadAPI || 'local'
141 req.payload = payload
142 req.i18n = i18n
143 req.t = i18n.t
144 req.user = user || req?.user || null
145
146 // Ensure user.collection is set for auth-related access control
147 // TODO (4.0): Instead of silently falling back, throw an error if user.collection is missing
148 if (req.user && !req.user.collection) {
149 req.user = { ...req.user, collection: payload.config.admin.user }
150 }
151
152 req.payloadDataLoader = req?.payloadDataLoader || getDataLoader(req as PayloadRequest)
153 req.routeParams = req?.routeParams || {}
154 req.query = req?.query || {}
155
156 if (typeof depth !== 'undefined') {
157 req.query.depth = depth

Callers 15

migrateResetFunction · 0.90
migrateFreshFunction · 0.90
migrateDownFunction · 0.90
migrateRefreshFunction · 0.90
runMigrationFileFunction · 0.90
getPayloadPopulateFnFunction · 0.90
convertLexicalToHTMLFunction · 0.90
refreshFunction · 0.90
logoutFunction · 0.90
initReqFunction · 0.90
POSTFunction · 0.90
POSTFunction · 0.90

Calls 5

sanitizeFallbackLocaleFunction · 0.85
getLocalI18nFunction · 0.85
getRequestContextFunction · 0.85
getDataLoaderFunction · 0.85
attachFakeURLPropertiesFunction · 0.85

Tested by 1

runWorkflowFNFunction · 0.72

Used in the wild real call sites across dependent graphs

searching dependent graphs…