payload 4.0.0-internal.fa345ef → 4.0.0-internal.fec2230

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 (1289) hide show
  1. package/bin.js +14 -10
  2. package/dist/__testing__/predefinedMigration.d.ts +4 -3
  3. package/dist/__testing__/predefinedMigration.d.ts.map +1 -1
  4. package/dist/admin/RichText.d.ts +1 -1
  5. package/dist/admin/RichText.d.ts.map +1 -1
  6. package/dist/admin/RichText.js.map +1 -1
  7. package/dist/admin/adapters/devReload.d.ts +13 -0
  8. package/dist/admin/adapters/devReload.d.ts.map +1 -1
  9. package/dist/admin/adapters/devReload.js +14 -1
  10. package/dist/admin/adapters/devReload.js.map +1 -1
  11. package/dist/admin/adapters/router.d.ts +8 -0
  12. package/dist/admin/adapters/router.d.ts.map +1 -1
  13. package/dist/admin/adapters/router.js.map +1 -1
  14. package/dist/admin/functions/index.d.ts +12 -10
  15. package/dist/admin/functions/index.d.ts.map +1 -1
  16. package/dist/admin/functions/index.js.map +1 -1
  17. package/dist/admin/types.d.ts +3 -3
  18. package/dist/admin/types.d.ts.map +1 -1
  19. package/dist/admin/types.js.map +1 -1
  20. package/dist/admin/views/index.d.ts +2 -2
  21. package/dist/admin/views/index.d.ts.map +1 -1
  22. package/dist/admin/views/index.js.map +1 -1
  23. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  24. package/dist/auth/baseFields/apiKey.js +16 -1
  25. package/dist/auth/baseFields/apiKey.js.map +1 -1
  26. package/dist/auth/cookies.d.ts +2 -2
  27. package/dist/auth/cookies.d.ts.map +1 -1
  28. package/dist/auth/crypto.d.ts +73 -2
  29. package/dist/auth/crypto.d.ts.map +1 -1
  30. package/dist/auth/crypto.js +90 -13
  31. package/dist/auth/crypto.js.map +1 -1
  32. package/dist/auth/defaultAccess.d.ts.map +1 -1
  33. package/dist/auth/endpoints/login.d.ts.map +1 -1
  34. package/dist/auth/endpoints/login.js +2 -11
  35. package/dist/auth/endpoints/login.js.map +1 -1
  36. package/dist/auth/endpoints/refresh.d.ts.map +1 -1
  37. package/dist/auth/endpoints/refresh.js +4 -6
  38. package/dist/auth/endpoints/refresh.js.map +1 -1
  39. package/dist/auth/ensureUsernameOrEmail.d.ts.map +1 -1
  40. package/dist/auth/executeAccess.d.ts +2 -1
  41. package/dist/auth/executeAccess.d.ts.map +1 -1
  42. package/dist/auth/executeAccess.js +2 -1
  43. package/dist/auth/executeAccess.js.map +1 -1
  44. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  45. package/dist/auth/extractAccessFromPermission.d.ts.map +1 -1
  46. package/dist/auth/extractJWT.d.ts +1 -1
  47. package/dist/auth/extractJWT.d.ts.map +1 -1
  48. package/dist/auth/getAccessResults.js +1 -0
  49. package/dist/auth/getAccessResults.js.map +1 -1
  50. package/dist/auth/getAuthFields.d.ts.map +1 -1
  51. package/dist/auth/getFieldsToSign.d.ts +1 -1
  52. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  53. package/dist/auth/getLoginOptions.d.ts +1 -1
  54. package/dist/auth/getLoginOptions.d.ts.map +1 -1
  55. package/dist/auth/getLoginOptions.js.map +1 -1
  56. package/dist/auth/isUserLocked.d.ts.map +1 -1
  57. package/dist/auth/jwt.d.ts.map +1 -1
  58. package/dist/auth/loginWithCookie.d.ts +33 -0
  59. package/dist/auth/loginWithCookie.d.ts.map +1 -0
  60. package/dist/auth/loginWithCookie.js +34 -0
  61. package/dist/auth/loginWithCookie.js.map +1 -0
  62. package/dist/auth/operations/access.d.ts.map +1 -1
  63. package/dist/auth/operations/access.js +3 -9
  64. package/dist/auth/operations/access.js.map +1 -1
  65. package/dist/auth/operations/auth.d.ts.map +1 -1
  66. package/dist/auth/operations/auth.js +15 -21
  67. package/dist/auth/operations/auth.js.map +1 -1
  68. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  69. package/dist/auth/operations/init.d.ts.map +1 -1
  70. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  71. package/dist/auth/operations/login.d.ts.map +1 -1
  72. package/dist/auth/operations/logout.d.ts.map +1 -1
  73. package/dist/auth/operations/me.d.ts +2 -9
  74. package/dist/auth/operations/me.d.ts.map +1 -1
  75. package/dist/auth/operations/me.js +0 -6
  76. package/dist/auth/operations/me.js.map +1 -1
  77. package/dist/auth/operations/refresh.d.ts +0 -7
  78. package/dist/auth/operations/refresh.d.ts.map +1 -1
  79. package/dist/auth/operations/refresh.js +0 -6
  80. package/dist/auth/operations/refresh.js.map +1 -1
  81. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  82. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  83. package/dist/auth/operations/unlock.d.ts.map +1 -1
  84. package/dist/auth/operations/unlock.js +1 -0
  85. package/dist/auth/operations/unlock.js.map +1 -1
  86. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  87. package/dist/auth/rotateSecret.d.ts +51 -0
  88. package/dist/auth/rotateSecret.d.ts.map +1 -0
  89. package/dist/auth/rotateSecret.js +131 -0
  90. package/dist/auth/rotateSecret.js.map +1 -0
  91. package/dist/auth/serverFunctions/cookies.d.ts +47 -0
  92. package/dist/auth/serverFunctions/cookies.d.ts.map +1 -0
  93. package/dist/auth/serverFunctions/cookies.js +52 -0
  94. package/dist/auth/serverFunctions/cookies.js.map +1 -0
  95. package/dist/auth/serverFunctions/login.d.ts +29 -0
  96. package/dist/auth/serverFunctions/login.d.ts.map +1 -0
  97. package/dist/auth/serverFunctions/login.js +63 -0
  98. package/dist/auth/serverFunctions/login.js.map +1 -0
  99. package/dist/auth/serverFunctions/logout.d.ts +17 -0
  100. package/dist/auth/serverFunctions/logout.d.ts.map +1 -0
  101. package/dist/auth/serverFunctions/logout.js +58 -0
  102. package/dist/auth/serverFunctions/logout.js.map +1 -0
  103. package/dist/auth/serverFunctions/refresh.d.ts +17 -0
  104. package/dist/auth/serverFunctions/refresh.d.ts.map +1 -0
  105. package/dist/auth/serverFunctions/refresh.js +61 -0
  106. package/dist/auth/serverFunctions/refresh.js.map +1 -0
  107. package/dist/auth/sessions.d.ts.map +1 -1
  108. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  109. package/dist/auth/strategies/apiKey.js +5 -3
  110. package/dist/auth/strategies/apiKey.js.map +1 -1
  111. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  112. package/dist/auth/strategies/jwt.js +23 -2
  113. package/dist/auth/strategies/jwt.js.map +1 -1
  114. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  115. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  116. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  117. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  118. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  119. package/dist/auth/types.d.ts +13 -21
  120. package/dist/auth/types.d.ts.map +1 -1
  121. package/dist/auth/types.js.map +1 -1
  122. package/dist/auth/withBaseAccess.d.ts +22 -0
  123. package/dist/auth/withBaseAccess.d.ts.map +1 -0
  124. package/dist/auth/withBaseAccess.js +61 -0
  125. package/dist/auth/withBaseAccess.js.map +1 -0
  126. package/dist/cli/commands/build/build.d.ts +44 -0
  127. package/dist/cli/commands/build/build.d.ts.map +1 -0
  128. package/dist/cli/commands/build/build.js +225 -0
  129. package/dist/cli/commands/build/build.js.map +1 -0
  130. package/dist/cli/commands/build/build.spec.js +582 -0
  131. package/dist/cli/commands/build/build.spec.js.map +1 -0
  132. package/dist/cli/commands/build/index.d.ts +2 -0
  133. package/dist/cli/commands/build/index.d.ts.map +1 -0
  134. package/dist/cli/commands/build/index.js +26 -0
  135. package/dist/cli/commands/build/index.js.map +1 -0
  136. package/dist/cli/commands/collections/countDocuments.d.ts +2 -0
  137. package/dist/cli/commands/collections/countDocuments.d.ts.map +1 -0
  138. package/dist/cli/commands/collections/countDocuments.js +37 -0
  139. package/dist/cli/commands/collections/countDocuments.js.map +1 -0
  140. package/dist/cli/commands/collections/countVersions.d.ts +2 -0
  141. package/dist/cli/commands/collections/countVersions.d.ts.map +1 -0
  142. package/dist/cli/commands/collections/countVersions.js +36 -0
  143. package/dist/cli/commands/collections/countVersions.js.map +1 -0
  144. package/dist/cli/commands/collections/createDocuments.d.ts +2 -0
  145. package/dist/cli/commands/collections/createDocuments.d.ts.map +1 -0
  146. package/dist/cli/commands/collections/createDocuments.js +130 -0
  147. package/dist/cli/commands/collections/createDocuments.js.map +1 -0
  148. package/dist/cli/commands/collections/deleteDocuments.d.ts +2 -0
  149. package/dist/cli/commands/collections/deleteDocuments.d.ts.map +1 -0
  150. package/dist/cli/commands/collections/deleteDocuments.js +64 -0
  151. package/dist/cli/commands/collections/deleteDocuments.js.map +1 -0
  152. package/dist/cli/commands/collections/duplicateDocument.d.ts +2 -0
  153. package/dist/cli/commands/collections/duplicateDocument.d.ts.map +1 -0
  154. package/dist/cli/commands/collections/duplicateDocument.js +107 -0
  155. package/dist/cli/commands/collections/duplicateDocument.js.map +1 -0
  156. package/dist/cli/commands/collections/findDistinct.d.ts +2 -0
  157. package/dist/cli/commands/collections/findDistinct.d.ts.map +1 -0
  158. package/dist/cli/commands/collections/findDistinct.js +52 -0
  159. package/dist/cli/commands/collections/findDistinct.js.map +1 -0
  160. package/dist/cli/commands/collections/findDocuments.d.ts +2 -0
  161. package/dist/cli/commands/collections/findDocuments.d.ts.map +1 -0
  162. package/dist/cli/commands/collections/findDocuments.js +79 -0
  163. package/dist/cli/commands/collections/findDocuments.js.map +1 -0
  164. package/dist/cli/commands/collections/findVersionByID.d.ts +2 -0
  165. package/dist/cli/commands/collections/findVersionByID.d.ts.map +1 -0
  166. package/dist/cli/commands/collections/findVersionByID.js +48 -0
  167. package/dist/cli/commands/collections/findVersionByID.js.map +1 -0
  168. package/dist/cli/commands/collections/findVersions.d.ts +2 -0
  169. package/dist/cli/commands/collections/findVersions.d.ts.map +1 -0
  170. package/dist/cli/commands/collections/findVersions.js +57 -0
  171. package/dist/cli/commands/collections/findVersions.js.map +1 -0
  172. package/dist/cli/commands/collections/getCollectionSchema.d.ts +2 -0
  173. package/dist/cli/commands/collections/getCollectionSchema.d.ts.map +1 -0
  174. package/dist/cli/commands/collections/getCollectionSchema.js +49 -0
  175. package/dist/cli/commands/collections/getCollectionSchema.js.map +1 -0
  176. package/dist/cli/commands/collections/restoreVersion.d.ts +2 -0
  177. package/dist/cli/commands/collections/restoreVersion.d.ts.map +1 -0
  178. package/dist/cli/commands/collections/restoreVersion.js +47 -0
  179. package/dist/cli/commands/collections/restoreVersion.js.map +1 -0
  180. package/dist/cli/commands/collections/updateDocument.d.ts +2 -0
  181. package/dist/cli/commands/collections/updateDocument.d.ts.map +1 -0
  182. package/dist/cli/commands/collections/updateDocument.js +190 -0
  183. package/dist/cli/commands/collections/updateDocument.js.map +1 -0
  184. package/dist/cli/commands/data/input.d.ts +28 -0
  185. package/dist/cli/commands/data/input.d.ts.map +1 -0
  186. package/dist/cli/commands/data/input.js +76 -0
  187. package/dist/cli/commands/data/input.js.map +1 -0
  188. package/dist/cli/commands/data/utilities.d.ts +65 -0
  189. package/dist/cli/commands/data/utilities.d.ts.map +1 -0
  190. package/dist/cli/commands/data/utilities.js +67 -0
  191. package/dist/cli/commands/data/utilities.js.map +1 -0
  192. package/dist/cli/commands/generateDBSchema.d.ts +2 -0
  193. package/dist/cli/commands/generateDBSchema.d.ts.map +1 -0
  194. package/dist/cli/commands/generateDBSchema.js +29 -0
  195. package/dist/cli/commands/generateDBSchema.js.map +1 -0
  196. package/dist/cli/commands/generateImportMap/frameworkConventions.d.ts +8 -0
  197. package/dist/cli/commands/generateImportMap/frameworkConventions.d.ts.map +1 -0
  198. package/dist/cli/commands/generateImportMap/frameworkConventions.js +8 -0
  199. package/dist/cli/commands/generateImportMap/frameworkConventions.js.map +1 -0
  200. package/dist/{bin/generateImportMap/index.d.ts → cli/commands/generateImportMap/generateImportMap.d.ts} +8 -4
  201. package/dist/cli/commands/generateImportMap/generateImportMap.d.ts.map +1 -0
  202. package/dist/{bin/generateImportMap/index.js → cli/commands/generateImportMap/generateImportMap.js} +9 -4
  203. package/dist/cli/commands/generateImportMap/generateImportMap.js.map +1 -0
  204. package/dist/cli/commands/generateImportMap/generateImportMap.spec.js.map +1 -0
  205. package/dist/cli/commands/generateImportMap/index.d.ts +2 -0
  206. package/dist/cli/commands/generateImportMap/index.d.ts.map +1 -0
  207. package/dist/cli/commands/generateImportMap/index.js +18 -0
  208. package/dist/cli/commands/generateImportMap/index.js.map +1 -0
  209. package/dist/{bin → cli/commands}/generateImportMap/iterateCollections.d.ts +3 -3
  210. package/dist/cli/commands/generateImportMap/iterateCollections.d.ts.map +1 -0
  211. package/dist/cli/commands/generateImportMap/iterateCollections.js.map +1 -0
  212. package/dist/{bin → cli/commands}/generateImportMap/iterateConfig.d.ts +2 -2
  213. package/dist/cli/commands/generateImportMap/iterateConfig.d.ts.map +1 -0
  214. package/dist/{bin → cli/commands}/generateImportMap/iterateConfig.js +1 -1
  215. package/dist/cli/commands/generateImportMap/iterateConfig.js.map +1 -0
  216. package/dist/{bin → cli/commands}/generateImportMap/iterateFields.d.ts +3 -3
  217. package/dist/cli/commands/generateImportMap/iterateFields.d.ts.map +1 -0
  218. package/dist/cli/commands/generateImportMap/iterateFields.js.map +1 -0
  219. package/dist/{bin → cli/commands}/generateImportMap/iterateGlobals.d.ts +3 -3
  220. package/dist/cli/commands/generateImportMap/iterateGlobals.d.ts.map +1 -0
  221. package/dist/cli/commands/generateImportMap/iterateGlobals.js.map +1 -0
  222. package/dist/{bin → cli/commands}/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts +2 -2
  223. package/dist/cli/commands/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts.map +1 -0
  224. package/dist/cli/commands/generateImportMap/utilities/addPayloadComponentToImportMap.js.map +1 -0
  225. package/dist/{bin → cli/commands}/generateImportMap/utilities/getFromImportMap.d.ts +2 -2
  226. package/dist/cli/commands/generateImportMap/utilities/getFromImportMap.d.ts.map +1 -0
  227. package/dist/cli/commands/generateImportMap/utilities/getFromImportMap.js.map +1 -0
  228. package/dist/cli/commands/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts.map +1 -0
  229. package/dist/cli/commands/generateImportMap/utilities/getImportMapToBaseDirPath.js.map +1 -0
  230. package/dist/{bin → cli/commands}/generateImportMap/utilities/parsePayloadComponent.d.ts +1 -1
  231. package/dist/cli/commands/generateImportMap/utilities/parsePayloadComponent.d.ts.map +1 -0
  232. package/dist/cli/commands/generateImportMap/utilities/parsePayloadComponent.js.map +1 -0
  233. package/dist/cli/commands/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +1 -0
  234. package/dist/{bin → cli/commands}/generateImportMap/utilities/resolveImportMapFilePath.js +5 -4
  235. package/dist/cli/commands/generateImportMap/utilities/resolveImportMapFilePath.js.map +1 -0
  236. package/dist/cli/commands/generateTypes.d.ts +12 -0
  237. package/dist/cli/commands/generateTypes.d.ts.map +1 -0
  238. package/dist/{bin → cli/commands}/generateTypes.js +33 -7
  239. package/dist/cli/commands/generateTypes.js.map +1 -0
  240. package/dist/cli/commands/getConfigInfo.d.ts +2 -0
  241. package/dist/cli/commands/getConfigInfo.d.ts.map +1 -0
  242. package/dist/cli/commands/getConfigInfo.js +23 -0
  243. package/dist/cli/commands/getConfigInfo.js.map +1 -0
  244. package/dist/cli/commands/globals/countGlobalVersions.d.ts +2 -0
  245. package/dist/cli/commands/globals/countGlobalVersions.d.ts.map +1 -0
  246. package/dist/cli/commands/globals/countGlobalVersions.js +36 -0
  247. package/dist/cli/commands/globals/countGlobalVersions.js.map +1 -0
  248. package/dist/cli/commands/globals/findGlobal.d.ts +2 -0
  249. package/dist/cli/commands/globals/findGlobal.d.ts.map +1 -0
  250. package/dist/cli/commands/globals/findGlobal.js +42 -0
  251. package/dist/cli/commands/globals/findGlobal.js.map +1 -0
  252. package/dist/cli/commands/globals/findGlobalVersionByID.d.ts +2 -0
  253. package/dist/cli/commands/globals/findGlobalVersionByID.d.ts.map +1 -0
  254. package/dist/cli/commands/globals/findGlobalVersionByID.js +46 -0
  255. package/dist/cli/commands/globals/findGlobalVersionByID.js.map +1 -0
  256. package/dist/cli/commands/globals/findGlobalVersions.d.ts +2 -0
  257. package/dist/cli/commands/globals/findGlobalVersions.d.ts.map +1 -0
  258. package/dist/cli/commands/globals/findGlobalVersions.js +55 -0
  259. package/dist/cli/commands/globals/findGlobalVersions.js.map +1 -0
  260. package/dist/cli/commands/globals/getGlobalSchema.d.ts +2 -0
  261. package/dist/cli/commands/globals/getGlobalSchema.d.ts.map +1 -0
  262. package/dist/cli/commands/globals/getGlobalSchema.js +34 -0
  263. package/dist/cli/commands/globals/getGlobalSchema.js.map +1 -0
  264. package/dist/cli/commands/globals/restoreGlobalVersion.d.ts +2 -0
  265. package/dist/cli/commands/globals/restoreGlobalVersion.d.ts.map +1 -0
  266. package/dist/cli/commands/globals/restoreGlobalVersion.js +46 -0
  267. package/dist/cli/commands/globals/restoreGlobalVersion.js.map +1 -0
  268. package/dist/cli/commands/globals/updateGlobal.d.ts +2 -0
  269. package/dist/cli/commands/globals/updateGlobal.d.ts.map +1 -0
  270. package/dist/cli/commands/globals/updateGlobal.js +93 -0
  271. package/dist/cli/commands/globals/updateGlobal.js.map +1 -0
  272. package/dist/cli/commands/help.d.ts +2 -0
  273. package/dist/cli/commands/help.d.ts.map +1 -0
  274. package/dist/cli/commands/help.js +42 -0
  275. package/dist/cli/commands/help.js.map +1 -0
  276. package/dist/cli/commands/info.d.ts +2 -0
  277. package/dist/cli/commands/info.d.ts.map +1 -0
  278. package/dist/cli/commands/info.js +78 -0
  279. package/dist/cli/commands/info.js.map +1 -0
  280. package/dist/cli/commands/jobs/handleSchedules.d.ts +2 -0
  281. package/dist/cli/commands/jobs/handleSchedules.d.ts.map +1 -0
  282. package/dist/cli/commands/jobs/handleSchedules.js +17 -0
  283. package/dist/cli/commands/jobs/handleSchedules.js.map +1 -0
  284. package/dist/cli/commands/jobs/run.d.ts +2 -0
  285. package/dist/cli/commands/jobs/run.d.ts.map +1 -0
  286. package/dist/cli/commands/jobs/run.js +29 -0
  287. package/dist/cli/commands/jobs/run.js.map +1 -0
  288. package/dist/cli/commands/migrate/create.d.ts +2 -0
  289. package/dist/cli/commands/migrate/create.d.ts.map +1 -0
  290. package/dist/cli/commands/migrate/create.js +44 -0
  291. package/dist/cli/commands/migrate/create.js.map +1 -0
  292. package/dist/cli/commands/migrate/down.d.ts +2 -0
  293. package/dist/cli/commands/migrate/down.d.ts.map +1 -0
  294. package/dist/cli/commands/migrate/down.js +22 -0
  295. package/dist/cli/commands/migrate/down.js.map +1 -0
  296. package/dist/cli/commands/migrate/fresh.d.ts +2 -0
  297. package/dist/cli/commands/migrate/fresh.d.ts.map +1 -0
  298. package/dist/cli/commands/migrate/fresh.js +28 -0
  299. package/dist/cli/commands/migrate/fresh.js.map +1 -0
  300. package/dist/cli/commands/migrate/initialize.d.ts +11 -0
  301. package/dist/cli/commands/migrate/initialize.d.ts.map +1 -0
  302. package/dist/cli/commands/migrate/initialize.js +17 -0
  303. package/dist/cli/commands/migrate/initialize.js.map +1 -0
  304. package/dist/cli/commands/migrate/refresh.d.ts +2 -0
  305. package/dist/cli/commands/migrate/refresh.d.ts.map +1 -0
  306. package/dist/cli/commands/migrate/refresh.js +22 -0
  307. package/dist/cli/commands/migrate/refresh.js.map +1 -0
  308. package/dist/cli/commands/migrate/reset.d.ts +2 -0
  309. package/dist/cli/commands/migrate/reset.d.ts.map +1 -0
  310. package/dist/cli/commands/migrate/reset.js +22 -0
  311. package/dist/cli/commands/migrate/reset.js.map +1 -0
  312. package/dist/cli/commands/migrate/run.d.ts +2 -0
  313. package/dist/cli/commands/migrate/run.d.ts.map +1 -0
  314. package/dist/cli/commands/migrate/run.js +28 -0
  315. package/dist/cli/commands/migrate/run.js.map +1 -0
  316. package/dist/cli/commands/migrate/status.d.ts +2 -0
  317. package/dist/cli/commands/migrate/status.d.ts.map +1 -0
  318. package/dist/cli/commands/migrate/status.js +22 -0
  319. package/dist/cli/commands/migrate/status.js.map +1 -0
  320. package/dist/cli/commands/run.d.ts +2 -0
  321. package/dist/cli/commands/run.d.ts.map +1 -0
  322. package/dist/cli/commands/run.js +45 -0
  323. package/dist/cli/commands/run.js.map +1 -0
  324. package/dist/cli/defineCLICommand.d.ts +32 -0
  325. package/dist/cli/defineCLICommand.d.ts.map +1 -0
  326. package/dist/cli/defineCLICommand.js +26 -0
  327. package/dist/cli/defineCLICommand.js.map +1 -0
  328. package/dist/cli/index.d.ts +7 -0
  329. package/dist/cli/index.d.ts.map +1 -0
  330. package/dist/cli/index.js +95 -0
  331. package/dist/cli/index.js.map +1 -0
  332. package/dist/cli/index.spec.js +402 -0
  333. package/dist/cli/index.spec.js.map +1 -0
  334. package/dist/cli/program/createHelp.d.ts +8 -0
  335. package/dist/cli/program/createHelp.d.ts.map +1 -0
  336. package/dist/cli/program/createHelp.js +26 -0
  337. package/dist/cli/program/createHelp.js.map +1 -0
  338. package/dist/cli/program/loadCommands.d.ts +12 -0
  339. package/dist/cli/program/loadCommands.d.ts.map +1 -0
  340. package/dist/cli/program/loadCommands.js +62 -0
  341. package/dist/cli/program/loadCommands.js.map +1 -0
  342. package/dist/cli/program/normalizeHelpArguments.d.ts +12 -0
  343. package/dist/cli/program/normalizeHelpArguments.d.ts.map +1 -0
  344. package/dist/cli/program/normalizeHelpArguments.js +34 -0
  345. package/dist/cli/program/normalizeHelpArguments.js.map +1 -0
  346. package/dist/cli/program/registerCommand.d.ts +10 -0
  347. package/dist/cli/program/registerCommand.d.ts.map +1 -0
  348. package/dist/cli/program/registerCommand.js +185 -0
  349. package/dist/cli/program/registerCommand.js.map +1 -0
  350. package/dist/cli/runtime/createRuntime.d.ts +9 -0
  351. package/dist/cli/runtime/createRuntime.d.ts.map +1 -0
  352. package/dist/cli/runtime/createRuntime.js +81 -0
  353. package/dist/cli/runtime/createRuntime.js.map +1 -0
  354. package/dist/cli/runtime/getCommandInput.d.ts +17 -0
  355. package/dist/cli/runtime/getCommandInput.d.ts.map +1 -0
  356. package/dist/cli/runtime/getCommandInput.js +86 -0
  357. package/dist/cli/runtime/getCommandInput.js.map +1 -0
  358. package/dist/cli/runtime/getCommandInput.spec.js +74 -0
  359. package/dist/cli/runtime/getCommandInput.spec.js.map +1 -0
  360. package/dist/cli/runtime/invokeCommand.d.ts +23 -0
  361. package/dist/cli/runtime/invokeCommand.d.ts.map +1 -0
  362. package/dist/cli/runtime/invokeCommand.js +107 -0
  363. package/dist/cli/runtime/invokeCommand.js.map +1 -0
  364. package/dist/cli/runtime/loadEnv.d.ts.map +1 -0
  365. package/dist/{bin → cli/runtime}/loadEnv.js +1 -1
  366. package/dist/cli/runtime/loadEnv.js.map +1 -0
  367. package/dist/cli/runtime/output.d.ts +50 -0
  368. package/dist/cli/runtime/output.d.ts.map +1 -0
  369. package/dist/cli/runtime/output.js +125 -0
  370. package/dist/cli/runtime/output.js.map +1 -0
  371. package/dist/cli/runtime/redirectOutputToStderr.d.ts +8 -0
  372. package/dist/cli/runtime/redirectOutputToStderr.d.ts.map +1 -0
  373. package/dist/cli/runtime/redirectOutputToStderr.js +31 -0
  374. package/dist/cli/runtime/redirectOutputToStderr.js.map +1 -0
  375. package/dist/collections/config/client.d.ts +11 -5
  376. package/dist/collections/config/client.d.ts.map +1 -1
  377. package/dist/collections/config/client.js +6 -1
  378. package/dist/collections/config/client.js.map +1 -1
  379. package/dist/collections/config/defaults.d.ts +4 -4
  380. package/dist/collections/config/defaults.d.ts.map +1 -1
  381. package/dist/collections/config/defaults.js +37 -32
  382. package/dist/collections/config/defaults.js.map +1 -1
  383. package/dist/collections/config/sanitize.d.ts +4 -8
  384. package/dist/collections/config/sanitize.d.ts.map +1 -1
  385. package/dist/collections/config/sanitize.js +31 -21
  386. package/dist/collections/config/sanitize.js.map +1 -1
  387. package/dist/collections/config/sanitize.spec.js +363 -1
  388. package/dist/collections/config/sanitize.spec.js.map +1 -1
  389. package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
  390. package/dist/collections/config/types.d.ts +56 -51
  391. package/dist/collections/config/types.d.ts.map +1 -1
  392. package/dist/collections/config/types.js.map +1 -1
  393. package/dist/collections/config/useAsTitle.d.ts.map +1 -1
  394. package/dist/collections/config/useAsTitle.spec.js +27 -27
  395. package/dist/collections/config/useAsTitle.spec.js.map +1 -1
  396. package/dist/collections/dataloader.d.ts +1 -1
  397. package/dist/collections/dataloader.d.ts.map +1 -1
  398. package/dist/collections/operations/count.d.ts.map +1 -1
  399. package/dist/collections/operations/count.js +65 -70
  400. package/dist/collections/operations/count.js.map +1 -1
  401. package/dist/collections/operations/countVersions.d.ts.map +1 -1
  402. package/dist/collections/operations/countVersions.js +61 -66
  403. package/dist/collections/operations/countVersions.js.map +1 -1
  404. package/dist/collections/operations/create.d.ts.map +1 -1
  405. package/dist/collections/operations/create.js +22 -0
  406. package/dist/collections/operations/create.js.map +1 -1
  407. package/dist/collections/operations/delete.d.ts.map +1 -1
  408. package/dist/collections/operations/delete.js +215 -129
  409. package/dist/collections/operations/delete.js.map +1 -1
  410. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  411. package/dist/collections/operations/deleteByID.js +1 -0
  412. package/dist/collections/operations/deleteByID.js.map +1 -1
  413. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  414. package/dist/collections/operations/docAccess.js +19 -25
  415. package/dist/collections/operations/docAccess.js.map +1 -1
  416. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  417. package/dist/collections/operations/find.d.ts.map +1 -1
  418. package/dist/collections/operations/find.js +248 -246
  419. package/dist/collections/operations/find.js.map +1 -1
  420. package/dist/collections/operations/findByID.d.ts.map +1 -1
  421. package/dist/collections/operations/findByID.js +215 -220
  422. package/dist/collections/operations/findByID.js.map +1 -1
  423. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  424. package/dist/collections/operations/findDistinct.js +161 -159
  425. package/dist/collections/operations/findDistinct.js.map +1 -1
  426. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  427. package/dist/collections/operations/findVersionByID.js +131 -136
  428. package/dist/collections/operations/findVersionByID.js.map +1 -1
  429. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  430. package/dist/collections/operations/findVersions.js +152 -149
  431. package/dist/collections/operations/findVersions.js.map +1 -1
  432. package/dist/collections/operations/inputSchemas.d.ts +877 -0
  433. package/dist/collections/operations/inputSchemas.d.ts.map +1 -0
  434. package/dist/collections/operations/inputSchemas.js +217 -0
  435. package/dist/collections/operations/inputSchemas.js.map +1 -0
  436. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  437. package/dist/collections/operations/restoreVersion.js +8 -4
  438. package/dist/collections/operations/restoreVersion.js.map +1 -1
  439. package/dist/collections/operations/update.d.ts.map +1 -1
  440. package/dist/collections/operations/update.js +20 -1
  441. package/dist/collections/operations/update.js.map +1 -1
  442. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  443. package/dist/collections/operations/updateByID.js +13 -0
  444. package/dist/collections/operations/updateByID.js.map +1 -1
  445. package/dist/collections/operations/utilities/buildAfterOperation.d.ts +1 -1
  446. package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -1
  447. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts.map +1 -1
  448. package/dist/collections/operations/utilities/sanitizeSortQuery.d.ts.map +1 -1
  449. package/dist/collections/operations/utilities/types.d.ts +20 -20
  450. package/dist/collections/operations/utilities/types.d.ts.map +1 -1
  451. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  452. package/dist/config/build.js +1 -1
  453. package/dist/config/build.js.map +1 -1
  454. package/dist/config/client.d.ts +2 -2
  455. package/dist/config/client.d.ts.map +1 -1
  456. package/dist/config/client.js +2 -1
  457. package/dist/config/client.js.map +1 -1
  458. package/dist/config/client.spec.js +20 -0
  459. package/dist/config/client.spec.js.map +1 -0
  460. package/dist/config/defaults.d.ts.map +1 -1
  461. package/dist/config/defaults.js +95 -42
  462. package/dist/config/defaults.js.map +1 -1
  463. package/dist/config/orderable/fractional-indexing.d.ts +23 -23
  464. package/dist/config/orderable/fractional-indexing.d.ts.map +1 -1
  465. package/dist/config/orderable/index.d.ts +1 -1
  466. package/dist/config/orderable/index.d.ts.map +1 -1
  467. package/dist/config/orderable/index.js +3 -2
  468. package/dist/config/orderable/index.js.map +1 -1
  469. package/dist/config/sanitize.d.ts +1 -1
  470. package/dist/config/sanitize.d.ts.map +1 -1
  471. package/dist/config/sanitize.js +42 -32
  472. package/dist/config/sanitize.js.map +1 -1
  473. package/dist/config/sanitize.spec.js +105 -0
  474. package/dist/config/sanitize.spec.js.map +1 -0
  475. package/dist/config/types.d.ts +495 -421
  476. package/dist/config/types.d.ts.map +1 -1
  477. package/dist/config/types.js.map +1 -1
  478. package/dist/database/combineQueries.d.ts.map +1 -1
  479. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  480. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  481. package/dist/database/createDatabaseAdapter.js +0 -2
  482. package/dist/database/createDatabaseAdapter.js.map +1 -1
  483. package/dist/database/isNestedRelationshipQuery.d.ts +14 -0
  484. package/dist/database/isNestedRelationshipQuery.d.ts.map +1 -0
  485. package/dist/database/isNestedRelationshipQuery.js +19 -0
  486. package/dist/database/isNestedRelationshipQuery.js.map +1 -0
  487. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  488. package/dist/database/migrations/createMigration.js +4 -0
  489. package/dist/database/migrations/createMigration.js.map +1 -1
  490. package/dist/database/migrations/findMigrationDir.d.ts.map +1 -1
  491. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -1
  492. package/dist/database/migrations/getPredefinedMigration.js +2 -2
  493. package/dist/database/migrations/getPredefinedMigration.js.map +1 -1
  494. package/dist/database/migrations/migrate.d.ts.map +1 -1
  495. package/dist/database/migrations/migrate.js +9 -0
  496. package/dist/database/migrations/migrate.js.map +1 -1
  497. package/dist/database/migrations/migrateDown.d.ts +2 -2
  498. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  499. package/dist/database/migrations/migrateDown.js +12 -2
  500. package/dist/database/migrations/migrateDown.js.map +1 -1
  501. package/dist/database/migrations/migrateRefresh.d.ts +2 -2
  502. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  503. package/dist/database/migrations/migrateRefresh.js +10 -2
  504. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  505. package/dist/database/migrations/migrateReset.d.ts +2 -2
  506. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  507. package/dist/database/migrations/migrateReset.js +11 -1
  508. package/dist/database/migrations/migrateReset.js.map +1 -1
  509. package/dist/database/migrations/migrateStatus.d.ts +2 -2
  510. package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
  511. package/dist/database/migrations/migrateStatus.js +11 -6
  512. package/dist/database/migrations/migrateStatus.js.map +1 -1
  513. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  514. package/dist/database/migrations/writeMigrationIndex.d.ts.map +1 -1
  515. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  516. package/dist/database/queryValidation/validateQueryPaths.js +8 -1
  517. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  518. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  519. package/dist/database/queryValidation/validateSearchParams.js +21 -4
  520. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  521. package/dist/database/queryValidation/validateSortQuery.d.ts +23 -0
  522. package/dist/database/queryValidation/validateSortQuery.d.ts.map +1 -0
  523. package/dist/database/queryValidation/validateSortQuery.js +54 -0
  524. package/dist/database/queryValidation/validateSortQuery.js.map +1 -0
  525. package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
  526. package/dist/database/sanitizeJoinQuery.js +7 -0
  527. package/dist/database/sanitizeJoinQuery.js.map +1 -1
  528. package/dist/database/sanitizeWhereQuery.d.ts +1 -1
  529. package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
  530. package/dist/database/sanitizeWhereQuery.js +44 -1
  531. package/dist/database/sanitizeWhereQuery.js.map +1 -1
  532. package/dist/database/types.d.ts +37 -13
  533. package/dist/database/types.d.ts.map +1 -1
  534. package/dist/database/types.js.map +1 -1
  535. package/dist/duplicateDocument/index.d.ts.map +1 -1
  536. package/dist/duplicateDocument/index.js +1 -0
  537. package/dist/duplicateDocument/index.js.map +1 -1
  538. package/dist/email/getStringifiedToAddress.d.ts.map +1 -1
  539. package/dist/errors/APIError.d.ts.map +1 -1
  540. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  541. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  542. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  543. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  544. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  545. package/dist/errors/FileRetrievalError.d.ts.map +1 -1
  546. package/dist/errors/FileUploadError.d.ts.map +1 -1
  547. package/dist/errors/Forbidden.d.ts.map +1 -1
  548. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  549. package/dist/errors/InvalidFieldJoin.d.ts.map +1 -1
  550. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  551. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  552. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  553. package/dist/errors/Locked.d.ts.map +1 -1
  554. package/dist/errors/LockedAuth.d.ts.map +1 -1
  555. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  556. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  557. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  558. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  559. package/dist/errors/MissingFile.d.ts.map +1 -1
  560. package/dist/errors/NotFound.d.ts.map +1 -1
  561. package/dist/errors/QueryError.d.ts.map +1 -1
  562. package/dist/errors/ReservedFieldName.d.ts.map +1 -1
  563. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  564. package/dist/errors/UnauthorizedError.d.ts.map +1 -1
  565. package/dist/errors/UnverifiedEmail.d.ts.map +1 -1
  566. package/dist/errors/ValidationError.d.ts.map +1 -1
  567. package/dist/exports/auth.d.ts +5 -0
  568. package/dist/exports/auth.d.ts.map +1 -0
  569. package/dist/exports/auth.js +6 -0
  570. package/dist/exports/auth.js.map +1 -0
  571. package/dist/exports/cli.d.ts +4 -0
  572. package/dist/exports/cli.d.ts.map +1 -0
  573. package/dist/exports/cli.js +4 -0
  574. package/dist/exports/cli.js.map +1 -0
  575. package/dist/exports/cliBuiltin.d.ts +37 -0
  576. package/dist/exports/cliBuiltin.d.ts.map +1 -0
  577. package/dist/exports/cliBuiltin.js +38 -0
  578. package/dist/exports/cliBuiltin.js.map +1 -0
  579. package/dist/exports/internal.d.ts +9 -1
  580. package/dist/exports/internal.d.ts.map +1 -1
  581. package/dist/exports/internal.js +8 -1
  582. package/dist/exports/internal.js.map +1 -1
  583. package/dist/exports/node.d.ts +2 -2
  584. package/dist/exports/node.d.ts.map +1 -1
  585. package/dist/exports/node.js +2 -2
  586. package/dist/exports/node.js.map +1 -1
  587. package/dist/exports/shared.d.ts +6 -4
  588. package/dist/exports/shared.d.ts.map +1 -1
  589. package/dist/exports/shared.js +4 -3
  590. package/dist/exports/shared.js.map +1 -1
  591. package/dist/fields/baseFields/slug/duplicateContext.d.ts +11 -0
  592. package/dist/fields/baseFields/slug/duplicateContext.d.ts.map +1 -0
  593. package/dist/fields/baseFields/slug/duplicateContext.js +21 -0
  594. package/dist/fields/baseFields/slug/duplicateContext.js.map +1 -0
  595. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.d.ts +23 -0
  596. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.d.ts.map +1 -0
  597. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.js +65 -0
  598. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.js.map +1 -0
  599. package/dist/fields/baseFields/slug/generateSlug.d.ts +19 -7
  600. package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
  601. package/dist/fields/baseFields/slug/generateSlug.js +111 -74
  602. package/dist/fields/baseFields/slug/generateSlug.js.map +1 -1
  603. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.d.ts +18 -0
  604. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.d.ts.map +1 -0
  605. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.js +20 -0
  606. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.js.map +1 -0
  607. package/dist/fields/baseFields/slug/getSlugFallbackValue.d.ts +23 -0
  608. package/dist/fields/baseFields/slug/getSlugFallbackValue.d.ts.map +1 -0
  609. package/dist/fields/baseFields/slug/getSlugFallbackValue.js +24 -0
  610. package/dist/fields/baseFields/slug/getSlugFallbackValue.js.map +1 -0
  611. package/dist/fields/baseFields/slug/hasValue.d.ts +3 -0
  612. package/dist/fields/baseFields/slug/hasValue.d.ts.map +1 -0
  613. package/dist/fields/baseFields/slug/hasValue.js +3 -0
  614. package/dist/fields/baseFields/slug/hasValue.js.map +1 -0
  615. package/dist/fields/baseFields/slug/types.d.ts +14 -0
  616. package/dist/fields/baseFields/slug/types.d.ts.map +1 -0
  617. package/dist/fields/baseFields/slug/types.js +6 -0
  618. package/dist/fields/baseFields/slug/types.js.map +1 -0
  619. package/dist/fields/config/client.d.ts +5 -5
  620. package/dist/fields/config/client.d.ts.map +1 -1
  621. package/dist/fields/config/client.js +3 -2
  622. package/dist/fields/config/client.js.map +1 -1
  623. package/dist/fields/config/reservedFieldNames.spec.js +18 -18
  624. package/dist/fields/config/reservedFieldNames.spec.js.map +1 -1
  625. package/dist/fields/config/sanitize.d.ts +6 -6
  626. package/dist/fields/config/sanitize.d.ts.map +1 -1
  627. package/dist/fields/config/sanitize.js +68 -19
  628. package/dist/fields/config/sanitize.js.map +1 -1
  629. package/dist/fields/config/sanitize.spec.js +105 -105
  630. package/dist/fields/config/sanitize.spec.js.map +1 -1
  631. package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
  632. package/dist/fields/config/types.d.ts +37 -11
  633. package/dist/fields/config/types.d.ts.map +1 -1
  634. package/dist/fields/config/types.js +1 -1
  635. package/dist/fields/config/types.js.map +1 -1
  636. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  637. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  638. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  639. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  640. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  641. package/dist/fields/hooks/afterRead/promise.js +1 -0
  642. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  643. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  644. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  645. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
  646. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
  647. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  648. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  649. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  650. package/dist/fields/hooks/beforeChange/promise.js +1 -0
  651. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  652. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  653. package/dist/fields/hooks/beforeDuplicate/index.d.ts.map +1 -1
  654. package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
  655. package/dist/fields/hooks/beforeDuplicate/traverseFields.d.ts.map +1 -1
  656. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  657. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  658. package/dist/fields/hooks/beforeValidate/promise.js +5 -3
  659. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  660. package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts +10 -0
  661. package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts.map +1 -0
  662. package/dist/fields/hooks/beforeValidate/stripNullRows.js +18 -0
  663. package/dist/fields/hooks/beforeValidate/stripNullRows.js.map +1 -0
  664. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  665. package/dist/fields/hooks/beforeValidate/traverseFields.js +2 -0
  666. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  667. package/dist/fields/isFieldDisabled.d.ts.map +1 -1
  668. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  669. package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
  670. package/dist/fields/setDefaultBeforeDuplicate.js +1 -0
  671. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  672. package/dist/fields/sortableFieldTypes.d.ts.map +1 -1
  673. package/dist/fields/sortableFieldTypes.js +1 -0
  674. package/dist/fields/sortableFieldTypes.js.map +1 -1
  675. package/dist/fields/validations.d.ts +4 -1
  676. package/dist/fields/validations.d.ts.map +1 -1
  677. package/dist/fields/validations.js +8 -2
  678. package/dist/fields/validations.js.map +1 -1
  679. package/dist/fields/validations.spec.js +61 -37
  680. package/dist/fields/validations.spec.js.map +1 -1
  681. package/dist/globals/config/client.d.ts +5 -5
  682. package/dist/globals/config/client.d.ts.map +1 -1
  683. package/dist/globals/config/client.js.map +1 -1
  684. package/dist/globals/config/sanitize.d.ts +3 -7
  685. package/dist/globals/config/sanitize.d.ts.map +1 -1
  686. package/dist/globals/config/sanitize.js +26 -6
  687. package/dist/globals/config/sanitize.js.map +1 -1
  688. package/dist/globals/config/sanitize.spec.js +227 -8
  689. package/dist/globals/config/sanitize.spec.js.map +1 -1
  690. package/dist/globals/config/types.d.ts +21 -16
  691. package/dist/globals/config/types.d.ts.map +1 -1
  692. package/dist/globals/config/types.js.map +1 -1
  693. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
  694. package/dist/globals/operations/countGlobalVersions.js +51 -55
  695. package/dist/globals/operations/countGlobalVersions.js.map +1 -1
  696. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  697. package/dist/globals/operations/docAccess.js +19 -25
  698. package/dist/globals/operations/docAccess.js.map +1 -1
  699. package/dist/globals/operations/findOne.d.ts.map +1 -1
  700. package/dist/globals/operations/findOne.js +169 -174
  701. package/dist/globals/operations/findOne.js.map +1 -1
  702. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  703. package/dist/globals/operations/findVersionByID.js +104 -109
  704. package/dist/globals/operations/findVersionByID.js.map +1 -1
  705. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  706. package/dist/globals/operations/findVersions.js +112 -109
  707. package/dist/globals/operations/findVersions.js.map +1 -1
  708. package/dist/globals/operations/inputSchemas.d.ts +365 -0
  709. package/dist/globals/operations/inputSchemas.d.ts.map +1 -0
  710. package/dist/globals/operations/inputSchemas.js +104 -0
  711. package/dist/globals/operations/inputSchemas.js.map +1 -0
  712. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  713. package/dist/globals/operations/restoreVersion.js +1 -0
  714. package/dist/globals/operations/restoreVersion.js.map +1 -1
  715. package/dist/globals/operations/update.d.ts.map +1 -1
  716. package/dist/globals/operations/update.js +1 -0
  717. package/dist/globals/operations/update.js.map +1 -1
  718. package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
  719. package/dist/hierarchy/addHierarchyToCollection.js +2 -0
  720. package/dist/hierarchy/addHierarchyToCollection.js.map +1 -1
  721. package/dist/hierarchy/buildParentField.d.ts.map +1 -1
  722. package/dist/hierarchy/constants.d.ts.map +1 -1
  723. package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
  724. package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -1
  725. package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -1
  726. package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -1
  727. package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -1
  728. package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -1
  729. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -1
  730. package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -1
  731. package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -1
  732. package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -1
  733. package/dist/index.bundled.d.ts +5889 -4239
  734. package/dist/index.d.ts +102 -44
  735. package/dist/index.d.ts.map +1 -1
  736. package/dist/index.js +84 -64
  737. package/dist/index.js.map +1 -1
  738. package/dist/kv/adapters/DatabaseKVAdapter.d.ts.map +1 -1
  739. package/dist/kv/adapters/InMemoryKVAdapter.d.ts.map +1 -1
  740. package/dist/locked-documents/config.d.ts.map +1 -1
  741. package/dist/preferences/config.d.ts.map +1 -1
  742. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  743. package/dist/preferences/keys.d.ts +5 -5
  744. package/dist/preferences/keys.d.ts.map +1 -1
  745. package/dist/query-presets/access.d.ts.map +1 -1
  746. package/dist/query-presets/config.d.ts.map +1 -1
  747. package/dist/query-presets/constraints.d.ts.map +1 -1
  748. package/dist/query-presets/constraints.js +1 -1
  749. package/dist/query-presets/constraints.js.map +1 -1
  750. package/dist/query-presets/types.d.ts +1 -1
  751. package/dist/query-presets/types.d.ts.map +1 -1
  752. package/dist/queues/config/collection.d.ts.map +1 -1
  753. package/dist/queues/config/collection.js +43 -43
  754. package/dist/queues/config/collection.js.map +1 -1
  755. package/dist/queues/config/global.d.ts +5 -6
  756. package/dist/queues/config/global.d.ts.map +1 -1
  757. package/dist/queues/config/global.js +1 -1
  758. package/dist/queues/config/global.js.map +1 -1
  759. package/dist/queues/config/types/index.d.ts +31 -24
  760. package/dist/queues/config/types/index.d.ts.map +1 -1
  761. package/dist/queues/config/types/index.js.map +1 -1
  762. package/dist/queues/config/types/taskTypes.d.ts +4 -7
  763. package/dist/queues/config/types/taskTypes.d.ts.map +1 -1
  764. package/dist/queues/config/types/taskTypes.js.map +1 -1
  765. package/dist/queues/config/types/workflowJSONTypes.d.ts +10 -9
  766. package/dist/queues/config/types/workflowJSONTypes.d.ts.map +1 -1
  767. package/dist/queues/config/types/workflowJSONTypes.js.map +1 -1
  768. package/dist/queues/config/types/workflowTypes.d.ts +11 -58
  769. package/dist/queues/config/types/workflowTypes.d.ts.map +1 -1
  770. package/dist/queues/config/types/workflowTypes.js.map +1 -1
  771. package/dist/queues/endpoints/handleSchedules.d.ts.map +1 -1
  772. package/dist/queues/endpoints/handleSchedules.js +3 -2
  773. package/dist/queues/endpoints/handleSchedules.js.map +1 -1
  774. package/dist/queues/endpoints/run.d.ts.map +1 -1
  775. package/dist/queues/endpoints/run.js +2 -1
  776. package/dist/queues/endpoints/run.js.map +1 -1
  777. package/dist/queues/errors/handleTaskError.js +4 -4
  778. package/dist/queues/errors/handleTaskError.js.map +1 -1
  779. package/dist/queues/errors/handleWorkflowError.js +1 -1
  780. package/dist/queues/errors/handleWorkflowError.js.map +1 -1
  781. package/dist/queues/errors/index.d.ts +6 -0
  782. package/dist/queues/errors/index.d.ts.map +1 -1
  783. package/dist/queues/errors/index.js +5 -0
  784. package/dist/queues/errors/index.js.map +1 -1
  785. package/dist/queues/localAPI.d.ts +9 -9
  786. package/dist/queues/localAPI.d.ts.map +1 -1
  787. package/dist/queues/localAPI.js +63 -66
  788. package/dist/queues/localAPI.js.map +1 -1
  789. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts +4 -4
  790. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts.map +1 -1
  791. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.js.map +1 -1
  792. package/dist/queues/operations/handleSchedules/getQueuesWithSchedules.d.ts.map +1 -1
  793. package/dist/queues/operations/handleSchedules/index.d.ts +1 -1
  794. package/dist/queues/operations/handleSchedules/index.d.ts.map +1 -1
  795. package/dist/queues/operations/handleSchedules/index.js +1 -1
  796. package/dist/queues/operations/handleSchedules/index.js.map +1 -1
  797. package/dist/queues/operations/runJobs/heartbeat.d.ts +13 -0
  798. package/dist/queues/operations/runJobs/heartbeat.d.ts.map +1 -0
  799. package/dist/queues/operations/runJobs/heartbeat.js +66 -0
  800. package/dist/queues/operations/runJobs/heartbeat.js.map +1 -0
  801. package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
  802. package/dist/queues/operations/runJobs/index.js +133 -84
  803. package/dist/queues/operations/runJobs/index.js.map +1 -1
  804. package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
  805. package/dist/queues/operations/runJobs/runJSONJob/index.js +6 -3
  806. package/dist/queues/operations/runJobs/runJSONJob/index.js.map +1 -1
  807. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
  808. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +5 -5
  809. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
  810. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts +2 -1
  811. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts.map +1 -1
  812. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js +39 -8
  813. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js.map +1 -1
  814. package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts +1 -1
  815. package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts.map +1 -1
  816. package/dist/queues/operations/runJobs/runJob/importHandlerPath.js.map +1 -1
  817. package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
  818. package/dist/queues/operations/runJobs/runJob/index.js +4 -4
  819. package/dist/queues/operations/runJobs/runJob/index.js.map +1 -1
  820. package/dist/queues/utilities/getCurrentDate.d.ts.map +1 -1
  821. package/dist/queues/utilities/getJobTaskStatus.d.ts.map +1 -1
  822. package/dist/queues/utilities/updateJob.d.ts.map +1 -1
  823. package/dist/queues/utilities/updateJob.js +3 -0
  824. package/dist/queues/utilities/updateJob.js.map +1 -1
  825. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  826. package/dist/types/constants.d.ts +23 -2
  827. package/dist/types/constants.d.ts.map +1 -1
  828. package/dist/types/constants.js +23 -0
  829. package/dist/types/constants.js.map +1 -1
  830. package/dist/types/index.d.ts +4 -7
  831. package/dist/types/index.d.ts.map +1 -1
  832. package/dist/types/index.js.map +1 -1
  833. package/dist/uploads/checkFileAccess.d.ts.map +1 -1
  834. package/dist/uploads/checkFileAccess.js +1 -0
  835. package/dist/uploads/checkFileAccess.js.map +1 -1
  836. package/dist/uploads/checkFileRestrictions.d.ts +1 -1
  837. package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
  838. package/dist/uploads/checkFileRestrictions.js +15 -1
  839. package/dist/uploads/checkFileRestrictions.js.map +1 -1
  840. package/dist/uploads/cropImage.d.ts +1 -1
  841. package/dist/uploads/cropImage.d.ts.map +1 -1
  842. package/dist/uploads/cropImage.js +2 -5
  843. package/dist/uploads/cropImage.js.map +1 -1
  844. package/dist/uploads/cropImage.spec.js +71 -0
  845. package/dist/uploads/cropImage.spec.js.map +1 -0
  846. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  847. package/dist/uploads/downloadFileToBuffer.d.ts +11 -0
  848. package/dist/uploads/downloadFileToBuffer.d.ts.map +1 -0
  849. package/dist/uploads/downloadFileToBuffer.js +41 -0
  850. package/dist/uploads/downloadFileToBuffer.js.map +1 -0
  851. package/dist/uploads/endpoints/index.js +2 -2
  852. package/dist/uploads/endpoints/index.js.map +1 -1
  853. package/dist/uploads/endpoints/pasteURL.d.ts +3 -0
  854. package/dist/uploads/endpoints/pasteURL.d.ts.map +1 -0
  855. package/dist/uploads/endpoints/{getFileFromURL.js → pasteURL.js} +19 -55
  856. package/dist/uploads/endpoints/pasteURL.js.map +1 -0
  857. package/dist/uploads/endpoints/uploadInstructions.d.ts +15 -0
  858. package/dist/uploads/endpoints/uploadInstructions.d.ts.map +1 -0
  859. package/dist/uploads/endpoints/uploadInstructions.js +84 -0
  860. package/dist/uploads/endpoints/uploadInstructions.js.map +1 -0
  861. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -1
  862. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.js +1 -2
  863. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  864. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.spec.js +28 -0
  865. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.spec.js.map +1 -1
  866. package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  867. package/dist/uploads/fetchAPI-multipart/processMultipart.js +4 -0
  868. package/dist/uploads/fetchAPI-multipart/processMultipart.js.map +1 -1
  869. package/dist/uploads/fetchAPI-multipart/processNested.d.ts.map +1 -1
  870. package/dist/uploads/fetchAPI-multipart/utilities.d.ts.map +1 -1
  871. package/dist/uploads/fetchWithRedirects.d.ts +17 -0
  872. package/dist/uploads/fetchWithRedirects.d.ts.map +1 -0
  873. package/dist/uploads/fetchWithRedirects.js +39 -0
  874. package/dist/uploads/fetchWithRedirects.js.map +1 -0
  875. package/dist/uploads/fileExists.d.ts.map +1 -1
  876. package/dist/uploads/generateFileData.d.ts +9 -0
  877. package/dist/uploads/generateFileData.d.ts.map +1 -1
  878. package/dist/uploads/generateFileData.js +62 -48
  879. package/dist/uploads/generateFileData.js.map +1 -1
  880. package/dist/uploads/generateFileData.spec.js +207 -0
  881. package/dist/uploads/generateFileData.spec.js.map +1 -0
  882. package/dist/uploads/generateFileData.tempFileBuffering.spec.js +81 -0
  883. package/dist/uploads/generateFileData.tempFileBuffering.spec.js.map +1 -0
  884. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  885. package/dist/uploads/getFileByPath.d.ts +1 -1
  886. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  887. package/dist/uploads/getFileContentRequirement.d.ts +32 -0
  888. package/dist/uploads/getFileContentRequirement.d.ts.map +1 -0
  889. package/dist/uploads/getFileContentRequirement.js +40 -0
  890. package/dist/uploads/getFileContentRequirement.js.map +1 -0
  891. package/dist/uploads/getFileContentRequirement.spec.js +125 -0
  892. package/dist/uploads/getFileContentRequirement.spec.js.map +1 -0
  893. package/dist/uploads/getFileFromUploadInstructions.d.ts +8 -0
  894. package/dist/uploads/getFileFromUploadInstructions.d.ts.map +1 -0
  895. package/dist/uploads/getFileFromUploadInstructions.js +232 -0
  896. package/dist/uploads/getFileFromUploadInstructions.js.map +1 -0
  897. package/dist/uploads/getFileFromUploadInstructions.spec.js +387 -0
  898. package/dist/uploads/getFileFromUploadInstructions.spec.js.map +1 -0
  899. package/dist/uploads/getFileTypeFallback.d.ts.map +1 -1
  900. package/dist/uploads/getImageSize.d.ts +12 -1
  901. package/dist/uploads/getImageSize.d.ts.map +1 -1
  902. package/dist/uploads/getImageSize.js +20 -18
  903. package/dist/uploads/getImageSize.js.map +1 -1
  904. package/dist/uploads/getImageSize.spec.js +298 -0
  905. package/dist/uploads/getImageSize.spec.js.map +1 -0
  906. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  907. package/dist/uploads/image-resizing/createImageSize.d.ts.map +1 -1
  908. package/dist/uploads/image-resizing/createImageSizes.d.ts.map +1 -1
  909. package/dist/uploads/image-resizing/createImageSizes.js +2 -5
  910. package/dist/uploads/image-resizing/createImageSizes.js.map +1 -1
  911. package/dist/uploads/image-resizing/createImageSizes.spec.js +80 -0
  912. package/dist/uploads/image-resizing/createImageSizes.spec.js.map +1 -0
  913. package/dist/uploads/image-resizing/generateImageSizeFilename.d.ts.map +1 -1
  914. package/dist/uploads/image-resizing/getImageResizeAction.d.ts +1 -1
  915. package/dist/uploads/image-resizing/getImageResizeAction.d.ts.map +1 -1
  916. package/dist/uploads/image-resizing/parseFilename.d.ts.map +1 -1
  917. package/dist/uploads/image-resizing/sanitizeResizeConfig.d.ts.map +1 -1
  918. package/dist/uploads/isAnimatedImage.d.ts +8 -0
  919. package/dist/uploads/isAnimatedImage.d.ts.map +1 -0
  920. package/dist/uploads/isAnimatedImage.js +22 -0
  921. package/dist/uploads/isAnimatedImage.js.map +1 -0
  922. package/dist/uploads/isAnimatedImage.spec.js +19 -0
  923. package/dist/uploads/isAnimatedImage.spec.js.map +1 -0
  924. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  925. package/dist/uploads/probeImageSize.d.ts +39 -0
  926. package/dist/uploads/probeImageSize.d.ts.map +1 -0
  927. package/dist/uploads/probeImageSize.js +374 -0
  928. package/dist/uploads/probeImageSize.js.map +1 -0
  929. package/dist/uploads/probeImageSize.spec.js +366 -0
  930. package/dist/uploads/probeImageSize.spec.js.map +1 -0
  931. package/dist/uploads/resolveURLUploadInput.d.ts +25 -0
  932. package/dist/uploads/resolveURLUploadInput.d.ts.map +1 -0
  933. package/dist/uploads/resolveURLUploadInput.js +53 -0
  934. package/dist/uploads/resolveURLUploadInput.js.map +1 -0
  935. package/dist/uploads/safeFetch.d.ts.map +1 -1
  936. package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
  937. package/dist/uploads/stagedUpload.d.ts +27 -0
  938. package/dist/uploads/stagedUpload.d.ts.map +1 -0
  939. package/dist/uploads/stagedUpload.js +197 -0
  940. package/dist/uploads/stagedUpload.js.map +1 -0
  941. package/dist/uploads/types.d.ts +91 -7
  942. package/dist/uploads/types.d.ts.map +1 -1
  943. package/dist/uploads/types.js.map +1 -1
  944. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  945. package/dist/uploads/unlinkTempFiles.js +6 -2
  946. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  947. package/dist/uploads/unlinkTempFiles.spec.js +71 -0
  948. package/dist/uploads/unlinkTempFiles.spec.js.map +1 -0
  949. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  950. package/dist/uploads/uploadFiles.js +7 -2
  951. package/dist/uploads/uploadFiles.js.map +1 -1
  952. package/dist/uploads/uploadFiles.spec.js +44 -0
  953. package/dist/uploads/uploadFiles.spec.js.map +1 -0
  954. package/dist/uploads/validateUploadURL.d.ts +13 -0
  955. package/dist/uploads/validateUploadURL.d.ts.map +1 -0
  956. package/dist/uploads/validateUploadURL.js +37 -0
  957. package/dist/uploads/validateUploadURL.js.map +1 -0
  958. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  959. package/dist/utilities/addDataAndFileToRequest.js +12 -45
  960. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  961. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  962. package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
  963. package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -1
  964. package/dist/utilities/appendNonTrashedFilter.d.ts +1 -1
  965. package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
  966. package/dist/utilities/appendNonTrashedFilter.js.map +1 -1
  967. package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
  968. package/dist/utilities/canAccessAdmin.d.ts.map +1 -1
  969. package/dist/utilities/canAccessAdmin.js +1 -0
  970. package/dist/utilities/canAccessAdmin.js.map +1 -1
  971. package/dist/utilities/checkDocumentLockStatus.d.ts +19 -0
  972. package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
  973. package/dist/utilities/checkDocumentLockStatus.js +74 -0
  974. package/dist/utilities/checkDocumentLockStatus.js.map +1 -1
  975. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  976. package/dist/utilities/configToJSONSchema.js +3 -2
  977. package/dist/utilities/configToJSONSchema.js.map +1 -1
  978. package/dist/utilities/configToJSONSchema.spec.js +68 -31
  979. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  980. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  981. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  982. package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -1
  983. package/dist/utilities/entityInputSchema/filterFieldsByAccess.d.ts +30 -0
  984. package/dist/utilities/entityInputSchema/filterFieldsByAccess.d.ts.map +1 -0
  985. package/dist/utilities/entityInputSchema/filterFieldsByAccess.js +71 -0
  986. package/dist/utilities/entityInputSchema/filterFieldsByAccess.js.map +1 -0
  987. package/dist/utilities/entityInputSchema/getEntityInputSchema.d.ts +13 -0
  988. package/dist/utilities/entityInputSchema/getEntityInputSchema.d.ts.map +1 -0
  989. package/dist/utilities/entityInputSchema/getEntityInputSchema.js +66 -0
  990. package/dist/utilities/entityInputSchema/getEntityInputSchema.js.map +1 -0
  991. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.d.ts +10 -0
  992. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.d.ts.map +1 -0
  993. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.js +384 -0
  994. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.js.map +1 -0
  995. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.spec.js +133 -0
  996. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.spec.js.map +1 -0
  997. package/dist/utilities/entityInputSchema/types.d.ts +16 -0
  998. package/dist/utilities/entityInputSchema/types.d.ts.map +1 -0
  999. package/dist/utilities/entityInputSchema/types.js +3 -0
  1000. package/dist/utilities/entityInputSchema/types.js.map +1 -0
  1001. package/dist/utilities/entityInputSchema/validateEntityData.d.ts +13 -0
  1002. package/dist/utilities/entityInputSchema/validateEntityData.d.ts.map +1 -0
  1003. package/dist/utilities/entityInputSchema/validateEntityData.js +138 -0
  1004. package/dist/utilities/entityInputSchema/validateEntityData.js.map +1 -0
  1005. package/dist/utilities/escapeRegExp.d.ts.map +1 -1
  1006. package/dist/utilities/extractID.d.ts.map +1 -1
  1007. package/dist/utilities/fieldValueExists.d.ts +29 -0
  1008. package/dist/utilities/fieldValueExists.d.ts.map +1 -0
  1009. package/dist/utilities/fieldValueExists.js +37 -0
  1010. package/dist/utilities/fieldValueExists.js.map +1 -0
  1011. package/dist/utilities/flattenAllFields.d.ts.map +1 -1
  1012. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  1013. package/dist/utilities/formatErrors.d.ts.map +1 -1
  1014. package/dist/utilities/formatLabels.d.ts.map +1 -1
  1015. package/dist/utilities/getBestFitFromSizes.d.ts.map +1 -1
  1016. package/dist/utilities/getBlockSelect.d.ts.map +1 -1
  1017. package/dist/utilities/getDataByPath.d.ts.map +1 -1
  1018. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  1019. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +1 -0
  1020. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  1021. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts.map +1 -1
  1022. package/dist/utilities/getFieldByPath.d.ts.map +1 -1
  1023. package/dist/utilities/getFieldPermissions.d.ts.map +1 -1
  1024. package/dist/utilities/getNextVersion.d.ts +7 -0
  1025. package/dist/utilities/getNextVersion.d.ts.map +1 -0
  1026. package/dist/utilities/getNextVersion.js +20 -0
  1027. package/dist/utilities/getNextVersion.js.map +1 -0
  1028. package/dist/utilities/getNextVersion.spec.js +16 -0
  1029. package/dist/utilities/getNextVersion.spec.js.map +1 -0
  1030. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  1031. package/dist/utilities/getRequestEntity.d.ts.map +1 -1
  1032. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  1033. package/dist/utilities/getRequestOrigin.d.ts +2 -2
  1034. package/dist/utilities/getRequestOrigin.d.ts.map +1 -1
  1035. package/dist/utilities/getRequestOrigin.js.map +1 -1
  1036. package/dist/utilities/getSafeRedirect.d.ts.map +1 -1
  1037. package/dist/utilities/getSafeRedirect.js +16 -9
  1038. package/dist/utilities/getSafeRedirect.js.map +1 -1
  1039. package/dist/utilities/getSafeRedirect.spec.js +96 -2
  1040. package/dist/utilities/getSafeRedirect.spec.js.map +1 -1
  1041. package/dist/utilities/getSelectMode.d.ts.map +1 -1
  1042. package/dist/utilities/getSiblingData.d.ts.map +1 -1
  1043. package/dist/utilities/getTranslatedLabel.d.ts.map +1 -1
  1044. package/dist/utilities/getUniqueFieldValue.d.ts +28 -0
  1045. package/dist/utilities/getUniqueFieldValue.d.ts.map +1 -0
  1046. package/dist/utilities/getUniqueFieldValue.js +27 -0
  1047. package/dist/utilities/getUniqueFieldValue.js.map +1 -0
  1048. package/dist/utilities/getVersionsConfig.d.ts +1 -1
  1049. package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
  1050. package/dist/utilities/getVirtualFieldNames.d.ts +14 -0
  1051. package/dist/utilities/getVirtualFieldNames.d.ts.map +1 -0
  1052. package/dist/utilities/getVirtualFieldNames.js +35 -0
  1053. package/dist/utilities/getVirtualFieldNames.js.map +1 -0
  1054. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  1055. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  1056. package/dist/utilities/headersWithCors.js +1 -1
  1057. package/dist/utilities/headersWithCors.js.map +1 -1
  1058. package/dist/utilities/isEntityHidden.d.ts +2 -2
  1059. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  1060. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  1061. package/dist/utilities/isURLAllowed.js +9 -3
  1062. package/dist/utilities/isURLAllowed.js.map +1 -1
  1063. package/dist/utilities/isURLAllowed.spec.js +78 -0
  1064. package/dist/utilities/isURLAllowed.spec.js.map +1 -0
  1065. package/dist/utilities/isValidID.d.ts +1 -1
  1066. package/dist/utilities/isValidID.d.ts.map +1 -1
  1067. package/dist/utilities/killTransaction.d.ts +7 -0
  1068. package/dist/utilities/killTransaction.d.ts.map +1 -1
  1069. package/dist/utilities/killTransaction.js +7 -0
  1070. package/dist/utilities/killTransaction.js.map +1 -1
  1071. package/dist/utilities/logError.d.ts.map +1 -1
  1072. package/dist/utilities/logError.js +5 -2
  1073. package/dist/utilities/logError.js.map +1 -1
  1074. package/dist/utilities/logger.d.ts +1 -1
  1075. package/dist/utilities/logger.d.ts.map +1 -1
  1076. package/dist/utilities/mergeHeaders.d.ts.map +1 -1
  1077. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -1
  1078. package/dist/utilities/miniChalk.d.ts.map +1 -1
  1079. package/dist/utilities/nextJsDevReloadStrategy.d.ts +7 -0
  1080. package/dist/utilities/nextJsDevReloadStrategy.d.ts.map +1 -0
  1081. package/dist/utilities/nextJsDevReloadStrategy.js +59 -0
  1082. package/dist/utilities/nextJsDevReloadStrategy.js.map +1 -0
  1083. package/dist/utilities/nextJsDevReloadStrategy.spec.js +123 -0
  1084. package/dist/utilities/nextJsDevReloadStrategy.spec.js.map +1 -0
  1085. package/dist/utilities/optionsAreEqual.d.ts.map +1 -1
  1086. package/dist/utilities/parseBooleanString.d.ts.map +1 -1
  1087. package/dist/utilities/parseCookies.d.ts +1 -1
  1088. package/dist/utilities/parseCookies.d.ts.map +1 -1
  1089. package/dist/utilities/parseDocumentID.d.ts +4 -1
  1090. package/dist/utilities/parseDocumentID.d.ts.map +1 -1
  1091. package/dist/utilities/parseDocumentID.js +7 -1
  1092. package/dist/utilities/parseDocumentID.js.map +1 -1
  1093. package/dist/utilities/parseParams/index.d.ts.map +1 -1
  1094. package/dist/utilities/profiling.d.ts.map +1 -1
  1095. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  1096. package/dist/utilities/resolveSelect.d.ts.map +1 -1
  1097. package/dist/utilities/routeError.d.ts.map +1 -1
  1098. package/dist/utilities/sanitizeFallbackLocale.d.ts.map +1 -1
  1099. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  1100. package/dist/utilities/sanitizeJoinParams.d.ts.map +1 -1
  1101. package/dist/utilities/sanitizePopulateParam.d.ts.map +1 -1
  1102. package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
  1103. package/dist/utilities/sanitizeSelectParam.d.ts.map +1 -1
  1104. package/dist/utilities/sanitizeSortParams.d.ts.map +1 -1
  1105. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  1106. package/dist/utilities/sharedInputSchemas.d.ts +52 -0
  1107. package/dist/utilities/sharedInputSchemas.d.ts.map +1 -0
  1108. package/dist/utilities/sharedInputSchemas.js +101 -0
  1109. package/dist/utilities/sharedInputSchemas.js.map +1 -0
  1110. package/dist/utilities/slugify.d.ts.map +1 -1
  1111. package/dist/utilities/stripUnselectedFields.d.ts.map +1 -1
  1112. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
  1113. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  1114. package/dist/utilities/telemetry/events/adminInit.js +2 -3
  1115. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  1116. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  1117. package/dist/utilities/telemetry/events/serverInit.js +2 -3
  1118. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  1119. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.d.ts +4 -0
  1120. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.d.ts.map +1 -0
  1121. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js +261 -0
  1122. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js.map +1 -0
  1123. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.spec.js +117 -0
  1124. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.spec.js.map +1 -0
  1125. package/dist/utilities/telemetry/featureInfo/types.d.ts +63 -0
  1126. package/dist/utilities/telemetry/featureInfo/types.d.ts.map +1 -0
  1127. package/dist/utilities/telemetry/featureInfo/types.js +3 -0
  1128. package/dist/utilities/telemetry/featureInfo/types.js.map +1 -0
  1129. package/dist/utilities/telemetry/getProjectContext.d.ts +16 -0
  1130. package/dist/utilities/telemetry/getProjectContext.d.ts.map +1 -0
  1131. package/dist/utilities/telemetry/getProjectContext.js +43 -0
  1132. package/dist/utilities/telemetry/getProjectContext.js.map +1 -0
  1133. package/dist/utilities/telemetry/index.d.ts +21 -5
  1134. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  1135. package/dist/utilities/telemetry/index.js +26 -1
  1136. package/dist/utilities/telemetry/index.js.map +1 -1
  1137. package/dist/utilities/telemetry/index.spec.js +43 -0
  1138. package/dist/utilities/telemetry/index.spec.js.map +1 -0
  1139. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  1140. package/dist/utilities/timestamp.d.ts.map +1 -1
  1141. package/dist/utilities/toKebabCase.d.ts.map +1 -1
  1142. package/dist/utilities/transformColumnPreferences.d.ts.map +1 -1
  1143. package/dist/utilities/transformPointDataToPayload.d.ts +7 -0
  1144. package/dist/utilities/transformPointDataToPayload.d.ts.map +1 -0
  1145. package/dist/utilities/transformPointDataToPayload.js +28 -0
  1146. package/dist/utilities/transformPointDataToPayload.js.map +1 -0
  1147. package/dist/utilities/transformWhereQuery.d.ts.map +1 -1
  1148. package/dist/utilities/traverseFields.d.ts.map +1 -1
  1149. package/dist/utilities/traverseFields.js +20 -22
  1150. package/dist/utilities/traverseFields.js.map +1 -1
  1151. package/dist/utilities/traverseFields.spec.js +112 -0
  1152. package/dist/utilities/traverseFields.spec.js.map +1 -1
  1153. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  1154. package/dist/utilities/unflatten.d.ts.map +1 -1
  1155. package/dist/utilities/unflattenData.d.ts +3 -0
  1156. package/dist/utilities/unflattenData.d.ts.map +1 -0
  1157. package/dist/utilities/unflattenData.js +14 -0
  1158. package/dist/utilities/unflattenData.js.map +1 -0
  1159. package/dist/utilities/validateMimeType.d.ts.map +1 -1
  1160. package/dist/utilities/validateTimezones.d.ts.map +1 -1
  1161. package/dist/utilities/validateWhereQuery.d.ts.map +1 -1
  1162. package/dist/utilities/wordBoundariesRegex.d.ts.map +1 -1
  1163. package/dist/utilities/wrapInternalEndpoints.d.ts.map +1 -1
  1164. package/dist/utilities/zod.d.ts +5 -0
  1165. package/dist/utilities/zod.d.ts.map +1 -0
  1166. package/dist/utilities/zod.js +21 -0
  1167. package/dist/utilities/zod.js.map +1 -0
  1168. package/dist/versions/baseFields.d.ts.map +1 -1
  1169. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  1170. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  1171. package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
  1172. package/dist/versions/defaults.d.ts.map +1 -1
  1173. package/dist/versions/deleteCollectionVersions.d.ts +11 -1
  1174. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  1175. package/dist/versions/deleteCollectionVersions.js +10 -3
  1176. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  1177. package/dist/versions/deleteScheduledPublishJobs.d.ts +5 -1
  1178. package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
  1179. package/dist/versions/deleteScheduledPublishJobs.js +11 -5
  1180. package/dist/versions/deleteScheduledPublishJobs.js.map +1 -1
  1181. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  1182. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -3
  1183. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  1184. package/dist/versions/drafts/appendVersionToQueryKey.spec.js +28 -0
  1185. package/dist/versions/drafts/appendVersionToQueryKey.spec.js.map +1 -0
  1186. package/dist/versions/drafts/getQueryDraftsSelect.d.ts.map +1 -1
  1187. package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -1
  1188. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  1189. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  1190. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  1191. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  1192. package/dist/versions/migrations/localizeStatus/shared.d.ts.map +1 -1
  1193. package/dist/versions/payloadPackageList.d.ts.map +1 -1
  1194. package/dist/versions/payloadPackageList.js +0 -1
  1195. package/dist/versions/payloadPackageList.js.map +1 -1
  1196. package/dist/versions/schedule/job.d.ts.map +1 -1
  1197. package/dist/versions/schedule/job.js +4 -1
  1198. package/dist/versions/schedule/job.js.map +1 -1
  1199. package/package.json +24 -7
  1200. package/skills/payload/SKILL.md +526 -0
  1201. package/skills/payload/reference/ACCESS-CONTROL-ADVANCED.md +704 -0
  1202. package/skills/payload/reference/ACCESS-CONTROL.md +696 -0
  1203. package/skills/payload/reference/ADAPTERS.md +305 -0
  1204. package/skills/payload/reference/ADVANCED.md +386 -0
  1205. package/skills/payload/reference/COLLECTIONS.md +333 -0
  1206. package/skills/payload/reference/ENDPOINTS.md +634 -0
  1207. package/skills/payload/reference/FIELD-TYPE-GUARDS.md +553 -0
  1208. package/skills/payload/reference/FIELDS.md +745 -0
  1209. package/skills/payload/reference/HOOKS.md +186 -0
  1210. package/skills/payload/reference/PLUGIN-DEVELOPMENT.md +1436 -0
  1211. package/skills/payload/reference/QUERIES.md +274 -0
  1212. package/dist/bin/build.d.ts +0 -25
  1213. package/dist/bin/build.d.ts.map +0 -1
  1214. package/dist/bin/build.js +0 -80
  1215. package/dist/bin/build.js.map +0 -1
  1216. package/dist/bin/build.spec.js +0 -170
  1217. package/dist/bin/build.spec.js.map +0 -1
  1218. package/dist/bin/generateImportMap/generateImportMap.spec.js.map +0 -1
  1219. package/dist/bin/generateImportMap/index.d.ts.map +0 -1
  1220. package/dist/bin/generateImportMap/index.js.map +0 -1
  1221. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +0 -1
  1222. package/dist/bin/generateImportMap/iterateCollections.js.map +0 -1
  1223. package/dist/bin/generateImportMap/iterateConfig.d.ts.map +0 -1
  1224. package/dist/bin/generateImportMap/iterateConfig.js.map +0 -1
  1225. package/dist/bin/generateImportMap/iterateFields.d.ts.map +0 -1
  1226. package/dist/bin/generateImportMap/iterateFields.js.map +0 -1
  1227. package/dist/bin/generateImportMap/iterateGlobals.d.ts.map +0 -1
  1228. package/dist/bin/generateImportMap/iterateGlobals.js.map +0 -1
  1229. package/dist/bin/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts.map +0 -1
  1230. package/dist/bin/generateImportMap/utilities/addPayloadComponentToImportMap.js.map +0 -1
  1231. package/dist/bin/generateImportMap/utilities/getFromImportMap.d.ts.map +0 -1
  1232. package/dist/bin/generateImportMap/utilities/getFromImportMap.js.map +0 -1
  1233. package/dist/bin/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts.map +0 -1
  1234. package/dist/bin/generateImportMap/utilities/getImportMapToBaseDirPath.js.map +0 -1
  1235. package/dist/bin/generateImportMap/utilities/parsePayloadComponent.d.ts.map +0 -1
  1236. package/dist/bin/generateImportMap/utilities/parsePayloadComponent.js.map +0 -1
  1237. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +0 -1
  1238. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js.map +0 -1
  1239. package/dist/bin/generateTypes.d.ts +0 -6
  1240. package/dist/bin/generateTypes.d.ts.map +0 -1
  1241. package/dist/bin/generateTypes.js.map +0 -1
  1242. package/dist/bin/index.d.ts +0 -2
  1243. package/dist/bin/index.d.ts.map +0 -1
  1244. package/dist/bin/index.js +0 -200
  1245. package/dist/bin/index.js.map +0 -1
  1246. package/dist/bin/info.d.ts +0 -2
  1247. package/dist/bin/info.d.ts.map +0 -1
  1248. package/dist/bin/info.js +0 -56
  1249. package/dist/bin/info.js.map +0 -1
  1250. package/dist/bin/loadEnv.d.ts.map +0 -1
  1251. package/dist/bin/loadEnv.js.map +0 -1
  1252. package/dist/bin/migrate.d.ts +0 -15
  1253. package/dist/bin/migrate.d.ts.map +0 -1
  1254. package/dist/bin/migrate.js +0 -102
  1255. package/dist/bin/migrate.js.map +0 -1
  1256. package/dist/database/defaultUpdateJobs.d.ts +0 -3
  1257. package/dist/database/defaultUpdateJobs.d.ts.map +0 -1
  1258. package/dist/database/defaultUpdateJobs.js +0 -41
  1259. package/dist/database/defaultUpdateJobs.js.map +0 -1
  1260. package/dist/fields/baseFields/slug/countVersions.d.ts +0 -13
  1261. package/dist/fields/baseFields/slug/countVersions.d.ts.map +0 -1
  1262. package/dist/fields/baseFields/slug/countVersions.js +0 -29
  1263. package/dist/fields/baseFields/slug/countVersions.js.map +0 -1
  1264. package/dist/fields/baseFields/slug/index.d.ts +0 -89
  1265. package/dist/fields/baseFields/slug/index.d.ts.map +0 -1
  1266. package/dist/fields/baseFields/slug/index.js +0 -81
  1267. package/dist/fields/baseFields/slug/index.js.map +0 -1
  1268. package/dist/uploads/endpoints/getFileFromURL.d.ts +0 -3
  1269. package/dist/uploads/endpoints/getFileFromURL.d.ts.map +0 -1
  1270. package/dist/uploads/endpoints/getFileFromURL.js.map +0 -1
  1271. package/dist/uploads/getExternalFile.d.ts +0 -10
  1272. package/dist/uploads/getExternalFile.d.ts.map +0 -1
  1273. package/dist/uploads/getExternalFile.js +0 -73
  1274. package/dist/uploads/getExternalFile.js.map +0 -1
  1275. package/dist/uploads/tempFile.d.ts +0 -7
  1276. package/dist/uploads/tempFile.d.ts.map +0 -1
  1277. package/dist/uploads/tempFile.js +0 -39
  1278. package/dist/uploads/tempFile.js.map +0 -1
  1279. /package/dist/{bin → cli/commands}/generateImportMap/generateImportMap.spec.js +0 -0
  1280. /package/dist/{bin → cli/commands}/generateImportMap/iterateCollections.js +0 -0
  1281. /package/dist/{bin → cli/commands}/generateImportMap/iterateFields.js +0 -0
  1282. /package/dist/{bin → cli/commands}/generateImportMap/iterateGlobals.js +0 -0
  1283. /package/dist/{bin → cli/commands}/generateImportMap/utilities/addPayloadComponentToImportMap.js +0 -0
  1284. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getFromImportMap.js +0 -0
  1285. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts +0 -0
  1286. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getImportMapToBaseDirPath.js +0 -0
  1287. /package/dist/{bin → cli/commands}/generateImportMap/utilities/parsePayloadComponent.js +0 -0
  1288. /package/dist/{bin → cli/commands}/generateImportMap/utilities/resolveImportMapFilePath.d.ts +0 -0
  1289. /package/dist/{bin → cli/runtime}/loadEnv.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/admin/views/index.ts"],"sourcesContent":["import type { ClientTranslationsObject } from '@payloadcms/translations'\n\nimport type { SanitizedPermissions } from '../../auth/index.js'\nimport type { ImportMap } from '../../bin/generateImportMap/index.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { ClientConfig } from '../../config/client.js'\nimport type {\n CustomComponent,\n Locale,\n MetaConfig,\n PayloadComponent,\n SanitizedConfig,\n ServerProps,\n} from '../../config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { LanguageOptions } from '../LanguageOptions.js'\nimport type { Data, StaticDescription } from '../types.js'\nimport type { DocumentSubViewTypes } from './document.js'\n\nexport type AdminViewConfig = {\n Component: PayloadComponent\n /** Whether the path should be matched exactly or as a prefix */\n exact?: boolean\n meta?: MetaConfig\n /**\n * Any valid URL path or array of paths that [`path-to-regexp`](https://www.npmjs.com/package/path-to-regex) understands. Must begin with a forward slash (`/`).\n */\n path?: `/${string}`\n sensitive?: boolean\n strict?: boolean\n}\n\nexport type AdminViewClientProps = {\n clientConfig: ClientConfig\n collectionSlug?: SanitizedCollectionConfig['slug']\n docID?: number | string\n documentSubViewType?: DocumentSubViewTypes\n folderID?: number | string\n globalSlug?: SanitizedGlobalConfig['slug']\n viewType: ViewTypes\n}\n\nexport type AdminViewServerPropsOnly = {\n readonly clientConfig: ClientConfig\n readonly collectionConfig?: SanitizedCollectionConfig\n readonly disableActions?: boolean\n /**\n * @todo remove `docID` here as it is already contained in `initPageResult`\n */\n readonly docID?: number | string\n readonly globalConfig?: SanitizedGlobalConfig\n readonly importMap: ImportMap\n readonly initialData?: Data\n readonly initPageResult: InitPageResult\n readonly params?: { [key: string]: string | string[] | undefined }\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly viewActions?: CustomComponent[]\n} & ServerProps\n\nexport type AdminViewServerProps = AdminViewClientProps & AdminViewServerPropsOnly\n\n/**\n * @deprecated This should be removed in favor of direct props\n */\nexport type AdminViewComponent = PayloadComponent<AdminViewServerProps>\n\nexport type VisibleEntities = {\n collections: SanitizedCollectionConfig['slug'][]\n globals: SanitizedGlobalConfig['slug'][]\n}\n\nexport type InitPageResult = {\n collectionConfig?: SanitizedCollectionConfig\n cookies: Map<string, string>\n docID?: number | string\n globalConfig?: SanitizedGlobalConfig\n languageOptions: LanguageOptions\n locale?: Locale\n permissions: SanitizedPermissions\n redirectTo?: string\n req: PayloadRequest\n translations: ClientTranslationsObject\n visibleEntities: VisibleEntities\n}\n\n/**\n * @todo This should be renamed to `ViewType` (singular)\n */\nexport type ViewTypes =\n | 'account'\n | 'createFirstUser'\n | 'dashboard'\n | 'document'\n | 'hierarchy'\n | 'list'\n | 'reset'\n | 'trash'\n | 'verify'\n | 'version'\n | ({} & string)\n\nexport type ServerPropsFromView = {\n collectionConfig?: SanitizedConfig['collections'][number]\n globalConfig?: SanitizedConfig['globals'][number]\n viewActions: CustomComponent[]\n}\n\n// Description\nexport type ViewDescriptionClientProps = {\n collectionSlug?: SanitizedCollectionConfig['slug']\n description: StaticDescription\n}\n\nexport type ViewDescriptionServerPropsOnly = {} & ServerProps\n\nexport type ViewDescriptionServerProps = ViewDescriptionClientProps & ViewDescriptionServerPropsOnly\n"],"names":[],"mappings":"AAuHA,WAAoG"}
