@payloadcms/next 3.0.0-beta.56 → 3.0.0-beta.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/prod/index.js +2 -2
  2. package/dist/prod/styles.css +1 -1
  3. package/dist/routes/graphql/handler.js +8 -12
  4. package/dist/routes/graphql/handler.js.map +1 -1
  5. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  6. package/dist/routes/rest/auth/forgotPassword.js +7 -3
  7. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  8. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  9. package/dist/routes/rest/auth/login.js +9 -4
  10. package/dist/routes/rest/auth/login.js.map +1 -1
  11. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  12. package/dist/routes/rest/auth/registerFirstUser.js +9 -2
  13. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  14. package/dist/routes/rest/auth/verifyEmail.js +1 -1
  15. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  16. package/dist/routes/rest/buildFormState.d.ts +2 -2
  17. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  18. package/dist/routes/rest/buildFormState.js.map +1 -1
  19. package/dist/routes/rest/files/checkFileAccess.d.ts +2 -2
  20. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  21. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  22. package/dist/routes/rest/files/getFile.d.ts +2 -2
  23. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  24. package/dist/routes/rest/files/getFile.js.map +1 -1
  25. package/dist/routes/rest/index.d.ts.map +1 -1
  26. package/dist/routes/rest/index.js +59 -91
  27. package/dist/routes/rest/index.js.map +1 -1
  28. package/dist/routes/rest/og/index.d.ts +2 -2
  29. package/dist/routes/rest/og/index.d.ts.map +1 -1
  30. package/dist/routes/rest/og/index.js.map +1 -1
  31. package/dist/routes/rest/routeError.d.ts +2 -2
  32. package/dist/routes/rest/routeError.d.ts.map +1 -1
  33. package/dist/routes/rest/routeError.js.map +1 -1
  34. package/dist/routes/rest/types.d.ts +7 -7
  35. package/dist/routes/rest/types.d.ts.map +1 -1
  36. package/dist/routes/rest/types.js.map +1 -1
  37. package/dist/utilities/addDataAndFileToRequest.d.ts +3 -6
  38. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  39. package/dist/utilities/addDataAndFileToRequest.js +15 -18
  40. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  41. package/dist/utilities/addLocalesToRequest.d.ts +2 -5
  42. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  43. package/dist/utilities/addLocalesToRequest.js +8 -9
  44. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  45. package/dist/utilities/headersWithCors.d.ts +2 -2
  46. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  47. package/dist/utilities/headersWithCors.js.map +1 -1
  48. package/dist/utilities/initPage/index.d.ts.map +1 -1
  49. package/dist/utilities/initPage/index.js.map +1 -1
  50. package/dist/views/Document/getDocumentData.d.ts +2 -2
  51. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  52. package/dist/views/Document/getDocumentData.js.map +1 -1
  53. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  54. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  55. package/dist/views/Edit/Default/Auth/index.js +10 -3
  56. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  57. package/dist/views/Edit/Default/Auth/types.d.ts +1 -0
  58. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  59. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  60. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  61. package/dist/views/Edit/Default/index.js +1 -0
  62. package/dist/views/Edit/Default/index.js.map +1 -1
  63. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  64. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +34 -6
  65. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  66. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  67. package/dist/views/Login/LoginForm/index.js +38 -8
  68. package/dist/views/Login/LoginForm/index.js.map +1 -1
  69. package/package.json +7 -7
@@ -104,23 +104,23 @@ const endpoints = {
104
104
  }
105
105
  }
106
106
  };