1
+ {"version":3,"sources":["../../../src/admin/views/index.ts"],"sourcesContent":["import type { ClientTranslationsObject } from '@payloadcms/translations'\n\nimport type { SanitizedPermissions } from '../../auth/index.js'\nimport type { ImportMap } from '../../cli/commands/generateImportMap/generateImportMap.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { ClientConfig } from '../../config/client.js'\nimport type {\n CustomComponent,\n Locale,\n MetaConfig,\n PayloadComponent,\n SanitizedConfig,\n ServerProps,\n} from '../../config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { LanguageOptions } from '../LanguageOptions.js'\nimport type { Data, StaticDescription } from '../types.js'\nimport type { DocumentSubViewTypes } from './document.js'\n\nexport type AdminViewConfig = {\n Component: PayloadComponent<AdminViewServerProps>\n /** Whether the path should be matched exactly or as a prefix */\n exact?: boolean\n meta?: MetaConfig\n /**\n * Any valid URL path or array of paths that [`path-to-regexp`](https://www.npmjs.com/package/path-to-regex) understands. Must begin with a forward slash (`/`).\n */\n path?: `/${string}`\n sensitive?: boolean\n strict?: boolean\n}\n\nexport type AdminViewClientProps = {\n clientConfig: ClientConfig\n collectionSlug?: SanitizedCollectionConfig['slug']\n docID?: number | string\n documentSubViewType?: DocumentSubViewTypes\n folderID?: number | string\n globalSlug?: SanitizedGlobalConfig['slug']\n viewType: ViewTypes\n}\n\nexport type AdminViewServerPropsOnly = {\n readonly clientConfig: ClientConfig\n readonly collectionConfig?: SanitizedCollectionConfig\n readonly disableActions?: boolean\n /**\n * @todo remove `docID` here as it is already contained in `initPageResult`\n */\n readonly docID?: number | string\n readonly globalConfig?: SanitizedGlobalConfig\n readonly importMap: ImportMap\n readonly initialData?: Data\n readonly initPageResult: InitPageResult\n readonly params?: { [key: string]: string | string[] | undefined }\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly viewActions?: CustomComponent[]\n} & ServerProps\n\nexport type AdminViewServerProps = AdminViewClientProps & AdminViewServerPropsOnly\n\n/**\n * @deprecated This should be removed in favor of direct props\n */\nexport type AdminViewComponent = PayloadComponent<AdminViewServerProps>\n\nexport type VisibleEntities = {\n collections: SanitizedCollectionConfig['slug'][]\n globals: SanitizedGlobalConfig['slug'][]\n}\n\nexport type InitPageResult = {\n collectionConfig?: SanitizedCollectionConfig\n cookies: Map<string, string>\n docID?: number | string\n globalConfig?: SanitizedGlobalConfig\n languageOptions: LanguageOptions\n locale?: Locale\n permissions: SanitizedPermissions\n redirectTo?: string\n req: PayloadRequest\n translations: ClientTranslationsObject\n visibleEntities: VisibleEntities\n}\n\n/**\n * @todo This should be renamed to `ViewType` (singular)\n */\nexport type ViewTypes =\n | 'account'\n | 'createFirstUser'\n | 'dashboard'\n | 'document'\n | 'hierarchy'\n | 'list'\n | 'reset'\n | 'trash'\n | 'verify'\n | 'version'\n | ({} & string)\n\nexport type ServerPropsFromView = {\n collectionConfig?: SanitizedConfig['collections'][number]\n globalConfig?: SanitizedConfig['globals'][number]\n viewActions: CustomComponent[]\n}\n\n// Description\nexport type ViewDescriptionClientProps = {\n collectionSlug?: SanitizedCollectionConfig['slug']\n description: StaticDescription\n}\n\nexport type ViewDescriptionServerPropsOnly = {} & ServerProps\n\nexport type ViewDescriptionServerProps = ViewDescriptionClientProps & ViewDescriptionServerPropsOnly\n"],"names":[],"mappings":"AAuHA,WAAoG"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../../../src/auth/baseFields/apiKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAa,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAO9F,KAAK,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;AAChF,KAAK,uBAAuB,GAAG,IAAI,CACjC,OAAO,CAAC,SAAS,CAAC,EAClB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CACjE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,6EAKhC;IACD,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAC1C,iBAAiB,CAAC,EAAE,2BAA2B,CAAA;IAC/C,mBAAmB,CAAC,EAAE,OAAO,CAAA;CACzB,KAAG,KAAK,EAwEb,CAAA"}
1
+ {"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../../../src/auth/baseFields/apiKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAa,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAqB9F,KAAK,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;AAChF,KAAK,uBAAuB,GAAG,IAAI,CACjC,OAAO,CAAC,SAAS,CAAC,EAClB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CACjE,CAAA;AAED,eAAO,MAAM,kBAAkB,gFAK5B;IACD,WAAW,CAAC,EAAE,uBAAuB,CAAA;IACrC,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAC1C,iBAAiB,CAAC,EAAE,2BAA2B,CAAA;IAC/C,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,KAAQ,KAAK,EAwEb,CAAA"}
@@ -1,6 +1,21 @@
1
1
  import crypto from 'crypto';
2
2
  const encryptKey = ({ req, value })=>value ? req.payload.encrypt(value) : null;
3
- const decryptKey = ({ req, value })=>value ? req.payload.decrypt(value) : undefined;
3
+ const decryptKey = ({ req, value })=>{
4
+ if (!value) {
5
+ return undefined;
6
+ }
7
+ try {
8
+ return req.payload.decrypt(value);
9
+ } catch {
10
+ // The value was encrypted under a secret no longer in the keyring (e.g. a
11
+ // previousSecret was removed before rotateSecret re-keyed this row). Mask the
12
+ // field (return null, since an undefined afterRead result is treated as "no
13
+ // change" and would leak the ciphertext) rather than failing the whole
14
+ // document read; API key auth is unaffected (it matches the apiKeyIndex), and
15
+ // running rotateSecret restores the displayed value.
16
+ return null;
17
+ }
18
+ };
4
19
  export const createAPIKeyFields = ({ apiKeyField, apiKeyIndexField, enableAPIKeyField, includeEnableAPIKey = true } = {})=>{
5
20
  const fields = [];
6
21
  if (includeEnableAPIKey) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/baseFields/apiKey.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { CheckboxField, Field, FieldHook, TextField } from '../../fields/config/types.js'\n\nconst encryptKey: FieldHook = ({ req, value }) =>\n value ? req.payload.encrypt(value as string) : null\nconst decryptKey: FieldHook = ({ req, value }) =>\n value ? req.payload.decrypt(value as string) : undefined\n\ntype APIKeyCheckboxFieldOverride = Omit<Partial<CheckboxField>, 'name' | 'type'>\ntype APIKeyTextFieldOverride = Omit<\n Partial<TextField>,\n 'hasMany' | 'maxRows' | 'minRows' | 'name' | 'type' | 'validate'\n>\n\nexport const createAPIKeyFields = ({\n apiKeyField,\n apiKeyIndexField,\n enableAPIKeyField,\n includeEnableAPIKey = true,\n}: {\n apiKeyField?: APIKeyTextFieldOverride\n apiKeyIndexField?: APIKeyTextFieldOverride\n enableAPIKeyField?: APIKeyCheckboxFieldOverride\n includeEnableAPIKey?: boolean\n} = {}): Field[] => {\n const fields: Field[] = []\n\n if (includeEnableAPIKey) {\n fields.push({\n name: 'enableAPIKey',\n type: 'checkbox',\n ...enableAPIKeyField,\n admin: {\n components: {\n Field: false,\n },\n ...enableAPIKeyField?.admin,\n },\n label: enableAPIKeyField?.label ?? (({ t }) => t('authentication:enableAPIKey')),\n })\n }\n\n fields.push(\n {\n name: 'apiKey',\n type: 'text',\n ...apiKeyField,\n admin: {\n components: {\n Field: false,\n },\n ...apiKeyField?.admin,\n },\n hooks: {\n afterRead: [decryptKey],\n beforeChange: [encryptKey],\n ...apiKeyField?.hooks,\n },\n label: apiKeyField?.label ?? (({ t }) => t('authentication:apiKey')),\n },\n {\n name: 'apiKeyIndex',\n type: 'text',\n ...apiKeyIndexField,\n admin: {\n disabled: true,\n ...apiKeyIndexField?.admin,\n },\n hidden: apiKeyIndexField?.hidden ?? true,\n hooks: {\n beforeValidate: [\n ({ data, req, value }) => {\n if (data?.apiKey === false || data?.apiKey === null || data?.apiKey === '') {\n return null\n }\n if (\n includeEnableAPIKey &&\n (data?.enableAPIKey === false || data?.enableAPIKey === null)\n ) {\n return null\n }\n if (data?.apiKey) {\n return crypto\n .createHmac('sha256', req.payload.secret)\n .update(data.apiKey as string)\n .digest('hex')\n }\n return value\n },\n ],\n ...apiKeyIndexField?.hooks,\n },\n },\n )\n\n return fields\n}\n"],"names":["crypto","encryptKey","req","value","payload","encrypt","decryptKey","decrypt","undefined","createAPIKeyFields","apiKeyField","apiKeyIndexField","enableAPIKeyField","includeEnableAPIKey","fields","push","name","type","admin","components","Field","label","t","hooks","afterRead","beforeChange","disabled","hidden","beforeValidate","data","apiKey","enableAPIKey","createHmac","secret","update","digest"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAI3B,MAAMC,aAAwB,CAAC,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAC3CA,QAAQD,IAAIE,OAAO,CAACC,OAAO,CAACF,SAAmB;AACjD,MAAMG,aAAwB,CAAC,EAAEJ,GAAG,EAAEC,KAAK,EAAE,GAC3CA,QAAQD,IAAIE,OAAO,CAACG,OAAO,CAACJ,SAAmBK;AAQjD,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,WAAW,EACXC,gBAAgB,EAChBC,iBAAiB,EACjBC,sBAAsB,IAAI,EAM3B,GAAG,CAAC,CAAC;IACJ,MAAMC,SAAkB,EAAE;IAE1B,IAAID,qBAAqB;QACvBC,OAAOC,IAAI,CAAC;YACVC,MAAM;YACNC,MAAM;YACN,GAAGL,iBAAiB;YACpBM,OAAO;gBACLC,YAAY;oBACVC,OAAO;gBACT;gBACA,GAAGR,mBAAmBM,KAAK;YAC7B;YACAG,OAAOT,mBAAmBS,SAAU,CAAA,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE,8BAA6B;QAChF;IACF;IAEAR,OAAOC,IAAI,CACT;QACEC,MAAM;QACNC,MAAM;QACN,GAAGP,WAAW;QACdQ,OAAO;YACLC,YAAY;gBACVC,OAAO;YACT;YACA,GAAGV,aAAaQ,KAAK;QACvB;QACAK,OAAO;YACLC,WAAW;gBAAClB;aAAW;YACvBmB,cAAc;gBAACxB;aAAW;YAC1B,GAAGS,aAAaa,KAAK;QACvB;QACAF,OAAOX,aAAaW,SAAU,CAAA,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE,wBAAuB;IACpE,GACA;QACEN,MAAM;QACNC,MAAM;QACN,GAAGN,gBAAgB;QACnBO,OAAO;YACLQ,UAAU;YACV,GAAGf,kBAAkBO,KAAK;QAC5B;QACAS,QAAQhB,kBAAkBgB,UAAU;QACpCJ,OAAO;YACLK,gBAAgB;gBACd,CAAC,EAAEC,IAAI,EAAE3B,GAAG,EAAEC,KAAK,EAAE;oBACnB,IAAI0B,MAAMC,WAAW,SAASD,MAAMC,WAAW,QAAQD,MAAMC,WAAW,IAAI;wBAC1E,OAAO;oBACT;oBACA,IACEjB,uBACCgB,CAAAA,MAAME,iBAAiB,SAASF,MAAME,iBAAiB,IAAG,GAC3D;wBACA,OAAO;oBACT;oBACA,IAAIF,MAAMC,QAAQ;wBAChB,OAAO9B,OACJgC,UAAU,CAAC,UAAU9B,IAAIE,OAAO,CAAC6B,MAAM,EACvCC,MAAM,CAACL,KAAKC,MAAM,EAClBK,MAAM,CAAC;oBACZ;oBACA,OAAOhC;gBACT;aACD;YACD,GAAGQ,kBAAkBY,KAAK;QAC5B;IACF;IAGF,OAAOT;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/auth/baseFields/apiKey.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { CheckboxField, Field, FieldHook, TextField } from '../../fields/config/types.js'\n\nconst encryptKey: FieldHook = ({ req, value }) =>\n value ? req.payload.encrypt(value as string) : null\nconst decryptKey: FieldHook = ({ req, value }) => {\n if (!value) {\n return undefined\n }\n try {\n return req.payload.decrypt(value as string)\n } catch {\n // The value was encrypted under a secret no longer in the keyring (e.g. a\n // previousSecret was removed before rotateSecret re-keyed this row). Mask the\n // field (return null, since an undefined afterRead result is treated as \"no\n // change\" and would leak the ciphertext) rather than failing the whole\n // document read; API key auth is unaffected (it matches the apiKeyIndex), and\n // running rotateSecret restores the displayed value.\n return null\n }\n}\n\ntype APIKeyCheckboxFieldOverride = Omit<Partial<CheckboxField>, 'name' | 'type'>\ntype APIKeyTextFieldOverride = Omit<\n Partial<TextField>,\n 'hasMany' | 'maxRows' | 'minRows' | 'name' | 'type' | 'validate'\n>\n\nexport const createAPIKeyFields = ({\n apiKeyField,\n apiKeyIndexField,\n enableAPIKeyField,\n includeEnableAPIKey = true,\n}: {\n apiKeyField?: APIKeyTextFieldOverride\n apiKeyIndexField?: APIKeyTextFieldOverride\n enableAPIKeyField?: APIKeyCheckboxFieldOverride\n includeEnableAPIKey?: boolean\n} = {}): Field[] => {\n const fields: Field[] = []\n\n if (includeEnableAPIKey) {\n fields.push({\n name: 'enableAPIKey',\n type: 'checkbox',\n ...enableAPIKeyField,\n admin: {\n components: {\n Field: false,\n },\n ...enableAPIKeyField?.admin,\n },\n label: enableAPIKeyField?.label ?? (({ t }) => t('authentication:enableAPIKey')),\n })\n }\n\n fields.push(\n {\n name: 'apiKey',\n type: 'text',\n ...apiKeyField,\n admin: {\n components: {\n Field: false,\n },\n ...apiKeyField?.admin,\n },\n hooks: {\n afterRead: [decryptKey],\n beforeChange: [encryptKey],\n ...apiKeyField?.hooks,\n },\n label: apiKeyField?.label ?? (({ t }) => t('authentication:apiKey')),\n },\n {\n name: 'apiKeyIndex',\n type: 'text',\n ...apiKeyIndexField,\n admin: {\n disabled: true,\n ...apiKeyIndexField?.admin,\n },\n hidden: apiKeyIndexField?.hidden ?? true,\n hooks: {\n beforeValidate: [\n ({ data, req, value }) => {\n if (data?.apiKey === false || data?.apiKey === null || data?.apiKey === '') {\n return null\n }\n if (\n includeEnableAPIKey &&\n (data?.enableAPIKey === false || data?.enableAPIKey === null)\n ) {\n return null\n }\n if (data?.apiKey) {\n return crypto\n .createHmac('sha256', req.payload.secret)\n .update(data.apiKey as string)\n .digest('hex')\n }\n return value\n },\n ],\n ...apiKeyIndexField?.hooks,\n },\n },\n )\n\n return fields\n}\n"],"names":["crypto","encryptKey","req","value","payload","encrypt","decryptKey","undefined","decrypt","createAPIKeyFields","apiKeyField","apiKeyIndexField","enableAPIKeyField","includeEnableAPIKey","fields","push","name","type","admin","components","Field","label","t","hooks","afterRead","beforeChange","disabled","hidden","beforeValidate","data","apiKey","enableAPIKey","createHmac","secret","update","digest"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAI3B,MAAMC,aAAwB,CAAC,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAC3CA,QAAQD,IAAIE,OAAO,CAACC,OAAO,CAACF,SAAmB;AACjD,MAAMG,aAAwB,CAAC,EAAEJ,GAAG,EAAEC,KAAK,EAAE;IAC3C,IAAI,CAACA,OAAO;QACV,OAAOI;IACT;IACA,IAAI;QACF,OAAOL,IAAIE,OAAO,CAACI,OAAO,CAACL;IAC7B,EAAE,OAAM;QACN,0EAA0E;QAC1E,8EAA8E;QAC9E,4EAA4E;QAC5E,uEAAuE;QACvE,8EAA8E;QAC9E,qDAAqD;QACrD,OAAO;IACT;AACF;AAQA,OAAO,MAAMM,qBAAqB,CAAC,EACjCC,WAAW,EACXC,gBAAgB,EAChBC,iBAAiB,EACjBC,sBAAsB,IAAI,EAM3B,GAAG,CAAC,CAAC;IACJ,MAAMC,SAAkB,EAAE;IAE1B,IAAID,qBAAqB;QACvBC,OAAOC,IAAI,CAAC;YACVC,MAAM;YACNC,MAAM;YACN,GAAGL,iBAAiB;YACpBM,OAAO;gBACLC,YAAY;oBACVC,OAAO;gBACT;gBACA,GAAGR,mBAAmBM,KAAK;YAC7B;YACAG,OAAOT,mBAAmBS,SAAU,CAAA,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE,8BAA6B;QAChF;IACF;IAEAR,OAAOC,IAAI,CACT;QACEC,MAAM;QACNC,MAAM;QACN,GAAGP,WAAW;QACdQ,OAAO;YACLC,YAAY;gBACVC,OAAO;YACT;YACA,GAAGV,aAAaQ,KAAK;QACvB;QACAK,OAAO;YACLC,WAAW;gBAAClB;aAAW;YACvBmB,cAAc;gBAACxB;aAAW;YAC1B,GAAGS,aAAaa,KAAK;QACvB;QACAF,OAAOX,aAAaW,SAAU,CAAA,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE,wBAAuB;IACpE,GACA;QACEN,MAAM;QACNC,MAAM;QACN,GAAGN,gBAAgB;QACnBO,OAAO;YACLQ,UAAU;YACV,GAAGf,kBAAkBO,KAAK;QAC5B;QACAS,QAAQhB,kBAAkBgB,UAAU;QACpCJ,OAAO;YACLK,gBAAgB;gBACd,CAAC,EAAEC,IAAI,EAAE3B,GAAG,EAAEC,KAAK,EAAE;oBACnB,IAAI0B,MAAMC,WAAW,SAASD,MAAMC,WAAW,QAAQD,MAAMC,WAAW,IAAI;wBAC1E,OAAO;oBACT;oBACA,IACEjB,uBACCgB,CAAAA,MAAME,iBAAiB,SAASF,MAAME,iBAAiB,IAAG,GAC3D;wBACA,OAAO;oBACT;oBACA,IAAIF,MAAMC,QAAQ;wBAChB,OAAO9B,OACJgC,UAAU,CAAC,UAAU9B,IAAIE,OAAO,CAAC6B,MAAM,EACvCC,MAAM,CAACL,KAAKC,MAAM,EAClBK,MAAM,CAAC;oBACZ;oBACA,OAAOhC;gBACT;aACD;YACD,GAAGQ,kBAAkBY,KAAK;QAC5B;IACF;IAGF,OAAOT;AACT,EAAC"}
@@ -33,8 +33,8 @@ type GeneratePayloadCookieArgs = {
33
33
  returnCookieAsObject?: boolean;
34
34
  token: string;
35
35
  };
36
- export declare const generatePayloadCookie: <T extends GeneratePayloadCookieArgs>({ collectionAuthConfig, cookiePrefix, returnCookieAsObject, token, }: T) => T["returnCookieAsObject"] extends true ? CookieObject : string;
37
- export declare const generateExpiredPayloadCookie: <T extends Omit<GeneratePayloadCookieArgs, "token">>({ collectionAuthConfig, cookiePrefix, returnCookieAsObject, }: T) => T["returnCookieAsObject"] extends true ? CookieObject : string;
36
+ export declare const generatePayloadCookie: <T extends GeneratePayloadCookieArgs>({ collectionAuthConfig, cookiePrefix, returnCookieAsObject, token, }: T) => T['returnCookieAsObject'] extends true ? CookieObject : string;
37
+ export declare const generateExpiredPayloadCookie: <T extends Omit<GeneratePayloadCookieArgs, 'token'>>({ collectionAuthConfig, cookiePrefix, returnCookieAsObject, }: T) => T['returnCookieAsObject'] extends true ? CookieObject : string;
38
38
  export declare function parseCookies(headers: Request['headers']): Map<string, string>;
39
39
  export {};
40
40
  //# sourceMappingURL=cookies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../src/auth/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAEjF,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;IACpC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;IACpC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,oBAAoB,GAAG,OAAO,EAC3D,MAAM,aAAa,KAClB,oBAAoB,SAAS,IAAI,GAAG,YAAY,GAAG,MAiFrD,CAAA;AACD,KAAK,uBAAuB,GAAG;IAK7B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,eAAO,MAAM,mBAAmB,GAAI,aAAoB,uBAAuB,SAI9E,CAAA;AAED,KAAK,yBAAyB,GAAG;IAE/B,oBAAoB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAEvD,YAAY,EAAE,MAAM,CAAA;IAEpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,yBAAyB,EAAE,sEAKxE,CAAC,KAAG,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,GAAG,YAAY,GAAG,MAmB9D,CAAA;AAED,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,EAAE,+DAI9F,CAAC,KAAG,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,GAAG,YAAY,GAAG,MAoB9D,CAAA;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,uBA8CvD"}
1
+ {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../src/auth/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAEjF,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;IACpC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;IACpC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,oBAAoB,GAAG,OAAO,QACrD,aAAa,KAClB,oBAAoB,SAAS,IAAI,GAAG,YAAY,GAAG,MAiFrD,CAAA;AACD,KAAK,uBAAuB,GAAG;IAK7B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,eAAO,MAAM,mBAAmB,gBAAwB,uBAAuB,SAI9E,CAAA;AAED,KAAK,yBAAyB,GAAG;IAE/B,oBAAoB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAEvD,YAAY,EAAE,MAAM,CAAA;IAEpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,yBAAyB,wEAKtE,CAAC,KAAG,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,GAAG,YAAY,GAAG,MAmB9D,CAAA;AAED,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,iEAI5F,CAAC,KAAG,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,GAAG,YAAY,GAAG,MAoB9D,CAAA;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,uBA8CvD"}
@@ -1,3 +1,74 @@
1
- export declare function encrypt(text: string): string;
2
- export declare function decrypt(hash: string): string;
1
+ /**
2
+ * A single secret in the keyring, with its derived keys precomputed.
3
+ */
4
+ export type EncryptionKey = {
5
+ /** One-way fingerprint of `v1Key` (16 hex chars), stored in the v1 envelope. */
6
+ keyId: string;
7
+ /** Legacy 32-char key for aes-256-ctr and the apiKey HMAC index. */
8
+ legacyKey: string;
9
+ /** The raw `PAYLOAD_SECRET` string. */
10
+ secret: string;
11
+ /** True 32-byte key (HKDF) for the aes-256-gcm v1 envelope. */
12
+ v1Key: Buffer;
13
+ };
14
+ /**
15
+ * The set of secrets Payload accepts. `active` is used for all writes; every
16
+ * entry (active + `previousSecrets`) is accepted for reads.
17
+ */
18
+ export type EncryptionKeyring = {
19
+ /** Entry used for all new writes (the current `PAYLOAD_SECRET`). */
20
+ active: EncryptionKey;
21
+ all: EncryptionKey[];
22
+ /** keyId -> entry, for O(1) v1 key selection. */
23
+ byId: Record<string, EncryptionKey>;
24
+ };
25
+ type CryptoContext = {
26
+ encryptionKeyring: EncryptionKeyring;
27
+ secret: string;
28
+ };
29
+ /**
30
+ * Legacy key derivation (pre-v1 aes-256-ctr values and the apiKey HMAC index).
31
+ * Kept in sync with `BasePayload.secret`.
32
+ */
33
+ export declare const deriveSecretKey: (secret: string) => string;
34
+ /**
35
+ * v1 key derivation: a true 32-byte key via HKDF, correcting the reduced
36
+ * effective entropy of the legacy derivation.
37
+ */
38
+ export declare const deriveKeyV1: (secret: string) => Buffer;
39
+ /** Non-secret fingerprint of a v1 key, used to select the key on decrypt. */
40
+ export declare const keyIdFor: (v1Key: Buffer) => string;
41
+ export declare const buildEncryptionKey: (secret: string) => EncryptionKey;
42
+ /**
43
+ * Builds the keyring from the active secret followed by any previous secrets.
44
+ * The first entry is the active (writing) key.
45
+ */
46
+ export declare const buildEncryptionKeyring: (secrets: string[]) => EncryptionKeyring;
47
+ /**
48
+ * Encrypts `text` under the active secret using the versioned aes-256-gcm
49
+ * envelope `v1:<keyId>:<iv>:<authTag>:<ciphertext>`. Pass `options.secret` (the
50
+ * raw `PAYLOAD_SECRET`) to encrypt under a specific secret instead.
51
+ */
52
+ export declare function encrypt(this: CryptoContext, text: string, options?: {
53
+ secret?: string;
54
+ }): string;
55
+ /**
56
+ * Decrypts a value produced by {@link encrypt}. Dispatches on format: v1
57
+ * envelopes are authenticated (aes-256-gcm) and select their key by keyId from
58
+ * the keyring; pre-v1 values fall back to aes-256-ctr. Pass `options.secret` to
59
+ * decrypt under a specific secret (e.g. to read data encrypted under a previous
60
+ * secret during a rotation).
61
+ */
62
+ export declare function decrypt(this: CryptoContext, hash: string, options?: {
63
+ secret?: string;
64
+ }): string;
65
+ /**
66
+ * Re-encrypts a value that was encrypted under a previous secret: decrypts it
67
+ * with `options.oldSecret`, then re-encrypts it with the active secret. Also
68
+ * upgrades a legacy aes-256-ctr value to the v1 envelope.
69
+ */
70
+ export declare function reencrypt(this: CryptoContext, hash: string, options: {
71
+ oldSecret: string;
72
+ }): string;
73
+ export {};
3
74
  //# sourceMappingURL=crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/auth/crypto.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU5C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS5C"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/auth/crypto.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAA;IACjB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oEAAoE;IACpE,MAAM,EAAE,aAAa,CAAA;IACrB,GAAG,EAAE,aAAa,EAAE,CAAA;IACpB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CACpC,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAMD;;;GAGG;AACH,eAAO,MAAM,eAAe,WAAY,MAAM,KAAG,MACsB,CAAA;AAEvE;;;GAGG;AACH,eAAO,MAAM,WAAW,WAAY,MAAM,KAAG,MACgC,CAAA;AAE7E,6EAA6E;AAC7E,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,MAC6B,CAAA;AAEtE,eAAO,MAAM,kBAAkB,WAAY,MAAM,KAAG,aAQnD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,YAAa,MAAM,EAAE,KAAG,iBAU1D,CAAA;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAUhG;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAuChG;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC7B,MAAM,CAGR"}
@@ -1,21 +1,98 @@
1
1
  import crypto from 'crypto';
2
- const algorithm = 'aes-256-ctr';
3
- export function encrypt(text) {
4
- const iv = crypto.randomBytes(16);
5
- // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
6
- const secret = this.secret;
7
- const cipher = crypto.createCipheriv(algorithm, secret, iv);
8
- const encrypted = cipher.update(text, 'utf8', 'hex') + cipher.final('hex');
9
- const ivString = iv.toString('hex');
10
- return `${ivString}${encrypted}`;
2
+ const legacyAlgorithm = 'aes-256-ctr';
3
+ const v1Algorithm = 'aes-256-gcm';
4
+ const v1Prefix = 'v1';
5
+ /**
6
+ * Legacy key derivation (pre-v1 aes-256-ctr values and the apiKey HMAC index).
7
+ * Kept in sync with `BasePayload.secret`.
8
+ */ export const deriveSecretKey = (secret)=>crypto.createHash('sha256').update(secret).digest('hex').slice(0, 32);
9
+ /**
10
+ * v1 key derivation: a true 32-byte key via HKDF, correcting the reduced
11
+ * effective entropy of the legacy derivation.
12
+ */ export const deriveKeyV1 = (secret)=>Buffer.from(crypto.hkdfSync('sha256', secret, '', 'payload-secret-v1', 32));
13
+ /** Non-secret fingerprint of a v1 key, used to select the key on decrypt. */ export const keyIdFor = (v1Key)=>crypto.createHash('sha256').update(v1Key).digest('hex').slice(0, 16);
14
+ export const buildEncryptionKey = (secret)=>{
15
+ const v1Key = deriveKeyV1(secret);
16
+ return {
17
+ keyId: keyIdFor(v1Key),
18
+ legacyKey: deriveSecretKey(secret),
19
+ secret,
20
+ v1Key
21
+ };
22
+ };
23
+ /**
24
+ * Builds the keyring from the active secret followed by any previous secrets.
25
+ * The first entry is the active (writing) key.
26
+ */ export const buildEncryptionKeyring = (secrets)=>{
27
+ const all = secrets.map(buildEncryptionKey);
28
+ const byId = {};
29
+ for (const key of all){
30
+ // First writer wins if two secrets somehow share a keyId.
31
+ if (!byId[key.keyId]) {
32
+ byId[key.keyId] = key;
33
+ }
34
+ }
35
+ return {
36
+ active: all[0],
37
+ all,
38
+ byId
39
+ };
40
+ };
41
+ /**
42
+ * Encrypts `text` under the active secret using the versioned aes-256-gcm
43
+ * envelope `v1:<keyId>:<iv>:<authTag>:<ciphertext>`. Pass `options.secret` (the
44
+ * raw `PAYLOAD_SECRET`) to encrypt under a specific secret instead.
45
+ */ export function encrypt(text, options) {
46
+ const key = options?.secret ? buildEncryptionKey(options.secret) : this.encryptionKeyring.active;
47
+ const iv = crypto.randomBytes(12);
48
+ const cipher = crypto.createCipheriv(v1Algorithm, key.v1Key, iv);
49
+ const ciphertext = cipher.update(text, 'utf8', 'hex') + cipher.final('hex');
50
+ const authTag = cipher.getAuthTag().toString('hex');
51
+ return `${v1Prefix}:${key.keyId}:${iv.toString('hex')}:${authTag}:${ciphertext}`;
11
52
  }
12
- export function decrypt(hash) {
53
+ /**
54
+ * Decrypts a value produced by {@link encrypt}. Dispatches on format: v1
55
+ * envelopes are authenticated (aes-256-gcm) and select their key by keyId from
56
+ * the keyring; pre-v1 values fall back to aes-256-ctr. Pass `options.secret` to
57
+ * decrypt under a specific secret (e.g. to read data encrypted under a previous
58
+ * secret during a rotation).
59
+ */ export function decrypt(hash, options) {
60
+ if (hash.startsWith(`${v1Prefix}:`)) {
61
+ const parts = hash.split(':');
62
+ if (parts.length !== 5) {
63
+ throw new Error('decrypt: malformed v1 envelope, expected "v1:keyId:iv:authTag:ciphertext".');
64
+ }
65
+ const [, keyId, ivHex, authTagHex, ciphertext] = parts;
66
+ const key = options?.secret ? buildEncryptionKey(options.secret) : this.encryptionKeyring.byId[keyId];
67
+ if (!key) {
68
+ throw new Error(`decrypt: no secret in the keyring matches key id "${keyId}". Add the secret that encrypted this value to config.previousSecrets.`);
69
+ }
70
+ const decipher = crypto.createDecipheriv(v1Algorithm, key.v1Key, Buffer.from(ivHex, 'hex'));
71
+ decipher.setAuthTag(Buffer.from(authTagHex, 'hex'));
72
+ // final() throws on a wrong key or tampered ciphertext.
73
+ return decipher.update(ciphertext, 'hex', 'utf8') + decipher.final('utf8');
74
+ }
75
+ // Legacy aes-256-ctr is unauthenticated, so it cannot verify a key and a wrong
76
+ // key returns garbage instead of throwing. We therefore intentionally use only
77
+ // the explicit or active key here (never trial the keyring): a legacy value
78
+ // written under a previous secret decrypts to garbage until rotateSecret
79
+ // upgrades it to the authenticated v1 envelope. API key auth is unaffected
80
+ // (it matches the HMAC apiKeyIndex, which is keyring-aware).
81
+ const legacyKey = options?.secret ? deriveSecretKey(options.secret) : this.secret;
13
82
  const iv = hash.slice(0, 32);
14
83
  const content = hash.slice(32);
15
- // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
16
- const secret = this.secret;
17
- const decipher = crypto.createDecipheriv(algorithm, secret, Buffer.from(iv, 'hex'));
84
+ const decipher = crypto.createDecipheriv(legacyAlgorithm, legacyKey, Buffer.from(iv, 'hex'));
18
85
  return decipher.update(content, 'hex', 'utf8') + decipher.final('utf8');
19
86
  }
87
+ /**
88
+ * Re-encrypts a value that was encrypted under a previous secret: decrypts it
89
+ * with `options.oldSecret`, then re-encrypts it with the active secret. Also
90
+ * upgrades a legacy aes-256-ctr value to the v1 envelope.
91
+ */ export function reencrypt(hash, options) {
92
+ const plaintext = decrypt.call(this, hash, {
93
+ secret: options.oldSecret
94
+ });
95
+ return encrypt.call(this, plaintext);
96
+ }
20
97
 
21
98
  //# sourceMappingURL=crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/auth/crypto.ts"],"sourcesContent":["import crypto from 'crypto'\n\nconst algorithm = 'aes-256-ctr'\n\nexport function encrypt(text: string): string {\n const iv = crypto.randomBytes(16)\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n const secret = this.secret\n const cipher = crypto.createCipheriv(algorithm, secret, iv)\n\n const encrypted = cipher.update(text, 'utf8', 'hex') + cipher.final('hex')\n const ivString = iv.toString('hex')\n\n return `${ivString}${encrypted}`\n}\n\nexport function decrypt(hash: string): string {\n const iv = hash.slice(0, 32)\n const content = hash.slice(32)\n\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n const secret = this.secret\n const decipher = crypto.createDecipheriv(algorithm, secret, Buffer.from(iv, 'hex'))\n\n return decipher.update(content, 'hex', 'utf8') + decipher.final('utf8')\n}\n"],"names":["crypto","algorithm","encrypt","text","iv","randomBytes","secret","cipher","createCipheriv","encrypted","update","final","ivString","toString","decrypt","hash","slice","content","decipher","createDecipheriv","Buffer","from"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAE3B,MAAMC,YAAY;AAElB,OAAO,SAASC,QAAQC,IAAY;IAClC,MAAMC,KAAKJ,OAAOK,WAAW,CAAC;IAC9B,oFAAoF;IACpF,MAAMC,SAAS,IAAI,CAACA,MAAM;IAC1B,MAAMC,SAASP,OAAOQ,cAAc,CAACP,WAAWK,QAAQF;IAExD,MAAMK,YAAYF,OAAOG,MAAM,CAACP,MAAM,QAAQ,SAASI,OAAOI,KAAK,CAAC;IACpE,MAAMC,WAAWR,GAAGS,QAAQ,CAAC;IAE7B,OAAO,GAAGD,WAAWH,WAAW;AAClC;AAEA,OAAO,SAASK,QAAQC,IAAY;IAClC,MAAMX,KAAKW,KAAKC,KAAK,CAAC,GAAG;IACzB,MAAMC,UAAUF,KAAKC,KAAK,CAAC;IAE3B,oFAAoF;IACpF,MAAMV,SAAS,IAAI,CAACA,MAAM;IAC1B,MAAMY,WAAWlB,OAAOmB,gBAAgB,CAAClB,WAAWK,QAAQc,OAAOC,IAAI,CAACjB,IAAI;IAE5E,OAAOc,SAASR,MAAM,CAACO,SAAS,OAAO,UAAUC,SAASP,KAAK,CAAC;AAClE"}
1
+ {"version":3,"sources":["../../src/auth/crypto.ts"],"sourcesContent":["import crypto from 'crypto'\n\n/**\n * A single secret in the keyring, with its derived keys precomputed.\n */\nexport type EncryptionKey = {\n /** One-way fingerprint of `v1Key` (16 hex chars), stored in the v1 envelope. */\n keyId: string\n /** Legacy 32-char key for aes-256-ctr and the apiKey HMAC index. */\n legacyKey: string\n /** The raw `PAYLOAD_SECRET` string. */\n secret: string\n /** True 32-byte key (HKDF) for the aes-256-gcm v1 envelope. */\n v1Key: Buffer\n}\n\n/**\n * The set of secrets Payload accepts. `active` is used for all writes; every\n * entry (active + `previousSecrets`) is accepted for reads.\n */\nexport type EncryptionKeyring = {\n /** Entry used for all new writes (the current `PAYLOAD_SECRET`). */\n active: EncryptionKey\n all: EncryptionKey[]\n /** keyId -> entry, for O(1) v1 key selection. */\n byId: Record<string, EncryptionKey>\n}\n\ntype CryptoContext = {\n encryptionKeyring: EncryptionKeyring\n secret: string\n}\n\nconst legacyAlgorithm = 'aes-256-ctr'\nconst v1Algorithm = 'aes-256-gcm'\nconst v1Prefix = 'v1'\n\n/**\n * Legacy key derivation (pre-v1 aes-256-ctr values and the apiKey HMAC index).\n * Kept in sync with `BasePayload.secret`.\n */\nexport const deriveSecretKey = (secret: string): string =>\n crypto.createHash('sha256').update(secret).digest('hex').slice(0, 32)\n\n/**\n * v1 key derivation: a true 32-byte key via HKDF, correcting the reduced\n * effective entropy of the legacy derivation.\n */\nexport const deriveKeyV1 = (secret: string): Buffer =>\n Buffer.from(crypto.hkdfSync('sha256', secret, '', 'payload-secret-v1', 32))\n\n/** Non-secret fingerprint of a v1 key, used to select the key on decrypt. */\nexport const keyIdFor = (v1Key: Buffer): string =>\n crypto.createHash('sha256').update(v1Key).digest('hex').slice(0, 16)\n\nexport const buildEncryptionKey = (secret: string): EncryptionKey => {\n const v1Key = deriveKeyV1(secret)\n return {\n keyId: keyIdFor(v1Key),\n legacyKey: deriveSecretKey(secret),\n secret,\n v1Key,\n }\n}\n\n/**\n * Builds the keyring from the active secret followed by any previous secrets.\n * The first entry is the active (writing) key.\n */\nexport const buildEncryptionKeyring = (secrets: string[]): EncryptionKeyring => {\n const all = secrets.map(buildEncryptionKey)\n const byId: Record<string, EncryptionKey> = {}\n for (const key of all) {\n // First writer wins if two secrets somehow share a keyId.\n if (!byId[key.keyId]) {\n byId[key.keyId] = key\n }\n }\n return { active: all[0]!, all, byId }\n}\n\n/**\n * Encrypts `text` under the active secret using the versioned aes-256-gcm\n * envelope `v1:<keyId>:<iv>:<authTag>:<ciphertext>`. Pass `options.secret` (the\n * raw `PAYLOAD_SECRET`) to encrypt under a specific secret instead.\n */\nexport function encrypt(this: CryptoContext, text: string, options?: { secret?: string }): string {\n const key = options?.secret ? buildEncryptionKey(options.secret) : this.encryptionKeyring.active\n\n const iv = crypto.randomBytes(12)\n const cipher = crypto.createCipheriv(v1Algorithm, key.v1Key, iv)\n\n const ciphertext = cipher.update(text, 'utf8', 'hex') + cipher.final('hex')\n const authTag = cipher.getAuthTag().toString('hex')\n\n return `${v1Prefix}:${key.keyId}:${iv.toString('hex')}:${authTag}:${ciphertext}`\n}\n\n/**\n * Decrypts a value produced by {@link encrypt}. Dispatches on format: v1\n * envelopes are authenticated (aes-256-gcm) and select their key by keyId from\n * the keyring; pre-v1 values fall back to aes-256-ctr. Pass `options.secret` to\n * decrypt under a specific secret (e.g. to read data encrypted under a previous\n * secret during a rotation).\n */\nexport function decrypt(this: CryptoContext, hash: string, options?: { secret?: string }): string {\n if (hash.startsWith(`${v1Prefix}:`)) {\n const parts = hash.split(':')\n\n if (parts.length !== 5) {\n throw new Error('decrypt: malformed v1 envelope, expected \"v1:keyId:iv:authTag:ciphertext\".')\n }\n\n const [, keyId, ivHex, authTagHex, ciphertext] = parts\n\n const key = options?.secret\n ? buildEncryptionKey(options.secret)\n : this.encryptionKeyring.byId[keyId!]\n\n if (!key) {\n throw new Error(\n `decrypt: no secret in the keyring matches key id \"${keyId}\". Add the secret that encrypted this value to config.previousSecrets.`,\n )\n }\n\n const decipher = crypto.createDecipheriv(v1Algorithm, key.v1Key, Buffer.from(ivHex!, 'hex'))\n decipher.setAuthTag(Buffer.from(authTagHex!, 'hex'))\n\n // final() throws on a wrong key or tampered ciphertext.\n return decipher.update(ciphertext!, 'hex', 'utf8') + decipher.final('utf8')\n }\n\n // Legacy aes-256-ctr is unauthenticated, so it cannot verify a key and a wrong\n // key returns garbage instead of throwing. We therefore intentionally use only\n // the explicit or active key here (never trial the keyring): a legacy value\n // written under a previous secret decrypts to garbage until rotateSecret\n // upgrades it to the authenticated v1 envelope. API key auth is unaffected\n // (it matches the HMAC apiKeyIndex, which is keyring-aware).\n const legacyKey = options?.secret ? deriveSecretKey(options.secret) : this.secret\n const iv = hash.slice(0, 32)\n const content = hash.slice(32)\n const decipher = crypto.createDecipheriv(legacyAlgorithm, legacyKey, Buffer.from(iv, 'hex'))\n\n return decipher.update(content, 'hex', 'utf8') + decipher.final('utf8')\n}\n\n/**\n * Re-encrypts a value that was encrypted under a previous secret: decrypts it\n * with `options.oldSecret`, then re-encrypts it with the active secret. Also\n * upgrades a legacy aes-256-ctr value to the v1 envelope.\n */\nexport function reencrypt(\n this: CryptoContext,\n hash: string,\n options: { oldSecret: string },\n): string {\n const plaintext = decrypt.call(this, hash, { secret: options.oldSecret })\n return encrypt.call(this, plaintext)\n}\n"],"names":["crypto","legacyAlgorithm","v1Algorithm","v1Prefix","deriveSecretKey","secret","createHash","update","digest","slice","deriveKeyV1","Buffer","from","hkdfSync","keyIdFor","v1Key","buildEncryptionKey","keyId","legacyKey","buildEncryptionKeyring","secrets","all","map","byId","key","active","encrypt","text","options","encryptionKeyring","iv","randomBytes","cipher","createCipheriv","ciphertext","final","authTag","getAuthTag","toString","decrypt","hash","startsWith","parts","split","length","Error","ivHex","authTagHex","decipher","createDecipheriv","setAuthTag","content","reencrypt","plaintext","call","oldSecret"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAiC3B,MAAMC,kBAAkB;AACxB,MAAMC,cAAc;AACpB,MAAMC,WAAW;AAEjB;;;CAGC,GACD,OAAO,MAAMC,kBAAkB,CAACC,SAC9BL,OAAOM,UAAU,CAAC,UAAUC,MAAM,CAACF,QAAQG,MAAM,CAAC,OAAOC,KAAK,CAAC,GAAG,IAAG;AAEvE;;;CAGC,GACD,OAAO,MAAMC,cAAc,CAACL,SAC1BM,OAAOC,IAAI,CAACZ,OAAOa,QAAQ,CAAC,UAAUR,QAAQ,IAAI,qBAAqB,KAAI;AAE7E,2EAA2E,GAC3E,OAAO,MAAMS,WAAW,CAACC,QACvBf,OAAOM,UAAU,CAAC,UAAUC,MAAM,CAACQ,OAAOP,MAAM,CAAC,OAAOC,KAAK,CAAC,GAAG,IAAG;AAEtE,OAAO,MAAMO,qBAAqB,CAACX;IACjC,MAAMU,QAAQL,YAAYL;IAC1B,OAAO;QACLY,OAAOH,SAASC;QAChBG,WAAWd,gBAAgBC;QAC3BA;QACAU;IACF;AACF,EAAC;AAED;;;CAGC,GACD,OAAO,MAAMI,yBAAyB,CAACC;IACrC,MAAMC,MAAMD,QAAQE,GAAG,CAACN;IACxB,MAAMO,OAAsC,CAAC;IAC7C,KAAK,MAAMC,OAAOH,IAAK;QACrB,0DAA0D;QAC1D,IAAI,CAACE,IAAI,CAACC,IAAIP,KAAK,CAAC,EAAE;YACpBM,IAAI,CAACC,IAAIP,KAAK,CAAC,GAAGO;QACpB;IACF;IACA,OAAO;QAAEC,QAAQJ,GAAG,CAAC,EAAE;QAAGA;QAAKE;IAAK;AACtC,EAAC;AAED;;;;CAIC,GACD,OAAO,SAASG,QAA6BC,IAAY,EAAEC,OAA6B;IACtF,MAAMJ,MAAMI,SAASvB,SAASW,mBAAmBY,QAAQvB,MAAM,IAAI,IAAI,CAACwB,iBAAiB,CAACJ,MAAM;IAEhG,MAAMK,KAAK9B,OAAO+B,WAAW,CAAC;IAC9B,MAAMC,SAAShC,OAAOiC,cAAc,CAAC/B,aAAasB,IAAIT,KAAK,EAAEe;IAE7D,MAAMI,aAAaF,OAAOzB,MAAM,CAACoB,MAAM,QAAQ,SAASK,OAAOG,KAAK,CAAC;IACrE,MAAMC,UAAUJ,OAAOK,UAAU,GAAGC,QAAQ,CAAC;IAE7C,OAAO,GAAGnC,SAAS,CAAC,EAAEqB,IAAIP,KAAK,CAAC,CAAC,EAAEa,GAAGQ,QAAQ,CAAC,OAAO,CAAC,EAAEF,QAAQ,CAAC,EAAEF,YAAY;AAClF;AAEA;;;;;;CAMC,GACD,OAAO,SAASK,QAA6BC,IAAY,EAAEZ,OAA6B;IACtF,IAAIY,KAAKC,UAAU,CAAC,GAAGtC,SAAS,CAAC,CAAC,GAAG;QACnC,MAAMuC,QAAQF,KAAKG,KAAK,CAAC;QAEzB,IAAID,MAAME,MAAM,KAAK,GAAG;YACtB,MAAM,IAAIC,MAAM;QAClB;QAEA,MAAM,GAAG5B,OAAO6B,OAAOC,YAAYb,WAAW,GAAGQ;QAEjD,MAAMlB,MAAMI,SAASvB,SACjBW,mBAAmBY,QAAQvB,MAAM,IACjC,IAAI,CAACwB,iBAAiB,CAACN,IAAI,CAACN,MAAO;QAEvC,IAAI,CAACO,KAAK;YACR,MAAM,IAAIqB,MACR,CAAC,kDAAkD,EAAE5B,MAAM,sEAAsE,CAAC;QAEtI;QAEA,MAAM+B,WAAWhD,OAAOiD,gBAAgB,CAAC/C,aAAasB,IAAIT,KAAK,EAAEJ,OAAOC,IAAI,CAACkC,OAAQ;QACrFE,SAASE,UAAU,CAACvC,OAAOC,IAAI,CAACmC,YAAa;QAE7C,wDAAwD;QACxD,OAAOC,SAASzC,MAAM,CAAC2B,YAAa,OAAO,UAAUc,SAASb,KAAK,CAAC;IACtE;IAEA,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,yEAAyE;IACzE,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAMjB,YAAYU,SAASvB,SAASD,gBAAgBwB,QAAQvB,MAAM,IAAI,IAAI,CAACA,MAAM;IACjF,MAAMyB,KAAKU,KAAK/B,KAAK,CAAC,GAAG;IACzB,MAAM0C,UAAUX,KAAK/B,KAAK,CAAC;IAC3B,MAAMuC,WAAWhD,OAAOiD,gBAAgB,CAAChD,iBAAiBiB,WAAWP,OAAOC,IAAI,CAACkB,IAAI;IAErF,OAAOkB,SAASzC,MAAM,CAAC4C,SAAS,OAAO,UAAUH,SAASb,KAAK,CAAC;AAClE;AAEA;;;;CAIC,GACD,OAAO,SAASiB,UAEdZ,IAAY,EACZZ,OAA8B;IAE9B,MAAMyB,YAAYd,QAAQe,IAAI,CAAC,IAAI,EAAEd,MAAM;QAAEnC,QAAQuB,QAAQ2B,SAAS;IAAC;IACvE,OAAO7B,QAAQ4B,IAAI,CAAC,IAAI,EAAED;AAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultAccess.d.ts","sourceRoot":"","sources":["../../src/auth/defaultAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,eAAO,MAAM,aAAa,GAAI,4BAA4B;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAG,OACnB,CAAA"}
1
+ {"version":3,"file":"defaultAccess.d.ts","sourceRoot":"","sources":["../../src/auth/defaultAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,eAAO,MAAM,aAAa,+BAAgC;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAG,OACnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/endpoints/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,eAAO,MAAM,YAAY,EAAE,cAgD1B,CAAA"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/endpoints/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAO3D,eAAO,MAAM,YAAY,EAAE,cAsC1B,CAAA"}
@@ -2,8 +2,7 @@ import { status as httpStatus } from 'http-status';
2
2
  import { getRequestCollection } from '../../utilities/getRequestEntity.js';
3
3
  import { headersWithCors } from '../../utilities/headersWithCors.js';
4
4
  import { isNumber } from '../../utilities/isNumber.js';
5
- import { generatePayloadCookie } from '../cookies.js';
6
- import { loginOperation } from '../operations/login.js';
5
+ import { loginWithCookie } from '../loginWithCookie.js';
7
6
  export const loginHandler = async (req)=>{
8
7
  const collection = getRequestCollection(req);
9
8
  const { searchParams, t } = req;
@@ -16,20 +15,12 @@ export const loginHandler = async (req)=>{
16
15
  email: typeof req.data?.email === 'string' ? req.data.email : '',
17
16
  password: typeof req.data?.password === 'string' ? req.data.password : ''
18
17
  };
19
- const result = await loginOperation({
18
+ const { cookie, result } = await loginWithCookie({
20
19
  collection,
21
20
  data: authData,
22
21
  depth: isNumber(depth) ? Number(depth) : undefined,
23
22
  req
24
23
  });
25
- const cookie = generatePayloadCookie({
26
- collectionAuthConfig: collection.config.auth,
27
- cookiePrefix: req.payload.config.cookiePrefix,
28
- token: result.token
29
- });
30
- if (collection.config.auth.removeTokenFromResponses) {
31
- delete result.token;
32
- }
33
24
  return Response.json({
34
25
  message: t('authentication:passed'),
35
26
  ...result
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/endpoints/login.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { PayloadHandler } from '../../config/types.js'\n\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { isNumber } from '../../utilities/isNumber.js'\nimport { generatePayloadCookie } from '../cookies.js'\nimport { loginOperation } from '../operations/login.js'\n\nexport const loginHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { searchParams, t } = req\n const depth = searchParams.get('depth')\n const authData =\n collection.config.auth?.loginWithUsername !== false\n ? {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n username: typeof req.data?.username === 'string' ? req.data.username : '',\n }\n : {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n }\n\n const result = await loginOperation({\n collection,\n data: authData,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: result.token!,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return Response.json(\n {\n message: t('authentication:passed'),\n ...result,\n },\n {\n headers: headersWithCors({\n headers: new Headers({\n 'Set-Cookie': cookie,\n }),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["status","httpStatus","getRequestCollection","headersWithCors","isNumber","generatePayloadCookie","loginOperation","loginHandler","req","collection","searchParams","t","depth","get","authData","config","auth","loginWithUsername","email","data","password","username","result","Number","undefined","cookie","collectionAuthConfig","cookiePrefix","payload","token","removeTokenFromResponses","Response","json","message","headers","Headers","OK"],"mappings":"AAAA,SAASA,UAAUC,UAAU,QAAQ,cAAa;AAIlD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,QAAQ,QAAQ,8BAA6B;AACtD,SAASC,qBAAqB,QAAQ,gBAAe;AACrD,SAASC,cAAc,QAAQ,yBAAwB;AAEvD,OAAO,MAAMC,eAA+B,OAAOC;IACjD,MAAMC,aAAaP,qBAAqBM;IACxC,MAAM,EAAEE,YAAY,EAAEC,CAAC,EAAE,GAAGH;IAC5B,MAAMI,QAAQF,aAAaG,GAAG,CAAC;IAC/B,MAAMC,WACJL,WAAWM,MAAM,CAACC,IAAI,EAAEC,sBAAsB,QAC1C;QACEC,OAAO,OAAOV,IAAIW,IAAI,EAAED,UAAU,WAAWV,IAAIW,IAAI,CAACD,KAAK,GAAG;QAC9DE,UAAU,OAAOZ,IAAIW,IAAI,EAAEC,aAAa,WAAWZ,IAAIW,IAAI,CAACC,QAAQ,GAAG;QACvEC,UAAU,OAAOb,IAAIW,IAAI,EAAEE,aAAa,WAAWb,IAAIW,IAAI,CAACE,QAAQ,GAAG;IACzE,IACA;QACEH,OAAO,OAAOV,IAAIW,IAAI,EAAED,UAAU,WAAWV,IAAIW,IAAI,CAACD,KAAK,GAAG;QAC9DE,UAAU,OAAOZ,IAAIW,IAAI,EAAEC,aAAa,WAAWZ,IAAIW,IAAI,CAACC,QAAQ,GAAG;IACzE;IAEN,MAAME,SAAS,MAAMhB,eAAe;QAClCG;QACAU,MAAML;QACNF,OAAOR,SAASQ,SAASW,OAAOX,SAASY;QACzChB;IACF;IAEA,MAAMiB,SAASpB,sBAAsB;QACnCqB,sBAAsBjB,WAAWM,MAAM,CAACC,IAAI;QAC5CW,cAAcnB,IAAIoB,OAAO,CAACb,MAAM,CAACY,YAAY;QAC7CE,OAAOP,OAAOO,KAAK;IACrB;IAEA,IAAIpB,WAAWM,MAAM,CAACC,IAAI,CAACc,wBAAwB,EAAE;QACnD,OAAOR,OAAOO,KAAK;IACrB;IAEA,OAAOE,SAASC,IAAI,CAClB;QACEC,SAAStB,EAAE;QACX,GAAGW,MAAM;IACX,GACA;QACEY,SAAS/B,gBAAgB;YACvB+B,SAAS,IAAIC,QAAQ;gBACnB,cAAcV;YAChB;YACAjB;QACF;QACAR,QAAQC,WAAWmC,EAAE;IACvB;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../../src/auth/endpoints/login.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { PayloadHandler } from '../../config/types.js'\n\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { isNumber } from '../../utilities/isNumber.js'\nimport { loginWithCookie } from '../loginWithCookie.js'\n\nexport const loginHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { searchParams, t } = req\n const depth = searchParams.get('depth')\n const authData =\n collection.config.auth?.loginWithUsername !== false\n ? {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n username: typeof req.data?.username === 'string' ? req.data.username : '',\n }\n : {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n }\n\n const { cookie, result } = await loginWithCookie({\n collection,\n data: authData,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n })\n\n return Response.json(\n {\n message: t('authentication:passed'),\n ...result,\n },\n {\n headers: headersWithCors({\n headers: new Headers({\n 'Set-Cookie': cookie,\n }),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["status","httpStatus","getRequestCollection","headersWithCors","isNumber","loginWithCookie","loginHandler","req","collection","searchParams","t","depth","get","authData","config","auth","loginWithUsername","email","data","password","username","cookie","result","Number","undefined","Response","json","message","headers","Headers","OK"],"mappings":"AAAA,SAASA,UAAUC,UAAU,QAAQ,cAAa;AAIlD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,QAAQ,QAAQ,8BAA6B;AACtD,SAASC,eAAe,QAAQ,wBAAuB;AAEvD,OAAO,MAAMC,eAA+B,OAAOC;IACjD,MAAMC,aAAaN,qBAAqBK;IACxC,MAAM,EAAEE,YAAY,EAAEC,CAAC,EAAE,GAAGH;IAC5B,MAAMI,QAAQF,aAAaG,GAAG,CAAC;IAC/B,MAAMC,WACJL,WAAWM,MAAM,CAACC,IAAI,EAAEC,sBAAsB,QAC1C;QACEC,OAAO,OAAOV,IAAIW,IAAI,EAAED,UAAU,WAAWV,IAAIW,IAAI,CAACD,KAAK,GAAG;QAC9DE,UAAU,OAAOZ,IAAIW,IAAI,EAAEC,aAAa,WAAWZ,IAAIW,IAAI,CAACC,QAAQ,GAAG;QACvEC,UAAU,OAAOb,IAAIW,IAAI,EAAEE,aAAa,WAAWb,IAAIW,IAAI,CAACE,QAAQ,GAAG;IACzE,IACA;QACEH,OAAO,OAAOV,IAAIW,IAAI,EAAED,UAAU,WAAWV,IAAIW,IAAI,CAACD,KAAK,GAAG;QAC9DE,UAAU,OAAOZ,IAAIW,IAAI,EAAEC,aAAa,WAAWZ,IAAIW,IAAI,CAACC,QAAQ,GAAG;IACzE;IAEN,MAAM,EAAEE,MAAM,EAAEC,MAAM,EAAE,GAAG,MAAMjB,gBAAgB;QAC/CG;QACAU,MAAML;QACNF,OAAOP,SAASO,SAASY,OAAOZ,SAASa;QACzCjB;IACF;IAEA,OAAOkB,SAASC,IAAI,CAClB;QACEC,SAASjB,EAAE;QACX,GAAGY,MAAM;IACX,GACA;QACEM,SAASzB,gBAAgB;YACvByB,SAAS,IAAIC,QAAQ;gBACnB,cAAcR;YAChB;YACAd;QACF;QACAP,QAAQC,WAAW6B,EAAE;IACvB;AAEJ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/endpoints/refresh.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAO3D,eAAO,MAAM,cAAc,EAAE,cAuC5B,CAAA"}
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/endpoints/refresh.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAO3D,eAAO,MAAM,cAAc,EAAE,cAwC5B,CAAA"}
@@ -14,21 +14,19 @@ export const refreshHandler = async (req)=>{
14
14
  collection,
15
15
  req
16
16
  });
17
+ const { refreshedToken, ...resultWithoutToken } = result;
17
18
  if (result.setCookie) {
18
19
  const cookie = generatePayloadCookie({
19
20
  collectionAuthConfig: collection.config.auth,
20
21
  cookiePrefix: req.payload.config.cookiePrefix,
21
- token: result.refreshedToken
22
+ token: refreshedToken
22
23
  });
23
- if (collection.config.auth.removeTokenFromResponses) {
24
- // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
25
- delete result.refreshedToken;
26
- }
27
24
  headers.set('Set-Cookie', cookie);
28
25
  }
26
+ const responseResult = collection.config.auth.removeTokenFromResponses ? resultWithoutToken : result;
29
27
  return Response.json({
30
28
  message: t('authentication:tokenRefreshSuccessful'),
31
- ...result
29
+ ...responseResult
32
30
  }, {
33
31
  headers,
34
32
  status: httpStatus.OK
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/endpoints/refresh.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { PayloadHandler } from '../../config/types.js'\n\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { generatePayloadCookie } from '../cookies.js'\nimport { refreshOperation } from '../operations/refresh.js'\n\nexport const refreshHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { t } = req\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const result = await refreshOperation({\n collection,\n req,\n })\n\n if (result.setCookie) {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: result.refreshedToken,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n delete result.refreshedToken\n }\n\n headers.set('Set-Cookie', cookie)\n }\n\n return Response.json(\n {\n message: t('authentication:tokenRefreshSuccessful'),\n ...result,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["status","httpStatus","getRequestCollection","headersWithCors","generatePayloadCookie","refreshOperation","refreshHandler","req","collection","t","headers","Headers","result","setCookie","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","token","refreshedToken","removeTokenFromResponses","set","Response","json","message","OK"],"mappings":"AAAA,SAASA,UAAUC,UAAU,QAAQ,cAAa;AAIlD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,qBAAqB,QAAQ,gBAAe;AACrD,SAASC,gBAAgB,QAAQ,2BAA0B;AAE3D,OAAO,MAAMC,iBAAiC,OAAOC;IACnD,MAAMC,aAAaN,qBAAqBK;IACxC,MAAM,EAAEE,CAAC,EAAE,GAAGF;IAEd,MAAMG,UAAUP,gBAAgB;QAC9BO,SAAS,IAAIC;QACbJ;IACF;IAEA,MAAMK,SAAS,MAAMP,iBAAiB;QACpCG;QACAD;IACF;IAEA,IAAIK,OAAOC,SAAS,EAAE;QACpB,MAAMC,SAASV,sBAAsB;YACnCW,sBAAsBP,WAAWQ,MAAM,CAACC,IAAI;YAC5CC,cAAcX,IAAIY,OAAO,CAACH,MAAM,CAACE,YAAY;YAC7CE,OAAOR,OAAOS,cAAc;QAC9B;QAEA,IAAIb,WAAWQ,MAAM,CAACC,IAAI,CAACK,wBAAwB,EAAE;YACnD,oFAAoF;YACpF,OAAOV,OAAOS,cAAc;QAC9B;QAEAX,QAAQa,GAAG,CAAC,cAAcT;IAC5B;IAEA,OAAOU,SAASC,IAAI,CAClB;QACEC,SAASjB,EAAE;QACX,GAAGG,MAAM;IACX,GACA;QACEF;QACAV,QAAQC,WAAW0B,EAAE;IACvB;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../../src/auth/endpoints/refresh.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { PayloadHandler } from '../../config/types.js'\n\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { generatePayloadCookie } from '../cookies.js'\nimport { refreshOperation } from '../operations/refresh.js'\n\nexport const refreshHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { t } = req\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const result = await refreshOperation({\n collection,\n req,\n })\n\n const { refreshedToken, ...resultWithoutToken } = result\n\n if (result.setCookie) {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: refreshedToken,\n })\n\n headers.set('Set-Cookie', cookie)\n }\n\n const responseResult = collection.config.auth.removeTokenFromResponses\n ? resultWithoutToken\n : result\n\n return Response.json(\n {\n message: t('authentication:tokenRefreshSuccessful'),\n ...responseResult,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["status","httpStatus","getRequestCollection","headersWithCors","generatePayloadCookie","refreshOperation","refreshHandler","req","collection","t","headers","Headers","result","refreshedToken","resultWithoutToken","setCookie","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","token","set","responseResult","removeTokenFromResponses","Response","json","message","OK"],"mappings":"AAAA,SAASA,UAAUC,UAAU,QAAQ,cAAa;AAIlD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,qBAAqB,QAAQ,gBAAe;AACrD,SAASC,gBAAgB,QAAQ,2BAA0B;AAE3D,OAAO,MAAMC,iBAAiC,OAAOC;IACnD,MAAMC,aAAaN,qBAAqBK;IACxC,MAAM,EAAEE,CAAC,EAAE,GAAGF;IAEd,MAAMG,UAAUP,gBAAgB;QAC9BO,SAAS,IAAIC;QACbJ;IACF;IAEA,MAAMK,SAAS,MAAMP,iBAAiB;QACpCG;QACAD;IACF;IAEA,MAAM,EAAEM,cAAc,EAAE,GAAGC,oBAAoB,GAAGF;IAElD,IAAIA,OAAOG,SAAS,EAAE;QACpB,MAAMC,SAASZ,sBAAsB;YACnCa,sBAAsBT,WAAWU,MAAM,CAACC,IAAI;YAC5CC,cAAcb,IAAIc,OAAO,CAACH,MAAM,CAACE,YAAY;YAC7CE,OAAOT;QACT;QAEAH,QAAQa,GAAG,CAAC,cAAcP;IAC5B;IAEA,MAAMQ,iBAAiBhB,WAAWU,MAAM,CAACC,IAAI,CAACM,wBAAwB,GAClEX,qBACAF;IAEJ,OAAOc,SAASC,IAAI,CAClB;QACEC,SAASnB,EAAE;QACX,GAAGe,cAAc;IACnB,GACA;QACEd;QACAV,QAAQC,WAAW4B,EAAE;IACvB;AAEJ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensureUsernameOrEmail.d.ts","sourceRoot":"","sources":["../../src/auth/ensureUsernameOrEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAA;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIjF,KAAK,2BAA2B,CAAC,KAAK,SAAS,cAAc,IAAI;IAC/D,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;IAC7C,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAA;IAC3C,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,CACA;IACE,SAAS,EAAE,QAAQ,CAAA;IACnB,WAAW,CAAC,EAAE,KAAK,CAAA;CACpB,GACD;IACE,SAAS,EAAE,QAAQ,CAAA;IACnB,WAAW,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAA;CACnD,CACJ,CAAA;AACD,eAAO,MAAM,qBAAqB,GAAI,KAAK,SAAS,cAAc,EAAE,kHAOjE,2BAA2B,CAAC,KAAK,CAAC,SAiDpC,CAAA"}
1
+ {"version":3,"file":"ensureUsernameOrEmail.d.ts","sourceRoot":"","sources":["../../src/auth/ensureUsernameOrEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAA;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIjF,KAAK,2BAA2B,CAAC,KAAK,SAAS,cAAc,IAAI;IAC/D,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;IAC7C,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAA;IAC3C,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,CACA;IACE,SAAS,EAAE,QAAQ,CAAA;IACnB,WAAW,CAAC,EAAE,KAAK,CAAA;CACpB,GACD;IACE,SAAS,EAAE,QAAQ,CAAA;IACnB,WAAW,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAA;CACnD,CACJ,CAAA;AACD,eAAO,MAAM,qBAAqB,GAAI,KAAK,SAAS,cAAc,oHAO/D,2BAA2B,CAAC,KAAK,CAAC,SAiDpC,CAAA"}
@@ -6,7 +6,8 @@ type OperationArgs = {
6
6
  id?: number | string;
7
7
  isReadingStaticFile?: boolean;
8
8
  req: PayloadRequest;
9
+ slug: string;
9
10
  };
10
- export declare const executeAccess: ({ id, data, disableErrors, isReadingStaticFile, req }: OperationArgs, access: Access) => Promise<AccessResult>;
11
+ export declare const executeAccess: ({ id, slug, data, disableErrors, isReadingStaticFile, req }: OperationArgs, access?: Access) => Promise<AccessResult>;
11
12
  export {};
12
13
  //# sourceMappingURL=executeAccess.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executeAccess.d.ts","sourceRoot":"","sources":["../../src/auth/executeAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,aAAa,GACxB,uDAA+D,aAAa,EAC5E,QAAQ,MAAM,KACb,OAAO,CAAC,YAAY,CA0BtB,CAAA"}
1
+ {"version":3,"file":"executeAccess.d.ts","sourceRoot":"","sources":["../../src/auth/executeAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AACD,eAAO,MAAM,aAAa,gEAC6C,aAAa,WACzE,MAAM,KACd,OAAO,CAAC,YAAY,CA2BtB,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { Forbidden } from '../errors/index.js';
2
- export const executeAccess = async ({ id, data, disableErrors, isReadingStaticFile = false, req }, access)=>{
2
+ export const executeAccess = async ({ id, slug, data, disableErrors, isReadingStaticFile = false, req }, access)=>{
3
3
  if (access) {
4
4
  const resolvedConstraint = await access({
5
5
  id,
6
+ slug,
6
7
  data,
7
8
  isReadingStaticFile,
8
9
  req
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/auth/executeAccess.ts"],"sourcesContent":["import type { Access, AccessResult } from '../config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { Forbidden } from '../errors/index.js'\n\ntype OperationArgs = {\n data?: any\n disableErrors?: boolean\n id?: number | string\n isReadingStaticFile?: boolean\n req: PayloadRequest\n}\nexport const executeAccess = async (\n { id, data, disableErrors, isReadingStaticFile = false, req }: OperationArgs,\n access: Access,\n): Promise<AccessResult> => {\n if (access) {\n const resolvedConstraint = await access({\n id,\n data,\n isReadingStaticFile,\n req,\n })\n\n if (!resolvedConstraint) {\n if (!disableErrors) {\n throw new Forbidden(req.t)\n }\n }\n\n return resolvedConstraint\n }\n\n if (req.user) {\n return true\n }\n\n if (!disableErrors) {\n throw new Forbidden(req.t)\n }\n return false\n}\n"],"names":["Forbidden","executeAccess","id","data","disableErrors","isReadingStaticFile","req","access","resolvedConstraint","t","user"],"mappings":"AAGA,SAASA,SAAS,QAAQ,qBAAoB;AAS9C,OAAO,MAAMC,gBAAgB,OAC3B,EAAEC,EAAE,EAAEC,IAAI,EAAEC,aAAa,EAAEC,sBAAsB,KAAK,EAAEC,GAAG,EAAiB,EAC5EC;IAEA,IAAIA,QAAQ;QACV,MAAMC,qBAAqB,MAAMD,OAAO;YACtCL;YACAC;YACAE;YACAC;QACF;QAEA,IAAI,CAACE,oBAAoB;YACvB,IAAI,CAACJ,eAAe;gBAClB,MAAM,IAAIJ,UAAUM,IAAIG,CAAC;YAC3B;QACF;QAEA,OAAOD;IACT;IAEA,IAAIF,IAAII,IAAI,EAAE;QACZ,OAAO;IACT;IAEA,IAAI,CAACN,eAAe;QAClB,MAAM,IAAIJ,UAAUM,IAAIG,CAAC;IAC3B;IACA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/auth/executeAccess.ts"],"sourcesContent":["import type { Access, AccessResult } from '../config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { Forbidden } from '../errors/index.js'\n\ntype OperationArgs = {\n data?: any\n disableErrors?: boolean\n id?: number | string\n isReadingStaticFile?: boolean\n req: PayloadRequest\n slug: string\n}\nexport const executeAccess = async (\n { id, slug, data, disableErrors, isReadingStaticFile = false, req }: OperationArgs,\n access?: Access,\n): Promise<AccessResult> => {\n if (access) {\n const resolvedConstraint = await access({\n id,\n slug,\n data,\n isReadingStaticFile,\n req,\n })\n\n if (!resolvedConstraint) {\n if (!disableErrors) {\n throw new Forbidden(req.t)\n }\n }\n\n return resolvedConstraint\n }\n\n if (req.user) {\n return true\n }\n\n if (!disableErrors) {\n throw new Forbidden(req.t)\n }\n return false\n}\n"],"names":["Forbidden","executeAccess","id","slug","data","disableErrors","isReadingStaticFile","req","access","resolvedConstraint","t","user"],"mappings":"AAGA,SAASA,SAAS,QAAQ,qBAAoB;AAU9C,OAAO,MAAMC,gBAAgB,OAC3B,EAAEC,EAAE,EAAEC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,sBAAsB,KAAK,EAAEC,GAAG,EAAiB,EAClFC;IAEA,IAAIA,QAAQ;QACV,MAAMC,qBAAqB,MAAMD,OAAO;YACtCN;YACAC;YACAC;YACAE;YACAC;QACF;QAEA,IAAI,CAACE,oBAAoB;YACvB,IAAI,CAACJ,eAAe;gBAClB,MAAM,IAAIL,UAAUO,IAAIG,CAAC;YAC3B;QACF;QAEA,OAAOD;IACT;IAEA,IAAIF,IAAII,IAAI,EAAE;QACZ,OAAO;IACT;IAEA,IAAI,CAACN,eAAe;QAClB,MAAM,IAAIL,UAAUO,IAAIG,CAAC;IAC3B;IACA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executeAuthStrategies.d.ts","sourceRoot":"","sources":["../../src/auth/executeAuthStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAI9E,eAAO,MAAM,qBAAqB,GAChC,MAAM,wBAAwB,KAC7B,OAAO,CAAC,kBAAkB,CA+B5B,CAAA"}
1
+ {"version":3,"file":"executeAuthStrategies.d.ts","sourceRoot":"","sources":["../../src/auth/executeAuthStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAI9E,eAAO,MAAM,qBAAqB,SAC1B,wBAAwB,KAC7B,OAAO,CAAC,kBAAkB,CA+B5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractAccessFromPermission.d.ts","sourceRoot":"","sources":["../../src/auth/extractAccessFromPermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,2BAA2B,GAAI,eAAe,OAAO,GAAG,UAAU,KAAG,YAajF,CAAA"}
1
+ {"version":3,"file":"extractAccessFromPermission.d.ts","sourceRoot":"","sources":["../../src/auth/extractAccessFromPermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,2BAA2B,kBAAmB,OAAO,GAAG,UAAU,KAAG,YAajF,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import type { AuthStrategyFunctionArgs } from './index.js';
2
- export declare const extractJWT: (args: Omit<AuthStrategyFunctionArgs, "strategyName">) => null | string;
2
+ export declare const extractJWT: (args: Omit<AuthStrategyFunctionArgs, 'strategyName'>) => null | string;
3
3
  //# sourceMappingURL=extractJWT.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractJWT.d.ts","sourceRoot":"","sources":["../../src/auth/extractJWT.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AA+D1D,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC,KAAG,IAAI,GAAG,MAcxF,CAAA"}
1
+ {"version":3,"file":"extractJWT.d.ts","sourceRoot":"","sources":["../../src/auth/extractJWT.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AA+D1D,eAAO,MAAM,UAAU,SAAU,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC,KAAG,IAAI,GAAG,MAcxF,CAAA"}
@@ -10,6 +10,7 @@ export async function getAccessResults({ req }) {
10
10
  const userCollectionConfig = user && user.collection ? payload?.collections?.[user.collection]?.config : null;
11
11
  if (userCollectionConfig && payload.config.admin.user === user?.collection) {
12
12
  results.canAccessAdmin = userCollectionConfig.access.admin ? await userCollectionConfig.access.admin({
13
+ slug: userCollectionConfig.slug,
13
14
  req
14
15
  }) : isLoggedIn;
15
16
  } else {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/auth/getAccessResults.ts"],"sourcesContent":["import type { AllOperations, PayloadRequest } from '../types/index.js'\nimport type { Permissions, SanitizedPermissions } from './types.js'\n\nimport { getEntityPermissions } from '../utilities/getEntityPermissions/getEntityPermissions.js'\nimport { sanitizePermissions } from '../utilities/sanitizePermissions.js'\n\ntype GetAccessResultsArgs = {\n req: PayloadRequest\n}\nexport async function getAccessResults({\n req,\n}: GetAccessResultsArgs): Promise<SanitizedPermissions> {\n const results = {\n collections: {},\n globals: {},\n } as Permissions\n const { payload, user } = req\n\n const isLoggedIn = !!user\n const userCollectionConfig =\n user && user.collection ? payload?.collections?.[user.collection]?.config : null\n\n if (userCollectionConfig && payload.config.admin.user === user?.collection) {\n results.canAccessAdmin = userCollectionConfig.access.admin\n ? await userCollectionConfig.access.admin({ req })\n : isLoggedIn\n } else {\n results.canAccessAdmin = false\n }\n const blockReferencesPermissions = {}\n\n await Promise.all(\n payload.config.collections.map(async (collection) => {\n const collectionOperations: AllOperations[] = ['create', 'read', 'update', 'delete']\n\n if (\n collection.auth &&\n typeof collection.auth.maxLoginAttempts !== 'undefined' &&\n collection.auth.maxLoginAttempts !== 0\n ) {\n collectionOperations.push('unlock')\n }\n\n if (collection.versions) {\n collectionOperations.push('readVersions')\n }\n\n const collectionPermissions = await getEntityPermissions({\n blockReferencesPermissions,\n entity: collection,\n entityType: 'collection',\n fetchData: false,\n operations: collectionOperations,\n req,\n })\n results.collections![collection.slug] = collectionPermissions\n }),\n )\n\n await Promise.all(\n payload.config.globals.map(async (global) => {\n const globalOperations: AllOperations[] = ['read', 'update']\n\n if (global.versions) {\n globalOperations.push('readVersions')\n }\n\n const globalPermissions = await getEntityPermissions({\n blockReferencesPermissions,\n entity: global,\n entityType: 'global',\n fetchData: false,\n operations: globalOperations,\n req,\n })\n results.globals![global.slug] = globalPermissions\n }),\n )\n\n return sanitizePermissions(results)\n}\n"],"names":["getEntityPermissions","sanitizePermissions","getAccessResults","req","results","collections","globals","payload","user","isLoggedIn","userCollectionConfig","collection","config","admin","canAccessAdmin","access","blockReferencesPermissions","Promise","all","map","collectionOperations","auth","maxLoginAttempts","push","versions","collectionPermissions","entity","entityType","fetchData","operations","slug","global","globalOperations","globalPermissions"],"mappings":"AAGA,SAASA,oBAAoB,QAAQ,4DAA2D;AAChG,SAASC,mBAAmB,QAAQ,sCAAqC;AAKzE,OAAO,eAAeC,iBAAiB,EACrCC,GAAG,EACkB;IACrB,MAAMC,UAAU;QACdC,aAAa,CAAC;QACdC,SAAS,CAAC;IACZ;IACA,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGL;IAE1B,MAAMM,aAAa,CAAC,CAACD;IACrB,MAAME,uBACJF,QAAQA,KAAKG,UAAU,GAAGJ,SAASF,aAAa,CAACG,KAAKG,UAAU,CAAC,EAAEC,SAAS;IAE9E,IAAIF,wBAAwBH,QAAQK,MAAM,CAACC,KAAK,CAACL,IAAI,KAAKA,MAAMG,YAAY;QAC1EP,QAAQU,cAAc,GAAGJ,qBAAqBK,MAAM,CAACF,KAAK,GACtD,MAAMH,qBAAqBK,MAAM,CAACF,KAAK,CAAC;YAAEV;QAAI,KAC9CM;IACN,OAAO;QACLL,QAAQU,cAAc,GAAG;IAC3B;IACA,MAAME,6BAA6B,CAAC;IAEpC,MAAMC,QAAQC,GAAG,CACfX,QAAQK,MAAM,CAACP,WAAW,CAACc,GAAG,CAAC,OAAOR;QACpC,MAAMS,uBAAwC;YAAC;YAAU;YAAQ;YAAU;SAAS;QAEpF,IACET,WAAWU,IAAI,IACf,OAAOV,WAAWU,IAAI,CAACC,gBAAgB,KAAK,eAC5CX,WAAWU,IAAI,CAACC,gBAAgB,KAAK,GACrC;YACAF,qBAAqBG,IAAI,CAAC;QAC5B;QAEA,IAAIZ,WAAWa,QAAQ,EAAE;YACvBJ,qBAAqBG,IAAI,CAAC;QAC5B;QAEA,MAAME,wBAAwB,MAAMzB,qBAAqB;YACvDgB;YACAU,QAAQf;YACRgB,YAAY;YACZC,WAAW;YACXC,YAAYT;YACZjB;QACF;QACAC,QAAQC,WAAW,AAAC,CAACM,WAAWmB,IAAI,CAAC,GAAGL;IAC1C;IAGF,MAAMR,QAAQC,GAAG,CACfX,QAAQK,MAAM,CAACN,OAAO,CAACa,GAAG,CAAC,OAAOY;QAChC,MAAMC,mBAAoC;YAAC;YAAQ;SAAS;QAE5D,IAAID,OAAOP,QAAQ,EAAE;YACnBQ,iBAAiBT,IAAI,CAAC;QACxB;QAEA,MAAMU,oBAAoB,MAAMjC,qBAAqB;YACnDgB;YACAU,QAAQK;YACRJ,YAAY;YACZC,WAAW;YACXC,YAAYG;YACZ7B;QACF;QACAC,QAAQE,OAAO,AAAC,CAACyB,OAAOD,IAAI,CAAC,GAAGG;IAClC;IAGF,OAAOhC,oBAAoBG;AAC7B"}
1
+ {"version":3,"sources":["../../src/auth/getAccessResults.ts"],"sourcesContent":["import type { AllOperations, PayloadRequest } from '../types/index.js'\nimport type { Permissions, SanitizedPermissions } from './types.js'\n\nimport { getEntityPermissions } from '../utilities/getEntityPermissions/getEntityPermissions.js'\nimport { sanitizePermissions } from '../utilities/sanitizePermissions.js'\n\ntype GetAccessResultsArgs = {\n req: PayloadRequest\n}\nexport async function getAccessResults({\n req,\n}: GetAccessResultsArgs): Promise<SanitizedPermissions> {\n const results = {\n collections: {},\n globals: {},\n } as Permissions\n const { payload, user } = req\n\n const isLoggedIn = !!user\n const userCollectionConfig =\n user && user.collection ? payload?.collections?.[user.collection]?.config : null\n\n if (userCollectionConfig && payload.config.admin.user === user?.collection) {\n results.canAccessAdmin = userCollectionConfig.access.admin\n ? await userCollectionConfig.access.admin({ slug: userCollectionConfig.slug, req })\n : isLoggedIn\n } else {\n results.canAccessAdmin = false\n }\n const blockReferencesPermissions = {}\n\n await Promise.all(\n payload.config.collections.map(async (collection) => {\n const collectionOperations: AllOperations[] = ['create', 'read', 'update', 'delete']\n\n if (\n collection.auth &&\n typeof collection.auth.maxLoginAttempts !== 'undefined' &&\n collection.auth.maxLoginAttempts !== 0\n ) {\n collectionOperations.push('unlock')\n }\n\n if (collection.versions) {\n collectionOperations.push('readVersions')\n }\n\n const collectionPermissions = await getEntityPermissions({\n blockReferencesPermissions,\n entity: collection,\n entityType: 'collection',\n fetchData: false,\n operations: collectionOperations,\n req,\n })\n results.collections![collection.slug] = collectionPermissions\n }),\n )\n\n await Promise.all(\n payload.config.globals.map(async (global) => {\n const globalOperations: AllOperations[] = ['read', 'update']\n\n if (global.versions) {\n globalOperations.push('readVersions')\n }\n\n const globalPermissions = await getEntityPermissions({\n blockReferencesPermissions,\n entity: global,\n entityType: 'global',\n fetchData: false,\n operations: globalOperations,\n req,\n })\n results.globals![global.slug] = globalPermissions\n }),\n )\n\n return sanitizePermissions(results)\n}\n"],"names":["getEntityPermissions","sanitizePermissions","getAccessResults","req","results","collections","globals","payload","user","isLoggedIn","userCollectionConfig","collection","config","admin","canAccessAdmin","access","slug","blockReferencesPermissions","Promise","all","map","collectionOperations","auth","maxLoginAttempts","push","versions","collectionPermissions","entity","entityType","fetchData","operations","global","globalOperations","globalPermissions"],"mappings":"AAGA,SAASA,oBAAoB,QAAQ,4DAA2D;AAChG,SAASC,mBAAmB,QAAQ,sCAAqC;AAKzE,OAAO,eAAeC,iBAAiB,EACrCC,GAAG,EACkB;IACrB,MAAMC,UAAU;QACdC,aAAa,CAAC;QACdC,SAAS,CAAC;IACZ;IACA,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGL;IAE1B,MAAMM,aAAa,CAAC,CAACD;IACrB,MAAME,uBACJF,QAAQA,KAAKG,UAAU,GAAGJ,SAASF,aAAa,CAACG,KAAKG,UAAU,CAAC,EAAEC,SAAS;IAE9E,IAAIF,wBAAwBH,QAAQK,MAAM,CAACC,KAAK,CAACL,IAAI,KAAKA,MAAMG,YAAY;QAC1EP,QAAQU,cAAc,GAAGJ,qBAAqBK,MAAM,CAACF,KAAK,GACtD,MAAMH,qBAAqBK,MAAM,CAACF,KAAK,CAAC;YAAEG,MAAMN,qBAAqBM,IAAI;YAAEb;QAAI,KAC/EM;IACN,OAAO;QACLL,QAAQU,cAAc,GAAG;IAC3B;IACA,MAAMG,6BAA6B,CAAC;IAEpC,MAAMC,QAAQC,GAAG,CACfZ,QAAQK,MAAM,CAACP,WAAW,CAACe,GAAG,CAAC,OAAOT;QACpC,MAAMU,uBAAwC;YAAC;YAAU;YAAQ;YAAU;SAAS;QAEpF,IACEV,WAAWW,IAAI,IACf,OAAOX,WAAWW,IAAI,CAACC,gBAAgB,KAAK,eAC5CZ,WAAWW,IAAI,CAACC,gBAAgB,KAAK,GACrC;YACAF,qBAAqBG,IAAI,CAAC;QAC5B;QAEA,IAAIb,WAAWc,QAAQ,EAAE;YACvBJ,qBAAqBG,IAAI,CAAC;QAC5B;QAEA,MAAME,wBAAwB,MAAM1B,qBAAqB;YACvDiB;YACAU,QAAQhB;YACRiB,YAAY;YACZC,WAAW;YACXC,YAAYT;YACZlB;QACF;QACAC,QAAQC,WAAW,AAAC,CAACM,WAAWK,IAAI,CAAC,GAAGU;IAC1C;IAGF,MAAMR,QAAQC,GAAG,CACfZ,QAAQK,MAAM,CAACN,OAAO,CAACc,GAAG,CAAC,OAAOW;QAChC,MAAMC,mBAAoC;YAAC;YAAQ;SAAS;QAE5D,IAAID,OAAON,QAAQ,EAAE;YACnBO,iBAAiBR,IAAI,CAAC;QACxB;QAEA,MAAMS,oBAAoB,MAAMjC,qBAAqB;YACnDiB;YACAU,QAAQI;YACRH,YAAY;YACZC,WAAW;YACXC,YAAYE;YACZ7B;QACF;QACAC,QAAQE,OAAO,AAAC,CAACyB,OAAOf,IAAI,CAAC,GAAGiB;IAClC;IAGF,OAAOhC,oBAAoBG;AAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAuthFields.d.ts","sourceRoot":"","sources":["../../src/auth/getAuthFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAUlD,eAAO,MAAM,iBAAiB,GAAI,YAAY,gBAAgB,KAAG,KAAK,EAmDrE,CAAA"}
1
+ {"version":3,"file":"getAuthFields.d.ts","sourceRoot":"","sources":["../../src/auth/getAuthFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAUlD,eAAO,MAAM,iBAAiB,eAAgB,gBAAgB,KAAG,KAAK,EAmDrE,CAAA"}
@@ -4,6 +4,6 @@ export declare const getFieldsToSign: (args: {
4
4
  collectionConfig: CollectionConfig;
5
5
  email: string;
6
6
  sid?: string;
7
- user: PayloadRequest["user"];
7
+ user: PayloadRequest['user'];
8
8
  }) => Record<string, unknown>;
9
9
  //# sourceMappingURL=getFieldsToSign.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFieldsToSign.d.ts","sourceRoot":"","sources":["../../src/auth/getFieldsToSign.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAiHvD,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC7B,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoBzB,CAAA"}
1
+ {"version":3,"file":"getFieldsToSign.d.ts","sourceRoot":"","sources":["../../src/auth/getFieldsToSign.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAiHvD,eAAO,MAAM,eAAe,SAAU;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC7B,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoBzB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { Auth } from './types.js';
2
- export declare const getLoginOptions: (loginWithUsername: Auth["loginWithUsername"]) => {
2
+ export declare const getLoginOptions: (loginWithUsername: Auth['loginWithUsername']) => {
3
3
  canLoginWithEmail: boolean;
4
4
  canLoginWithUsername: boolean;
5
5
  };