107
- const handleCustomEndpoints = async ({ endpoints, entitySlug, payloadRequest })=>{
107
+ const handleCustomEndpoints = async ({ endpoints, entitySlug, req })=>{
108
108
  if (endpoints && endpoints.length > 0) {
109
109
  let handlerParams = {};
110
- const { pathname } = payloadRequest;
110
+ const { pathname } = req;
111
111
  /*
112
112
  * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request
113
113
  * target the correct API endpoint starting with basePath, which is good!
114
114
  *
115
115
  * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though
116
- * (from payloadRequest.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.
116
+ * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.
117
117
  */ let adjustedPathname = pathname;
118
118
  if (process.env.NEXT_BASE_PATH) {
119
119
  adjustedPathname = process.env.NEXT_BASE_PATH + pathname;
120
120
  }
121
- const pathPrefix = payloadRequest.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '');
121
+ const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '');
122
122
  const customEndpoint = endpoints.find((endpoint)=>{
123
- if (endpoint.method === payloadRequest.method.toLowerCase()) {
123
+ if (endpoint.method === req.method.toLowerCase()) {
124
124
  const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {
125
125
  decode: decodeURIComponent
126
126
  });
@@ -132,14 +132,14 @@ const handleCustomEndpoints = async ({ endpoints, entitySlug, payloadRequest })=
132
132
  }
133
133
  });
134
134
  if (customEndpoint) {
135
- payloadRequest.routeParams = {
136
- ...payloadRequest.routeParams,
135
+ req.routeParams = {
136
+ ...req.routeParams,
137
137
  ...handlerParams
138
138
  };
139
- const res = await customEndpoint.handler(payloadRequest);
139
+ const res = await customEndpoint.handler(req);
140
140
  if (res instanceof Response) {
141
- if (payloadRequest.responseHeaders) {
142
- mergeHeaders(payloadRequest.responseHeaders, res.headers);
141
+ if (req.responseHeaders) {
142
+ mergeHeaders(req.responseHeaders, res.headers);
143
143
  }
144
144
  return res;
145
145
  }
@@ -204,23 +204,19 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
204
204
  const customEndpointResponse = await handleCustomEndpoints({
205
205
  endpoints: collection.config.endpoints,
206
206
  entitySlug: slug1,
207
- payloadRequest: req
207
+ req
208
208
  });
209
209
  if (customEndpointResponse) {
210
210
  return customEndpointResponse;
211
211
  } else {
212
- const reqWithData = await addDataAndFileToRequest({
213
- request: req
214
- });
215
- const payloadRequest = addLocalesToRequestFromData({
216
- request: reqWithData
217
- });
212
+ await addDataAndFileToRequest(req);
213
+ addLocalesToRequestFromData(req);
218
214
  switch(slug.length){
219
215
  case 1:
220
216
  // /:collection
221
217
  res = await endpoints.collection.GET.find({
222
218
  collection,
223
- req: payloadRequest
219
+ req
224
220
  });
225
221
  break;
226
222
  case 2:
@@ -231,14 +227,14 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
231
227
  // /:collection/count
232
228
  res = await endpoints.collection.GET[slug2]({
233
229
  collection,
234
- req: payloadRequest
230
+ req
235
231
  });
236
232
  } else {
237
233
  // /:collection/:id
238
234
  res = await endpoints.collection.GET.findByID({
239
235
  id: slug2,
240
236
  collection,
241
- req: payloadRequest
237
+ req
242
238
  });
243
239
  }
244
240
  break;
@@ -248,14 +244,14 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
248
244
  res = await endpoints.collection.GET.getFile({
249
245
  collection,
250
246
  filename: slug3,
251
- req: payloadRequest
247
+ req
252
248
  });
253
249
  } else if (slug3 in endpoints.collection.GET) {
254
250
  // /:collection/:id/preview
255
251
  res = await endpoints.collection.GET[slug3]({
256
252
  id: slug2,
257
253
  collection,
258
- req: payloadRequest
254
+ req
259
255
  });
260
256
  } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {
261
257
  // /:collection/access/:id
@@ -263,7 +259,7 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
263
259
  res = await endpoints.collection.GET[`doc-${slug2}-by-id`]({
264
260
  id: slug3,
265
261
  collection,
266
- req: payloadRequest
262
+ req
267
263
  });
268
264
  }
269
265
  break;
@@ -280,23 +276,19 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
280
276
  const customEndpointResponse = await handleCustomEndpoints({
281
277
  endpoints: globalConfig.endpoints,
282
278
  entitySlug: `${slug1}/${slug2}`,
283
- payloadRequest: req
279
+ req
284
280
  });
285
281
  if (customEndpointResponse) {
286
282
  return customEndpointResponse;
287
283
  } else {
288
- const reqWithData = await addDataAndFileToRequest({
289
- request: req
290
- });
291
- const payloadRequest = addLocalesToRequestFromData({
292
- request: reqWithData
293
- });
284
+ await addDataAndFileToRequest(req);
285
+ addLocalesToRequestFromData(req);
294
286
  switch(slug.length){
295
287
  case 2:
296
288
  // /globals/:slug
297
289
  res = await endpoints.global.GET.findOne({
298
290
  globalConfig,
299
- req: payloadRequest
291
+ req
300
292
  });
301
293
  break;
302
294
  case 3:
@@ -304,7 +296,7 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
304
296
  // /globals/:slug/preview
305
297
  res = await endpoints.global.GET[slug3]({
306
298
  globalConfig,
307
- req: payloadRequest
299
+ req
308
300
  });
309
301
  } else if (`doc-${slug3}` in endpoints.global.GET) {
310
302
  // /globals/:slug/access
@@ -312,7 +304,7 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
312
304
  // /globals/:slug/preview
313
305
  res = await (endpoints.global.GET?.[`doc-${slug3}`])({
314
306
  globalConfig,
315
- req: payloadRequest
307
+ req
316
308
  });
317
309
  }
318
310
  break;
@@ -322,21 +314,17 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
322
314
  res = await (endpoints.global.GET?.[`doc-${slug3}-by-id`])({
323
315
  id: slug4,
324
316
  globalConfig,
325
- req: payloadRequest
317
+ req
326
318
  });
327
319
  }
328
320
  break;
329
321
  }
330
322
  }
331
323
  } else if (slug.length === 1 && slug1 in endpoints.root.GET) {
332
- const reqWithData = await addDataAndFileToRequest({
333
- request: req
334
- });
335
- const payloadRequest = addLocalesToRequestFromData({
336
- request: reqWithData
337
- });
324
+ await addDataAndFileToRequest(req);
325
+ addLocalesToRequestFromData(req);
338
326
  res = await endpoints.root.GET[slug1]({
339
- req: payloadRequest
327
+ req
340
328
  });
341
329
  }
342
330
  if (res instanceof Response) {
@@ -348,7 +336,7 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
348
336
  // root routes
349
337
  const customEndpointResponse = await handleCustomEndpoints({
350
338
  endpoints: req.payload.config.endpoints,
351
- payloadRequest: req
339
+ req
352
340
  });
353
341
  if (customEndpointResponse) return customEndpointResponse;
354
342
  return RouteNotFoundResponse({
@@ -398,23 +386,19 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
398
386
  const customEndpointResponse = await handleCustomEndpoints({
399
387
  endpoints: collection.config.endpoints,
400
388
  entitySlug: slug1,
401
- payloadRequest: req
389
+ req
402
390
  });
403
391
  if (customEndpointResponse) {
404
392
  return customEndpointResponse;
405
393
  } else {
406
- const reqWithData = await addDataAndFileToRequest({
407
- request: req
408
- });
409
- const payloadRequest = addLocalesToRequestFromData({
410
- request: reqWithData
411
- });
394
+ await addDataAndFileToRequest(req);
395
+ addLocalesToRequestFromData(req);
412
396
  switch(slug.length){
413
397
  case 1:
414
398
  // /:collection
415
399
  res = await endpoints.collection.POST.create({
416
400
  collection,
417
- req: payloadRequest
401
+ req
418
402
  });
419
403
  break;
420
404
  case 2:
@@ -429,7 +413,7 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
429
413
  // /:collection/refresh-token
430
414
  res = await (endpoints.collection.POST?.[slug2])({
431
415
  collection,
432
- req: payloadRequest
416
+ req
433
417
  });
434
418
  }
435
419
  break;
@@ -441,14 +425,14 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
441
425
  res = await endpoints.collection.POST[`doc-${slug2}-by-id`]({
442
426
  id: slug3,
443
427
  collection,
444
- req: payloadRequest
428
+ req
445
429
  });
446
430
  } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {
447
431
  // /:collection/:id/duplicate
448
432
  res = await endpoints.collection.POST.duplicate({
449
433
  id: slug2,
450
434
  collection,
451
- req: payloadRequest
435
+ req
452
436
  });
453
437
  }
454
438
  break;
@@ -465,23 +449,19 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
465
449
  const customEndpointResponse = await handleCustomEndpoints({
466
450
  endpoints: globalConfig.endpoints,
467
451
  entitySlug: `${slug1}/${slug2}`,
468
- payloadRequest: req
452
+ req
469
453
  });
470
454
  if (customEndpointResponse) {
471
455
  return customEndpointResponse;
472
456
  } else {
473
- const reqWithData = await addDataAndFileToRequest({
474
- request: req
475
- });
476
- const payloadRequest = addLocalesToRequestFromData({
477
- request: reqWithData
478
- });
457
+ await addDataAndFileToRequest(req);
458
+ addLocalesToRequestFromData(req);
479
459
  switch(slug.length){
480
460
  case 2:
481
461
  // /globals/:slug
482
462
  res = await endpoints.global.POST.update({
483
463
  globalConfig,
484
- req: payloadRequest
464
+ req
485
465
  });
486
466
  break;
487
467
  case 3:
@@ -489,7 +469,7 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
489
469
  // /globals/:slug/access
490
470
  res = await (endpoints.global.POST?.[`doc-${slug3}`])({
491
471
  globalConfig,
492
- req: payloadRequest
472
+ req
493
473
  });
494
474
  }
495
475
  break;
@@ -499,7 +479,7 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
499
479
  res = await (endpoints.global.POST?.[`doc-${slug3}-by-id`])({
500
480
  id: slug4,
501
481
  globalConfig,
502
- req: payloadRequest
482
+ req
503
483
  });
504
484
  }
505
485
  break;
@@ -510,14 +490,10 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
510
490
  }
511
491
  }
512
492
  } else if (slug.length === 1 && slug1 in endpoints.root.POST) {
513
- const reqWithData = await addDataAndFileToRequest({
514
- request: req
515
- });
516
- const payloadRequest = addLocalesToRequestFromData({
517
- request: reqWithData
518
- });
493
+ await addDataAndFileToRequest(req);
494
+ addLocalesToRequestFromData(req);
519
495
  res = await endpoints.root.POST[slug1]({
520
- req: payloadRequest
496
+ req
521
497
  });
522
498
  }
523
499
  if (res instanceof Response) {
@@ -529,7 +505,7 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
529
505
  // root routes
530
506
  const customEndpointResponse = await handleCustomEndpoints({
531
507
  endpoints: req.payload.config.endpoints,
532
- payloadRequest: req
508
+ req
533
509
  });
534
510
  if (customEndpointResponse) return customEndpointResponse;
535
511
  return RouteNotFoundResponse({
@@ -571,23 +547,19 @@ export const DELETE = (config)=>async (request, { params: { slug } })=>{
571
547
  const customEndpointResponse = await handleCustomEndpoints({
572
548
  endpoints: collection.config.endpoints,
573
549
  entitySlug: slug1,
574
- payloadRequest: req
550
+ req
575
551
  });
576
552
  if (customEndpointResponse) {
577
553
  return customEndpointResponse;
578
554
  } else {
579
- const reqWithData = await addDataAndFileToRequest({
580
- request: req
581
- });
582
- const payloadRequest = addLocalesToRequestFromData({
583
- request: reqWithData
584
- });
555
+ await addDataAndFileToRequest(req);
556
+ addLocalesToRequestFromData(req);
585
557
  switch(slug.length){
586
558
  case 1:
587
559
  // /:collection
588
560
  res = await endpoints.collection.DELETE.delete({
589
561
  collection,
590
- req: payloadRequest
562
+ req
591
563
  });
592
564
  break;
593
565
  case 2:
@@ -595,7 +567,7 @@ export const DELETE = (config)=>async (request, { params: { slug } })=>{
595
567
  res = await endpoints.collection.DELETE.deleteByID({
596
568
  id: slug2,
597
569
  collection,
598
- req: payloadRequest
570
+ req
599
571
  });
600
572
  break;
601
573
  }
@@ -610,7 +582,7 @@ export const DELETE = (config)=>async (request, { params: { slug } })=>{
610
582
  // root routes
611
583
  const customEndpointResponse = await handleCustomEndpoints({
612
584
  endpoints: req.payload.config.endpoints,
613
- payloadRequest: req
585
+ req
614
586
  });
615
587
  if (customEndpointResponse) return customEndpointResponse;
616
588
  return RouteNotFoundResponse({
@@ -652,23 +624,19 @@ export const PATCH = (config)=>async (request, { params: { slug } })=>{
652
624
  const customEndpointResponse = await handleCustomEndpoints({
653
625
  endpoints: collection.config.endpoints,
654
626
  entitySlug: slug1,
655
- payloadRequest: req
627
+ req
656
628
  });
657
629
  if (customEndpointResponse) {
658
630
  return customEndpointResponse;
659
631
  } else {
660
- const reqWithData = await addDataAndFileToRequest({
661
- request: req
662
- });
663
- const payloadRequest = addLocalesToRequestFromData({
664
- request: reqWithData
665
- });
632
+ await addDataAndFileToRequest(req);
633
+ addLocalesToRequestFromData(req);
666
634
  switch(slug.length){
667
635
  case 1:
668
636
  // /:collection
669
637
  res = await endpoints.collection.PATCH.update({
670
638
  collection,
671
- req: payloadRequest
639
+ req
672
640
  });
673
641
  break;
674
642
  case 2:
@@ -676,7 +644,7 @@ export const PATCH = (config)=>async (request, { params: { slug } })=>{
676
644
  res = await endpoints.collection.PATCH.updateByID({
677
645
  id: slug2,
678
646
  collection,
679
- req: payloadRequest
647
+ req
680
648
  });
681
649
  break;
682
650
  }
@@ -691,7 +659,7 @@ export const PATCH = (config)=>async (request, { params: { slug } })=>{
691
659
  // root routes
692
660
  const customEndpointResponse = await handleCustomEndpoints({
693
661
  endpoints: req.payload.config.endpoints,
694
- payloadRequest: req
662
+ req
695
663
  });
696
664
  if (customEndpointResponse) return customEndpointResponse;
697
665
  return RouteNotFoundResponse({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type {\n Collection,\n Endpoint,\n GlobalConfig,\n PayloadRequest,\n PayloadRequestData,\n SanitizedConfig,\n} from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n payloadRequest,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n payloadRequest: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = payloadRequest\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from payloadRequest.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix =\n payloadRequest.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === payloadRequest.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n payloadRequest.routeParams = {\n ...payloadRequest.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(payloadRequest)\n\n if (res instanceof Response) {\n if (payloadRequest.responseHeaders) {\n mergeHeaders(payloadRequest.responseHeaders, res.headers)\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest | (PayloadRequest & PayloadRequestData)\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req: payloadRequest })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req: payloadRequest,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req: payloadRequest,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req: payloadRequest })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req: payloadRequest })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n res = await endpoints.root.GET[slug1]({ req: payloadRequest })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req: payloadRequest })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req: payloadRequest,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req: payloadRequest })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req: payloadRequest })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n res = await endpoints.root.POST[slug1]({ req: payloadRequest })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req: payloadRequest })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req: payloadRequest })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","payloadRequest","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","headers","RouteNotFoundResponse","slug","req","json","message","join","Headers","status","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","reqWithData","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Collection, Endpoint, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n req,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n req: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = req\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === req.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n req.routeParams = {\n ...req.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(req)\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.POST[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","req","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","headers","RouteNotFoundResponse","slug","json","message","join","Headers","status","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import type { PayloadRequestWithData } from 'payload';
1
+ import type { PayloadRequest } from 'payload';
2
2
  import { ImageResponse } from 'next/og.js';
3
3
  import { NextResponse } from 'next/server.js';
4
4
  export declare const runtime = "nodejs";
5
5
  export declare const contentType = "image/png";
6
6
  export declare const generateOGImage: ({ req }: {
7
- req: PayloadRequestWithData;
7
+ req: PayloadRequest;
8
8
  }) => Promise<NextResponse<{
9
9
  error: string;
10
10
  }> | ImageResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/og/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAU7C,eAAO,MAAM,OAAO,WAAW,CAAA;AAE/B,eAAO,MAAM,WAAW,cAAc,CAAA;AAEtC,eAAO,MAAM,eAAe,YAAmB;IAAE,GAAG,EAAE,sBAAsB,CAAA;CAAE;;mBA6D7E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/og/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAU7C,eAAO,MAAM,OAAO,WAAW,CAAA;AAE/B,eAAO,MAAM,WAAW,cAAc,CAAA;AAEtC,eAAO,MAAM,eAAe,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE;;mBA6DrE,CAAA"}