payload 4.0.0-internal.fa183d3 → 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 (999) hide show
  1. package/bin.js +14 -10
  2. package/dist/admin/RichText.d.ts +1 -1
  3. package/dist/admin/RichText.d.ts.map +1 -1
  4. package/dist/admin/RichText.js.map +1 -1
  5. package/dist/admin/adapters/devReload.d.ts +13 -0
  6. package/dist/admin/adapters/devReload.d.ts.map +1 -1
  7. package/dist/admin/adapters/devReload.js +14 -1
  8. package/dist/admin/adapters/devReload.js.map +1 -1
  9. package/dist/admin/functions/index.d.ts +11 -9
  10. package/dist/admin/functions/index.d.ts.map +1 -1
  11. package/dist/admin/functions/index.js.map +1 -1
  12. package/dist/admin/types.d.ts +3 -3
  13. package/dist/admin/types.d.ts.map +1 -1
  14. package/dist/admin/types.js.map +1 -1
  15. package/dist/admin/views/index.d.ts +2 -2
  16. package/dist/admin/views/index.d.ts.map +1 -1
  17. package/dist/admin/views/index.js.map +1 -1
  18. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  19. package/dist/auth/baseFields/apiKey.js +16 -1
  20. package/dist/auth/baseFields/apiKey.js.map +1 -1
  21. package/dist/auth/crypto.d.ts +73 -2
  22. package/dist/auth/crypto.d.ts.map +1 -1
  23. package/dist/auth/crypto.js +90 -13
  24. package/dist/auth/crypto.js.map +1 -1
  25. package/dist/auth/endpoints/login.d.ts.map +1 -1
  26. package/dist/auth/endpoints/login.js +2 -11
  27. package/dist/auth/endpoints/login.js.map +1 -1
  28. package/dist/auth/endpoints/refresh.d.ts.map +1 -1
  29. package/dist/auth/endpoints/refresh.js +4 -6
  30. package/dist/auth/endpoints/refresh.js.map +1 -1
  31. package/dist/auth/executeAccess.d.ts +2 -1
  32. package/dist/auth/executeAccess.d.ts.map +1 -1
  33. package/dist/auth/executeAccess.js +2 -1
  34. package/dist/auth/executeAccess.js.map +1 -1
  35. package/dist/auth/getAccessResults.js +1 -0
  36. package/dist/auth/getAccessResults.js.map +1 -1
  37. package/dist/auth/getLoginOptions.js.map +1 -1
  38. package/dist/auth/loginWithCookie.d.ts +33 -0
  39. package/dist/auth/loginWithCookie.d.ts.map +1 -0
  40. package/dist/auth/loginWithCookie.js +34 -0
  41. package/dist/auth/loginWithCookie.js.map +1 -0
  42. package/dist/auth/operations/access.d.ts.map +1 -1
  43. package/dist/auth/operations/access.js +3 -9
  44. package/dist/auth/operations/access.js.map +1 -1
  45. package/dist/auth/operations/auth.d.ts.map +1 -1
  46. package/dist/auth/operations/auth.js +15 -21
  47. package/dist/auth/operations/auth.js.map +1 -1
  48. package/dist/auth/operations/me.d.ts +0 -7
  49. package/dist/auth/operations/me.d.ts.map +1 -1
  50. package/dist/auth/operations/me.js +0 -6
  51. package/dist/auth/operations/me.js.map +1 -1
  52. package/dist/auth/operations/refresh.d.ts +0 -7
  53. package/dist/auth/operations/refresh.d.ts.map +1 -1
  54. package/dist/auth/operations/refresh.js +0 -6
  55. package/dist/auth/operations/refresh.js.map +1 -1
  56. package/dist/auth/operations/unlock.d.ts.map +1 -1
  57. package/dist/auth/operations/unlock.js +1 -0
  58. package/dist/auth/operations/unlock.js.map +1 -1
  59. package/dist/auth/rotateSecret.d.ts +51 -0
  60. package/dist/auth/rotateSecret.d.ts.map +1 -0
  61. package/dist/auth/rotateSecret.js +131 -0
  62. package/dist/auth/rotateSecret.js.map +1 -0
  63. package/dist/auth/serverFunctions/cookies.d.ts +47 -0
  64. package/dist/auth/serverFunctions/cookies.d.ts.map +1 -0
  65. package/dist/auth/serverFunctions/cookies.js +52 -0
  66. package/dist/auth/serverFunctions/cookies.js.map +1 -0
  67. package/dist/auth/serverFunctions/login.d.ts +29 -0
  68. package/dist/auth/serverFunctions/login.d.ts.map +1 -0
  69. package/dist/auth/serverFunctions/login.js +63 -0
  70. package/dist/auth/serverFunctions/login.js.map +1 -0
  71. package/dist/auth/serverFunctions/logout.d.ts +17 -0
  72. package/dist/auth/serverFunctions/logout.d.ts.map +1 -0
  73. package/dist/auth/serverFunctions/logout.js +58 -0
  74. package/dist/auth/serverFunctions/logout.js.map +1 -0
  75. package/dist/auth/serverFunctions/refresh.d.ts +17 -0
  76. package/dist/auth/serverFunctions/refresh.d.ts.map +1 -0
  77. package/dist/auth/serverFunctions/refresh.js +61 -0
  78. package/dist/auth/serverFunctions/refresh.js.map +1 -0
  79. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  80. package/dist/auth/strategies/apiKey.js +5 -3
  81. package/dist/auth/strategies/apiKey.js.map +1 -1
  82. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  83. package/dist/auth/strategies/jwt.js +23 -2
  84. package/dist/auth/strategies/jwt.js.map +1 -1
  85. package/dist/auth/types.d.ts +9 -14
  86. package/dist/auth/types.d.ts.map +1 -1
  87. package/dist/auth/types.js.map +1 -1
  88. package/dist/auth/withBaseAccess.d.ts +22 -0
  89. package/dist/auth/withBaseAccess.d.ts.map +1 -0
  90. package/dist/auth/withBaseAccess.js +61 -0
  91. package/dist/auth/withBaseAccess.js.map +1 -0
  92. package/dist/{bin → cli/commands/build}/build.d.ts +8 -13
  93. package/dist/cli/commands/build/build.d.ts.map +1 -0
  94. package/dist/{bin → cli/commands/build}/build.js +26 -27
  95. package/dist/cli/commands/build/build.js.map +1 -0
  96. package/dist/{bin → cli/commands/build}/build.spec.js +73 -85
  97. package/dist/cli/commands/build/build.spec.js.map +1 -0
  98. package/dist/cli/commands/build/index.d.ts +2 -0
  99. package/dist/cli/commands/build/index.d.ts.map +1 -0
  100. package/dist/cli/commands/build/index.js +26 -0
  101. package/dist/cli/commands/build/index.js.map +1 -0
  102. package/dist/cli/commands/collections/countDocuments.d.ts +2 -0
  103. package/dist/cli/commands/collections/countDocuments.d.ts.map +1 -0
  104. package/dist/cli/commands/collections/countDocuments.js +37 -0
  105. package/dist/cli/commands/collections/countDocuments.js.map +1 -0
  106. package/dist/cli/commands/collections/countVersions.d.ts +2 -0
  107. package/dist/cli/commands/collections/countVersions.d.ts.map +1 -0
  108. package/dist/cli/commands/collections/countVersions.js +36 -0
  109. package/dist/cli/commands/collections/countVersions.js.map +1 -0
  110. package/dist/cli/commands/collections/createDocuments.d.ts +2 -0
  111. package/dist/cli/commands/collections/createDocuments.d.ts.map +1 -0
  112. package/dist/cli/commands/collections/createDocuments.js +130 -0
  113. package/dist/cli/commands/collections/createDocuments.js.map +1 -0
  114. package/dist/cli/commands/collections/deleteDocuments.d.ts +2 -0
  115. package/dist/cli/commands/collections/deleteDocuments.d.ts.map +1 -0
  116. package/dist/cli/commands/collections/deleteDocuments.js +64 -0
  117. package/dist/cli/commands/collections/deleteDocuments.js.map +1 -0
  118. package/dist/cli/commands/collections/duplicateDocument.d.ts +2 -0
  119. package/dist/cli/commands/collections/duplicateDocument.d.ts.map +1 -0
  120. package/dist/cli/commands/collections/duplicateDocument.js +107 -0
  121. package/dist/cli/commands/collections/duplicateDocument.js.map +1 -0
  122. package/dist/cli/commands/collections/findDistinct.d.ts +2 -0
  123. package/dist/cli/commands/collections/findDistinct.d.ts.map +1 -0
  124. package/dist/cli/commands/collections/findDistinct.js +52 -0
  125. package/dist/cli/commands/collections/findDistinct.js.map +1 -0
  126. package/dist/cli/commands/collections/findDocuments.d.ts +2 -0
  127. package/dist/cli/commands/collections/findDocuments.d.ts.map +1 -0
  128. package/dist/cli/commands/collections/findDocuments.js +79 -0
  129. package/dist/cli/commands/collections/findDocuments.js.map +1 -0
  130. package/dist/cli/commands/collections/findVersionByID.d.ts +2 -0
  131. package/dist/cli/commands/collections/findVersionByID.d.ts.map +1 -0
  132. package/dist/cli/commands/collections/findVersionByID.js +48 -0
  133. package/dist/cli/commands/collections/findVersionByID.js.map +1 -0
  134. package/dist/cli/commands/collections/findVersions.d.ts +2 -0
  135. package/dist/cli/commands/collections/findVersions.d.ts.map +1 -0
  136. package/dist/cli/commands/collections/findVersions.js +57 -0
  137. package/dist/cli/commands/collections/findVersions.js.map +1 -0
  138. package/dist/cli/commands/collections/getCollectionSchema.d.ts +2 -0
  139. package/dist/cli/commands/collections/getCollectionSchema.d.ts.map +1 -0
  140. package/dist/cli/commands/collections/getCollectionSchema.js +49 -0
  141. package/dist/cli/commands/collections/getCollectionSchema.js.map +1 -0
  142. package/dist/cli/commands/collections/restoreVersion.d.ts +2 -0
  143. package/dist/cli/commands/collections/restoreVersion.d.ts.map +1 -0
  144. package/dist/cli/commands/collections/restoreVersion.js +47 -0
  145. package/dist/cli/commands/collections/restoreVersion.js.map +1 -0
  146. package/dist/cli/commands/collections/updateDocument.d.ts +2 -0
  147. package/dist/cli/commands/collections/updateDocument.d.ts.map +1 -0
  148. package/dist/cli/commands/collections/updateDocument.js +190 -0
  149. package/dist/cli/commands/collections/updateDocument.js.map +1 -0
  150. package/dist/cli/commands/data/input.d.ts +28 -0
  151. package/dist/cli/commands/data/input.d.ts.map +1 -0
  152. package/dist/cli/commands/data/input.js +76 -0
  153. package/dist/cli/commands/data/input.js.map +1 -0
  154. package/dist/cli/commands/data/utilities.d.ts +65 -0
  155. package/dist/cli/commands/data/utilities.d.ts.map +1 -0
  156. package/dist/cli/commands/data/utilities.js +67 -0
  157. package/dist/cli/commands/data/utilities.js.map +1 -0
  158. package/dist/cli/commands/generateDBSchema.d.ts +2 -0
  159. package/dist/cli/commands/generateDBSchema.d.ts.map +1 -0
  160. package/dist/cli/commands/generateDBSchema.js +29 -0
  161. package/dist/cli/commands/generateDBSchema.js.map +1 -0
  162. package/dist/cli/commands/generateImportMap/frameworkConventions.d.ts.map +1 -0
  163. package/dist/cli/commands/generateImportMap/frameworkConventions.js.map +1 -0
  164. package/dist/{bin/generateImportMap/index.d.ts → cli/commands/generateImportMap/generateImportMap.d.ts} +8 -4
  165. package/dist/cli/commands/generateImportMap/generateImportMap.d.ts.map +1 -0
  166. package/dist/{bin/generateImportMap/index.js → cli/commands/generateImportMap/generateImportMap.js} +9 -4
  167. package/dist/cli/commands/generateImportMap/generateImportMap.js.map +1 -0
  168. package/dist/cli/commands/generateImportMap/generateImportMap.spec.js.map +1 -0
  169. package/dist/cli/commands/generateImportMap/index.d.ts +2 -0
  170. package/dist/cli/commands/generateImportMap/index.d.ts.map +1 -0
  171. package/dist/cli/commands/generateImportMap/index.js +18 -0
  172. package/dist/cli/commands/generateImportMap/index.js.map +1 -0
  173. package/dist/{bin → cli/commands}/generateImportMap/iterateCollections.d.ts +3 -3
  174. package/dist/cli/commands/generateImportMap/iterateCollections.d.ts.map +1 -0
  175. package/dist/cli/commands/generateImportMap/iterateCollections.js.map +1 -0
  176. package/dist/{bin → cli/commands}/generateImportMap/iterateConfig.d.ts +2 -2
  177. package/dist/cli/commands/generateImportMap/iterateConfig.d.ts.map +1 -0
  178. package/dist/{bin → cli/commands}/generateImportMap/iterateConfig.js +1 -1
  179. package/dist/cli/commands/generateImportMap/iterateConfig.js.map +1 -0
  180. package/dist/{bin → cli/commands}/generateImportMap/iterateFields.d.ts +3 -3
  181. package/dist/cli/commands/generateImportMap/iterateFields.d.ts.map +1 -0
  182. package/dist/cli/commands/generateImportMap/iterateFields.js.map +1 -0
  183. package/dist/{bin → cli/commands}/generateImportMap/iterateGlobals.d.ts +3 -3
  184. package/dist/cli/commands/generateImportMap/iterateGlobals.d.ts.map +1 -0
  185. package/dist/cli/commands/generateImportMap/iterateGlobals.js.map +1 -0
  186. package/dist/{bin → cli/commands}/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts +2 -2
  187. package/dist/cli/commands/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts.map +1 -0
  188. package/dist/cli/commands/generateImportMap/utilities/addPayloadComponentToImportMap.js.map +1 -0
  189. package/dist/{bin → cli/commands}/generateImportMap/utilities/getFromImportMap.d.ts +2 -2
  190. package/dist/cli/commands/generateImportMap/utilities/getFromImportMap.d.ts.map +1 -0
  191. package/dist/cli/commands/generateImportMap/utilities/getFromImportMap.js.map +1 -0
  192. package/dist/cli/commands/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts.map +1 -0
  193. package/dist/cli/commands/generateImportMap/utilities/getImportMapToBaseDirPath.js.map +1 -0
  194. package/dist/{bin → cli/commands}/generateImportMap/utilities/parsePayloadComponent.d.ts +1 -1
  195. package/dist/cli/commands/generateImportMap/utilities/parsePayloadComponent.d.ts.map +1 -0
  196. package/dist/cli/commands/generateImportMap/utilities/parsePayloadComponent.js.map +1 -0
  197. package/dist/cli/commands/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +1 -0
  198. package/dist/{bin → cli/commands}/generateImportMap/utilities/resolveImportMapFilePath.js +1 -1
  199. package/dist/cli/commands/generateImportMap/utilities/resolveImportMapFilePath.js.map +1 -0
  200. package/dist/cli/commands/generateTypes.d.ts +12 -0
  201. package/dist/cli/commands/generateTypes.d.ts.map +1 -0
  202. package/dist/{bin → cli/commands}/generateTypes.js +33 -7
  203. package/dist/cli/commands/generateTypes.js.map +1 -0
  204. package/dist/cli/commands/getConfigInfo.d.ts +2 -0
  205. package/dist/cli/commands/getConfigInfo.d.ts.map +1 -0
  206. package/dist/cli/commands/getConfigInfo.js +23 -0
  207. package/dist/cli/commands/getConfigInfo.js.map +1 -0
  208. package/dist/cli/commands/globals/countGlobalVersions.d.ts +2 -0
  209. package/dist/cli/commands/globals/countGlobalVersions.d.ts.map +1 -0
  210. package/dist/cli/commands/globals/countGlobalVersions.js +36 -0
  211. package/dist/cli/commands/globals/countGlobalVersions.js.map +1 -0
  212. package/dist/cli/commands/globals/findGlobal.d.ts +2 -0
  213. package/dist/cli/commands/globals/findGlobal.d.ts.map +1 -0
  214. package/dist/cli/commands/globals/findGlobal.js +42 -0
  215. package/dist/cli/commands/globals/findGlobal.js.map +1 -0
  216. package/dist/cli/commands/globals/findGlobalVersionByID.d.ts +2 -0
  217. package/dist/cli/commands/globals/findGlobalVersionByID.d.ts.map +1 -0
  218. package/dist/cli/commands/globals/findGlobalVersionByID.js +46 -0
  219. package/dist/cli/commands/globals/findGlobalVersionByID.js.map +1 -0
  220. package/dist/cli/commands/globals/findGlobalVersions.d.ts +2 -0
  221. package/dist/cli/commands/globals/findGlobalVersions.d.ts.map +1 -0
  222. package/dist/cli/commands/globals/findGlobalVersions.js +55 -0
  223. package/dist/cli/commands/globals/findGlobalVersions.js.map +1 -0
  224. package/dist/cli/commands/globals/getGlobalSchema.d.ts +2 -0
  225. package/dist/cli/commands/globals/getGlobalSchema.d.ts.map +1 -0
  226. package/dist/cli/commands/globals/getGlobalSchema.js +34 -0
  227. package/dist/cli/commands/globals/getGlobalSchema.js.map +1 -0
  228. package/dist/cli/commands/globals/restoreGlobalVersion.d.ts +2 -0
  229. package/dist/cli/commands/globals/restoreGlobalVersion.d.ts.map +1 -0
  230. package/dist/cli/commands/globals/restoreGlobalVersion.js +46 -0
  231. package/dist/cli/commands/globals/restoreGlobalVersion.js.map +1 -0
  232. package/dist/cli/commands/globals/updateGlobal.d.ts +2 -0
  233. package/dist/cli/commands/globals/updateGlobal.d.ts.map +1 -0
  234. package/dist/cli/commands/globals/updateGlobal.js +93 -0
  235. package/dist/cli/commands/globals/updateGlobal.js.map +1 -0
  236. package/dist/cli/commands/help.d.ts +2 -0
  237. package/dist/cli/commands/help.d.ts.map +1 -0
  238. package/dist/cli/commands/help.js +42 -0
  239. package/dist/cli/commands/help.js.map +1 -0
  240. package/dist/cli/commands/info.d.ts +2 -0
  241. package/dist/cli/commands/info.d.ts.map +1 -0
  242. package/dist/cli/commands/info.js +78 -0
  243. package/dist/cli/commands/info.js.map +1 -0
  244. package/dist/cli/commands/jobs/handleSchedules.d.ts +2 -0
  245. package/dist/cli/commands/jobs/handleSchedules.d.ts.map +1 -0
  246. package/dist/cli/commands/jobs/handleSchedules.js +17 -0
  247. package/dist/cli/commands/jobs/handleSchedules.js.map +1 -0
  248. package/dist/cli/commands/jobs/run.d.ts +2 -0
  249. package/dist/cli/commands/jobs/run.d.ts.map +1 -0
  250. package/dist/cli/commands/jobs/run.js +29 -0
  251. package/dist/cli/commands/jobs/run.js.map +1 -0
  252. package/dist/cli/commands/migrate/create.d.ts +2 -0
  253. package/dist/cli/commands/migrate/create.d.ts.map +1 -0
  254. package/dist/cli/commands/migrate/create.js +44 -0
  255. package/dist/cli/commands/migrate/create.js.map +1 -0
  256. package/dist/cli/commands/migrate/down.d.ts +2 -0
  257. package/dist/cli/commands/migrate/down.d.ts.map +1 -0
  258. package/dist/cli/commands/migrate/down.js +22 -0
  259. package/dist/cli/commands/migrate/down.js.map +1 -0
  260. package/dist/cli/commands/migrate/fresh.d.ts +2 -0
  261. package/dist/cli/commands/migrate/fresh.d.ts.map +1 -0
  262. package/dist/cli/commands/migrate/fresh.js +28 -0
  263. package/dist/cli/commands/migrate/fresh.js.map +1 -0
  264. package/dist/cli/commands/migrate/initialize.d.ts +11 -0
  265. package/dist/cli/commands/migrate/initialize.d.ts.map +1 -0
  266. package/dist/cli/commands/migrate/initialize.js +17 -0
  267. package/dist/cli/commands/migrate/initialize.js.map +1 -0
  268. package/dist/cli/commands/migrate/refresh.d.ts +2 -0
  269. package/dist/cli/commands/migrate/refresh.d.ts.map +1 -0
  270. package/dist/cli/commands/migrate/refresh.js +22 -0
  271. package/dist/cli/commands/migrate/refresh.js.map +1 -0
  272. package/dist/cli/commands/migrate/reset.d.ts +2 -0
  273. package/dist/cli/commands/migrate/reset.d.ts.map +1 -0
  274. package/dist/cli/commands/migrate/reset.js +22 -0
  275. package/dist/cli/commands/migrate/reset.js.map +1 -0
  276. package/dist/cli/commands/migrate/run.d.ts +2 -0
  277. package/dist/cli/commands/migrate/run.d.ts.map +1 -0
  278. package/dist/cli/commands/migrate/run.js +28 -0
  279. package/dist/cli/commands/migrate/run.js.map +1 -0
  280. package/dist/cli/commands/migrate/status.d.ts +2 -0
  281. package/dist/cli/commands/migrate/status.d.ts.map +1 -0
  282. package/dist/cli/commands/migrate/status.js +22 -0
  283. package/dist/cli/commands/migrate/status.js.map +1 -0
  284. package/dist/cli/commands/run.d.ts +2 -0
  285. package/dist/cli/commands/run.d.ts.map +1 -0
  286. package/dist/cli/commands/run.js +45 -0
  287. package/dist/cli/commands/run.js.map +1 -0
  288. package/dist/cli/defineCLICommand.d.ts +32 -0
  289. package/dist/cli/defineCLICommand.d.ts.map +1 -0
  290. package/dist/cli/defineCLICommand.js +26 -0
  291. package/dist/cli/defineCLICommand.js.map +1 -0
  292. package/dist/cli/index.d.ts +7 -0
  293. package/dist/cli/index.d.ts.map +1 -0
  294. package/dist/cli/index.js +95 -0
  295. package/dist/cli/index.js.map +1 -0
  296. package/dist/cli/index.spec.js +402 -0
  297. package/dist/cli/index.spec.js.map +1 -0
  298. package/dist/cli/program/createHelp.d.ts +8 -0
  299. package/dist/cli/program/createHelp.d.ts.map +1 -0
  300. package/dist/cli/program/createHelp.js +26 -0
  301. package/dist/cli/program/createHelp.js.map +1 -0
  302. package/dist/cli/program/loadCommands.d.ts +12 -0
  303. package/dist/cli/program/loadCommands.d.ts.map +1 -0
  304. package/dist/cli/program/loadCommands.js +62 -0
  305. package/dist/cli/program/loadCommands.js.map +1 -0
  306. package/dist/cli/program/normalizeHelpArguments.d.ts +12 -0
  307. package/dist/cli/program/normalizeHelpArguments.d.ts.map +1 -0
  308. package/dist/cli/program/normalizeHelpArguments.js +34 -0
  309. package/dist/cli/program/normalizeHelpArguments.js.map +1 -0
  310. package/dist/cli/program/registerCommand.d.ts +10 -0
  311. package/dist/cli/program/registerCommand.d.ts.map +1 -0
  312. package/dist/cli/program/registerCommand.js +185 -0
  313. package/dist/cli/program/registerCommand.js.map +1 -0
  314. package/dist/cli/runtime/createRuntime.d.ts +9 -0
  315. package/dist/cli/runtime/createRuntime.d.ts.map +1 -0
  316. package/dist/cli/runtime/createRuntime.js +81 -0
  317. package/dist/cli/runtime/createRuntime.js.map +1 -0
  318. package/dist/cli/runtime/getCommandInput.d.ts +17 -0
  319. package/dist/cli/runtime/getCommandInput.d.ts.map +1 -0
  320. package/dist/cli/runtime/getCommandInput.js +86 -0
  321. package/dist/cli/runtime/getCommandInput.js.map +1 -0
  322. package/dist/cli/runtime/getCommandInput.spec.js +74 -0
  323. package/dist/cli/runtime/getCommandInput.spec.js.map +1 -0
  324. package/dist/cli/runtime/invokeCommand.d.ts +23 -0
  325. package/dist/cli/runtime/invokeCommand.d.ts.map +1 -0
  326. package/dist/cli/runtime/invokeCommand.js +107 -0
  327. package/dist/cli/runtime/invokeCommand.js.map +1 -0
  328. package/dist/cli/runtime/loadEnv.d.ts.map +1 -0
  329. package/dist/{bin → cli/runtime}/loadEnv.js +1 -1
  330. package/dist/cli/runtime/loadEnv.js.map +1 -0
  331. package/dist/cli/runtime/output.d.ts +50 -0
  332. package/dist/cli/runtime/output.d.ts.map +1 -0
  333. package/dist/cli/runtime/output.js +125 -0
  334. package/dist/cli/runtime/output.js.map +1 -0
  335. package/dist/cli/runtime/redirectOutputToStderr.d.ts +8 -0
  336. package/dist/cli/runtime/redirectOutputToStderr.d.ts.map +1 -0
  337. package/dist/cli/runtime/redirectOutputToStderr.js +31 -0
  338. package/dist/cli/runtime/redirectOutputToStderr.js.map +1 -0
  339. package/dist/collections/config/client.d.ts +9 -3
  340. package/dist/collections/config/client.d.ts.map +1 -1
  341. package/dist/collections/config/client.js +6 -1
  342. package/dist/collections/config/client.js.map +1 -1
  343. package/dist/collections/config/defaults.d.ts +4 -4
  344. package/dist/collections/config/defaults.d.ts.map +1 -1
  345. package/dist/collections/config/defaults.js +37 -32
  346. package/dist/collections/config/defaults.js.map +1 -1
  347. package/dist/collections/config/sanitize.d.ts +4 -8
  348. package/dist/collections/config/sanitize.d.ts.map +1 -1
  349. package/dist/collections/config/sanitize.js +31 -21
  350. package/dist/collections/config/sanitize.js.map +1 -1
  351. package/dist/collections/config/sanitize.spec.js +363 -1
  352. package/dist/collections/config/sanitize.spec.js.map +1 -1
  353. package/dist/collections/config/types.d.ts +54 -49
  354. package/dist/collections/config/types.d.ts.map +1 -1
  355. package/dist/collections/config/types.js.map +1 -1
  356. package/dist/collections/config/useAsTitle.spec.js +27 -27
  357. package/dist/collections/config/useAsTitle.spec.js.map +1 -1
  358. package/dist/collections/operations/count.d.ts.map +1 -1
  359. package/dist/collections/operations/count.js +65 -70
  360. package/dist/collections/operations/count.js.map +1 -1
  361. package/dist/collections/operations/countVersions.d.ts.map +1 -1
  362. package/dist/collections/operations/countVersions.js +61 -66
  363. package/dist/collections/operations/countVersions.js.map +1 -1
  364. package/dist/collections/operations/create.d.ts.map +1 -1
  365. package/dist/collections/operations/create.js +22 -0
  366. package/dist/collections/operations/create.js.map +1 -1
  367. package/dist/collections/operations/delete.d.ts.map +1 -1
  368. package/dist/collections/operations/delete.js +215 -129
  369. package/dist/collections/operations/delete.js.map +1 -1
  370. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  371. package/dist/collections/operations/deleteByID.js +1 -0
  372. package/dist/collections/operations/deleteByID.js.map +1 -1
  373. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  374. package/dist/collections/operations/docAccess.js +19 -25
  375. package/dist/collections/operations/docAccess.js.map +1 -1
  376. package/dist/collections/operations/find.d.ts.map +1 -1
  377. package/dist/collections/operations/find.js +248 -246
  378. package/dist/collections/operations/find.js.map +1 -1
  379. package/dist/collections/operations/findByID.d.ts.map +1 -1
  380. package/dist/collections/operations/findByID.js +215 -220
  381. package/dist/collections/operations/findByID.js.map +1 -1
  382. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  383. package/dist/collections/operations/findDistinct.js +161 -159
  384. package/dist/collections/operations/findDistinct.js.map +1 -1
  385. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  386. package/dist/collections/operations/findVersionByID.js +131 -136
  387. package/dist/collections/operations/findVersionByID.js.map +1 -1
  388. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  389. package/dist/collections/operations/findVersions.js +152 -149
  390. package/dist/collections/operations/findVersions.js.map +1 -1
  391. package/dist/collections/operations/inputSchemas.d.ts +877 -0
  392. package/dist/collections/operations/inputSchemas.d.ts.map +1 -0
  393. package/dist/collections/operations/inputSchemas.js +217 -0
  394. package/dist/collections/operations/inputSchemas.js.map +1 -0
  395. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  396. package/dist/collections/operations/restoreVersion.js +8 -4
  397. package/dist/collections/operations/restoreVersion.js.map +1 -1
  398. package/dist/collections/operations/update.d.ts.map +1 -1
  399. package/dist/collections/operations/update.js +20 -1
  400. package/dist/collections/operations/update.js.map +1 -1
  401. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  402. package/dist/collections/operations/updateByID.js +13 -0
  403. package/dist/collections/operations/updateByID.js.map +1 -1
  404. package/dist/config/build.js +1 -1
  405. package/dist/config/build.js.map +1 -1
  406. package/dist/config/client.d.ts +2 -2
  407. package/dist/config/client.d.ts.map +1 -1
  408. package/dist/config/client.js +2 -1
  409. package/dist/config/client.js.map +1 -1
  410. package/dist/config/client.spec.js +20 -0
  411. package/dist/config/client.spec.js.map +1 -0
  412. package/dist/config/defaults.d.ts.map +1 -1
  413. package/dist/config/defaults.js +95 -42
  414. package/dist/config/defaults.js.map +1 -1
  415. package/dist/config/orderable/index.d.ts +1 -1
  416. package/dist/config/orderable/index.d.ts.map +1 -1
  417. package/dist/config/orderable/index.js +3 -2
  418. package/dist/config/orderable/index.js.map +1 -1
  419. package/dist/config/sanitize.d.ts +1 -1
  420. package/dist/config/sanitize.d.ts.map +1 -1
  421. package/dist/config/sanitize.js +42 -32
  422. package/dist/config/sanitize.js.map +1 -1
  423. package/dist/config/sanitize.spec.js +105 -0
  424. package/dist/config/sanitize.spec.js.map +1 -0
  425. package/dist/config/types.d.ts +495 -422
  426. package/dist/config/types.d.ts.map +1 -1
  427. package/dist/config/types.js.map +1 -1
  428. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  429. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  430. package/dist/database/createDatabaseAdapter.js +0 -2
  431. package/dist/database/createDatabaseAdapter.js.map +1 -1
  432. package/dist/database/isNestedRelationshipQuery.d.ts +14 -0
  433. package/dist/database/isNestedRelationshipQuery.d.ts.map +1 -0
  434. package/dist/database/isNestedRelationshipQuery.js +19 -0
  435. package/dist/database/isNestedRelationshipQuery.js.map +1 -0
  436. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  437. package/dist/database/migrations/createMigration.js +4 -0
  438. package/dist/database/migrations/createMigration.js.map +1 -1
  439. package/dist/database/migrations/getPredefinedMigration.js +2 -2
  440. package/dist/database/migrations/getPredefinedMigration.js.map +1 -1
  441. package/dist/database/migrations/migrate.d.ts.map +1 -1
  442. package/dist/database/migrations/migrate.js +9 -0
  443. package/dist/database/migrations/migrate.js.map +1 -1
  444. package/dist/database/migrations/migrateDown.d.ts +2 -2
  445. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  446. package/dist/database/migrations/migrateDown.js +12 -2
  447. package/dist/database/migrations/migrateDown.js.map +1 -1
  448. package/dist/database/migrations/migrateRefresh.d.ts +2 -2
  449. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  450. package/dist/database/migrations/migrateRefresh.js +10 -2
  451. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  452. package/dist/database/migrations/migrateReset.d.ts +2 -2
  453. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  454. package/dist/database/migrations/migrateReset.js +11 -1
  455. package/dist/database/migrations/migrateReset.js.map +1 -1
  456. package/dist/database/migrations/migrateStatus.d.ts +2 -2
  457. package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
  458. package/dist/database/migrations/migrateStatus.js +11 -6
  459. package/dist/database/migrations/migrateStatus.js.map +1 -1
  460. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  461. package/dist/database/queryValidation/validateQueryPaths.js +8 -1
  462. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  463. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  464. package/dist/database/queryValidation/validateSearchParams.js +21 -4
  465. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  466. package/dist/database/queryValidation/validateSortQuery.d.ts +23 -0
  467. package/dist/database/queryValidation/validateSortQuery.d.ts.map +1 -0
  468. package/dist/database/queryValidation/validateSortQuery.js +54 -0
  469. package/dist/database/queryValidation/validateSortQuery.js.map +1 -0
  470. package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
  471. package/dist/database/sanitizeJoinQuery.js +7 -0
  472. package/dist/database/sanitizeJoinQuery.js.map +1 -1
  473. package/dist/database/sanitizeWhereQuery.d.ts +1 -1
  474. package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
  475. package/dist/database/sanitizeWhereQuery.js +44 -1
  476. package/dist/database/sanitizeWhereQuery.js.map +1 -1
  477. package/dist/database/types.d.ts +36 -8
  478. package/dist/database/types.d.ts.map +1 -1
  479. package/dist/database/types.js.map +1 -1
  480. package/dist/duplicateDocument/index.js +1 -0
  481. package/dist/duplicateDocument/index.js.map +1 -1
  482. package/dist/exports/auth.d.ts +5 -0
  483. package/dist/exports/auth.d.ts.map +1 -0
  484. package/dist/exports/auth.js +6 -0
  485. package/dist/exports/auth.js.map +1 -0
  486. package/dist/exports/cli.d.ts +4 -0
  487. package/dist/exports/cli.d.ts.map +1 -0
  488. package/dist/exports/cli.js +4 -0
  489. package/dist/exports/cli.js.map +1 -0
  490. package/dist/exports/cliBuiltin.d.ts +37 -0
  491. package/dist/exports/cliBuiltin.d.ts.map +1 -0
  492. package/dist/exports/cliBuiltin.js +38 -0
  493. package/dist/exports/cliBuiltin.js.map +1 -0
  494. package/dist/exports/internal.d.ts +7 -1
  495. package/dist/exports/internal.d.ts.map +1 -1
  496. package/dist/exports/internal.js +6 -1
  497. package/dist/exports/internal.js.map +1 -1
  498. package/dist/exports/node.d.ts +2 -2
  499. package/dist/exports/node.d.ts.map +1 -1
  500. package/dist/exports/node.js +2 -2
  501. package/dist/exports/node.js.map +1 -1
  502. package/dist/exports/shared.d.ts +5 -3
  503. package/dist/exports/shared.d.ts.map +1 -1
  504. package/dist/exports/shared.js +4 -3
  505. package/dist/exports/shared.js.map +1 -1
  506. package/dist/fields/baseFields/slug/duplicateContext.d.ts +11 -0
  507. package/dist/fields/baseFields/slug/duplicateContext.d.ts.map +1 -0
  508. package/dist/fields/baseFields/slug/duplicateContext.js +21 -0
  509. package/dist/fields/baseFields/slug/duplicateContext.js.map +1 -0
  510. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.d.ts +23 -0
  511. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.d.ts.map +1 -0
  512. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.js +65 -0
  513. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.js.map +1 -0
  514. package/dist/fields/baseFields/slug/generateSlug.d.ts +13 -8
  515. package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
  516. package/dist/fields/baseFields/slug/generateSlug.js +102 -45
  517. package/dist/fields/baseFields/slug/generateSlug.js.map +1 -1
  518. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.d.ts +18 -0
  519. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.d.ts.map +1 -0
  520. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.js +20 -0
  521. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.js.map +1 -0
  522. package/dist/fields/baseFields/slug/getSlugFallbackValue.d.ts +23 -0
  523. package/dist/fields/baseFields/slug/getSlugFallbackValue.d.ts.map +1 -0
  524. package/dist/fields/baseFields/slug/getSlugFallbackValue.js +24 -0
  525. package/dist/fields/baseFields/slug/getSlugFallbackValue.js.map +1 -0
  526. package/dist/fields/baseFields/slug/hasValue.d.ts +3 -0
  527. package/dist/fields/baseFields/slug/hasValue.d.ts.map +1 -0
  528. package/dist/fields/baseFields/slug/hasValue.js +3 -0
  529. package/dist/fields/baseFields/slug/hasValue.js.map +1 -0
  530. package/dist/fields/config/client.d.ts +1 -1
  531. package/dist/fields/config/client.d.ts.map +1 -1
  532. package/dist/fields/config/client.js +1 -1
  533. package/dist/fields/config/client.js.map +1 -1
  534. package/dist/fields/config/reservedFieldNames.spec.js +18 -18
  535. package/dist/fields/config/reservedFieldNames.spec.js.map +1 -1
  536. package/dist/fields/config/sanitize.d.ts +6 -6
  537. package/dist/fields/config/sanitize.d.ts.map +1 -1
  538. package/dist/fields/config/sanitize.js +32 -22
  539. package/dist/fields/config/sanitize.js.map +1 -1
  540. package/dist/fields/config/sanitize.spec.js +105 -105
  541. package/dist/fields/config/sanitize.spec.js.map +1 -1
  542. package/dist/fields/config/types.d.ts +4 -3
  543. package/dist/fields/config/types.d.ts.map +1 -1
  544. package/dist/fields/config/types.js +1 -1
  545. package/dist/fields/config/types.js.map +1 -1
  546. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  547. package/dist/fields/hooks/beforeChange/promise.js +1 -0
  548. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  549. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  550. package/dist/fields/hooks/beforeValidate/traverseFields.js +2 -0
  551. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  552. package/dist/fields/validations.d.ts.map +1 -1
  553. package/dist/fields/validations.js +7 -8
  554. package/dist/fields/validations.js.map +1 -1
  555. package/dist/fields/validations.spec.js +61 -37
  556. package/dist/fields/validations.spec.js.map +1 -1
  557. package/dist/globals/config/client.d.ts +1 -1
  558. package/dist/globals/config/client.d.ts.map +1 -1
  559. package/dist/globals/config/client.js.map +1 -1
  560. package/dist/globals/config/sanitize.d.ts +3 -7
  561. package/dist/globals/config/sanitize.d.ts.map +1 -1
  562. package/dist/globals/config/sanitize.js +26 -6
  563. package/dist/globals/config/sanitize.js.map +1 -1
  564. package/dist/globals/config/sanitize.spec.js +227 -8
  565. package/dist/globals/config/sanitize.spec.js.map +1 -1
  566. package/dist/globals/config/types.d.ts +21 -16
  567. package/dist/globals/config/types.d.ts.map +1 -1
  568. package/dist/globals/config/types.js.map +1 -1
  569. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
  570. package/dist/globals/operations/countGlobalVersions.js +51 -55
  571. package/dist/globals/operations/countGlobalVersions.js.map +1 -1
  572. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  573. package/dist/globals/operations/docAccess.js +19 -25
  574. package/dist/globals/operations/docAccess.js.map +1 -1
  575. package/dist/globals/operations/findOne.d.ts.map +1 -1
  576. package/dist/globals/operations/findOne.js +169 -174
  577. package/dist/globals/operations/findOne.js.map +1 -1
  578. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  579. package/dist/globals/operations/findVersionByID.js +104 -109
  580. package/dist/globals/operations/findVersionByID.js.map +1 -1
  581. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  582. package/dist/globals/operations/findVersions.js +112 -109
  583. package/dist/globals/operations/findVersions.js.map +1 -1
  584. package/dist/globals/operations/inputSchemas.d.ts +365 -0
  585. package/dist/globals/operations/inputSchemas.d.ts.map +1 -0
  586. package/dist/globals/operations/inputSchemas.js +104 -0
  587. package/dist/globals/operations/inputSchemas.js.map +1 -0
  588. package/dist/globals/operations/restoreVersion.js +1 -0
  589. package/dist/globals/operations/restoreVersion.js.map +1 -1
  590. package/dist/globals/operations/update.d.ts.map +1 -1
  591. package/dist/globals/operations/update.js +1 -0
  592. package/dist/globals/operations/update.js.map +1 -1
  593. package/dist/hierarchy/addHierarchyToCollection.js +2 -0
  594. package/dist/hierarchy/addHierarchyToCollection.js.map +1 -1
  595. package/dist/index.bundled.d.ts +5837 -4141
  596. package/dist/index.d.ts +97 -38
  597. package/dist/index.d.ts.map +1 -1
  598. package/dist/index.js +84 -63
  599. package/dist/index.js.map +1 -1
  600. package/dist/query-presets/constraints.js +1 -1
  601. package/dist/query-presets/constraints.js.map +1 -1
  602. package/dist/queues/config/collection.d.ts.map +1 -1
  603. package/dist/queues/config/collection.js +43 -43
  604. package/dist/queues/config/collection.js.map +1 -1
  605. package/dist/queues/config/global.d.ts +5 -6
  606. package/dist/queues/config/global.d.ts.map +1 -1
  607. package/dist/queues/config/global.js +1 -1
  608. package/dist/queues/config/global.js.map +1 -1
  609. package/dist/queues/config/types/index.d.ts +31 -24
  610. package/dist/queues/config/types/index.d.ts.map +1 -1
  611. package/dist/queues/config/types/index.js.map +1 -1
  612. package/dist/queues/config/types/taskTypes.d.ts +4 -7
  613. package/dist/queues/config/types/taskTypes.d.ts.map +1 -1
  614. package/dist/queues/config/types/taskTypes.js.map +1 -1
  615. package/dist/queues/config/types/workflowJSONTypes.d.ts +10 -9
  616. package/dist/queues/config/types/workflowJSONTypes.d.ts.map +1 -1
  617. package/dist/queues/config/types/workflowJSONTypes.js.map +1 -1
  618. package/dist/queues/config/types/workflowTypes.d.ts +11 -58
  619. package/dist/queues/config/types/workflowTypes.d.ts.map +1 -1
  620. package/dist/queues/config/types/workflowTypes.js.map +1 -1
  621. package/dist/queues/endpoints/handleSchedules.d.ts.map +1 -1
  622. package/dist/queues/endpoints/handleSchedules.js +3 -2
  623. package/dist/queues/endpoints/handleSchedules.js.map +1 -1
  624. package/dist/queues/endpoints/run.d.ts.map +1 -1
  625. package/dist/queues/endpoints/run.js +2 -1
  626. package/dist/queues/endpoints/run.js.map +1 -1
  627. package/dist/queues/errors/handleTaskError.js +4 -4
  628. package/dist/queues/errors/handleTaskError.js.map +1 -1
  629. package/dist/queues/errors/handleWorkflowError.js +1 -1
  630. package/dist/queues/errors/handleWorkflowError.js.map +1 -1
  631. package/dist/queues/errors/index.d.ts +6 -0
  632. package/dist/queues/errors/index.d.ts.map +1 -1
  633. package/dist/queues/errors/index.js +5 -0
  634. package/dist/queues/errors/index.js.map +1 -1
  635. package/dist/queues/localAPI.d.ts +4 -4
  636. package/dist/queues/localAPI.d.ts.map +1 -1
  637. package/dist/queues/localAPI.js +63 -66
  638. package/dist/queues/localAPI.js.map +1 -1
  639. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts +4 -4
  640. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts.map +1 -1
  641. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.js.map +1 -1
  642. package/dist/queues/operations/handleSchedules/index.d.ts +1 -1
  643. package/dist/queues/operations/handleSchedules/index.d.ts.map +1 -1
  644. package/dist/queues/operations/handleSchedules/index.js +1 -1
  645. package/dist/queues/operations/handleSchedules/index.js.map +1 -1
  646. package/dist/queues/operations/runJobs/heartbeat.d.ts +13 -0
  647. package/dist/queues/operations/runJobs/heartbeat.d.ts.map +1 -0
  648. package/dist/queues/operations/runJobs/heartbeat.js +66 -0
  649. package/dist/queues/operations/runJobs/heartbeat.js.map +1 -0
  650. package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
  651. package/dist/queues/operations/runJobs/index.js +133 -84
  652. package/dist/queues/operations/runJobs/index.js.map +1 -1
  653. package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
  654. package/dist/queues/operations/runJobs/runJSONJob/index.js +6 -3
  655. package/dist/queues/operations/runJobs/runJSONJob/index.js.map +1 -1
  656. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +5 -5
  657. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
  658. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts +2 -1
  659. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts.map +1 -1
  660. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js +39 -8
  661. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js.map +1 -1
  662. package/dist/queues/operations/runJobs/runJob/importHandlerPath.js.map +1 -1
  663. package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
  664. package/dist/queues/operations/runJobs/runJob/index.js +4 -4
  665. package/dist/queues/operations/runJobs/runJob/index.js.map +1 -1
  666. package/dist/queues/utilities/updateJob.d.ts.map +1 -1
  667. package/dist/queues/utilities/updateJob.js +3 -0
  668. package/dist/queues/utilities/updateJob.js.map +1 -1
  669. package/dist/types/constants.d.ts +21 -0
  670. package/dist/types/constants.d.ts.map +1 -1
  671. package/dist/types/constants.js +23 -0
  672. package/dist/types/constants.js.map +1 -1
  673. package/dist/types/index.d.ts +4 -7
  674. package/dist/types/index.d.ts.map +1 -1
  675. package/dist/types/index.js.map +1 -1
  676. package/dist/uploads/checkFileAccess.js +1 -0
  677. package/dist/uploads/checkFileAccess.js.map +1 -1
  678. package/dist/uploads/checkFileRestrictions.d.ts +1 -1
  679. package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
  680. package/dist/uploads/checkFileRestrictions.js +15 -1
  681. package/dist/uploads/checkFileRestrictions.js.map +1 -1
  682. package/dist/uploads/cropImage.d.ts +1 -1
  683. package/dist/uploads/cropImage.d.ts.map +1 -1
  684. package/dist/uploads/cropImage.js +2 -5
  685. package/dist/uploads/cropImage.js.map +1 -1
  686. package/dist/uploads/cropImage.spec.js +71 -0
  687. package/dist/uploads/cropImage.spec.js.map +1 -0
  688. package/dist/uploads/downloadFileToBuffer.d.ts +11 -0
  689. package/dist/uploads/downloadFileToBuffer.d.ts.map +1 -0
  690. package/dist/uploads/downloadFileToBuffer.js +41 -0
  691. package/dist/uploads/downloadFileToBuffer.js.map +1 -0
  692. package/dist/uploads/endpoints/index.js +2 -2
  693. package/dist/uploads/endpoints/index.js.map +1 -1
  694. package/dist/uploads/endpoints/pasteURL.d.ts +3 -0
  695. package/dist/uploads/endpoints/pasteURL.d.ts.map +1 -0
  696. package/dist/uploads/endpoints/{getFileFromURL.js → pasteURL.js} +19 -55
  697. package/dist/uploads/endpoints/pasteURL.js.map +1 -0
  698. package/dist/uploads/endpoints/uploadInstructions.d.ts +15 -0
  699. package/dist/uploads/endpoints/uploadInstructions.d.ts.map +1 -0
  700. package/dist/uploads/endpoints/uploadInstructions.js +84 -0
  701. package/dist/uploads/endpoints/uploadInstructions.js.map +1 -0
  702. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.js +1 -2
  703. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  704. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.spec.js +28 -0
  705. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.spec.js.map +1 -1
  706. package/dist/uploads/fetchWithRedirects.d.ts +17 -0
  707. package/dist/uploads/fetchWithRedirects.d.ts.map +1 -0
  708. package/dist/uploads/fetchWithRedirects.js +39 -0
  709. package/dist/uploads/fetchWithRedirects.js.map +1 -0
  710. package/dist/uploads/generateFileData.d.ts +9 -0
  711. package/dist/uploads/generateFileData.d.ts.map +1 -1
  712. package/dist/uploads/generateFileData.js +62 -48
  713. package/dist/uploads/generateFileData.js.map +1 -1
  714. package/dist/uploads/generateFileData.spec.js +207 -0
  715. package/dist/uploads/generateFileData.spec.js.map +1 -0
  716. package/dist/uploads/generateFileData.tempFileBuffering.spec.js +81 -0
  717. package/dist/uploads/generateFileData.tempFileBuffering.spec.js.map +1 -0
  718. package/dist/uploads/getFileContentRequirement.d.ts +32 -0
  719. package/dist/uploads/getFileContentRequirement.d.ts.map +1 -0
  720. package/dist/uploads/getFileContentRequirement.js +40 -0
  721. package/dist/uploads/getFileContentRequirement.js.map +1 -0
  722. package/dist/uploads/getFileContentRequirement.spec.js +125 -0
  723. package/dist/uploads/getFileContentRequirement.spec.js.map +1 -0
  724. package/dist/uploads/getFileFromUploadInstructions.d.ts +8 -0
  725. package/dist/uploads/getFileFromUploadInstructions.d.ts.map +1 -0
  726. package/dist/uploads/getFileFromUploadInstructions.js +232 -0
  727. package/dist/uploads/getFileFromUploadInstructions.js.map +1 -0
  728. package/dist/uploads/getFileFromUploadInstructions.spec.js +387 -0
  729. package/dist/uploads/getFileFromUploadInstructions.spec.js.map +1 -0
  730. package/dist/uploads/getImageSize.d.ts +12 -1
  731. package/dist/uploads/getImageSize.d.ts.map +1 -1
  732. package/dist/uploads/getImageSize.js +20 -18
  733. package/dist/uploads/getImageSize.js.map +1 -1
  734. package/dist/uploads/getImageSize.spec.js +298 -0
  735. package/dist/uploads/getImageSize.spec.js.map +1 -0
  736. package/dist/uploads/image-resizing/createImageSizes.d.ts.map +1 -1
  737. package/dist/uploads/image-resizing/createImageSizes.js +2 -5
  738. package/dist/uploads/image-resizing/createImageSizes.js.map +1 -1
  739. package/dist/uploads/image-resizing/createImageSizes.spec.js +80 -0
  740. package/dist/uploads/image-resizing/createImageSizes.spec.js.map +1 -0
  741. package/dist/uploads/isAnimatedImage.d.ts +8 -0
  742. package/dist/uploads/isAnimatedImage.d.ts.map +1 -0
  743. package/dist/uploads/isAnimatedImage.js +22 -0
  744. package/dist/uploads/isAnimatedImage.js.map +1 -0
  745. package/dist/uploads/isAnimatedImage.spec.js +19 -0
  746. package/dist/uploads/isAnimatedImage.spec.js.map +1 -0
  747. package/dist/uploads/probeImageSize.d.ts +39 -0
  748. package/dist/uploads/probeImageSize.d.ts.map +1 -0
  749. package/dist/uploads/probeImageSize.js +374 -0
  750. package/dist/uploads/probeImageSize.js.map +1 -0
  751. package/dist/uploads/probeImageSize.spec.js +366 -0
  752. package/dist/uploads/probeImageSize.spec.js.map +1 -0
  753. package/dist/uploads/resolveURLUploadInput.d.ts +25 -0
  754. package/dist/uploads/resolveURLUploadInput.d.ts.map +1 -0
  755. package/dist/uploads/resolveURLUploadInput.js +53 -0
  756. package/dist/uploads/resolveURLUploadInput.js.map +1 -0
  757. package/dist/uploads/stagedUpload.d.ts +27 -0
  758. package/dist/uploads/stagedUpload.d.ts.map +1 -0
  759. package/dist/uploads/stagedUpload.js +197 -0
  760. package/dist/uploads/stagedUpload.js.map +1 -0
  761. package/dist/uploads/types.d.ts +91 -7
  762. package/dist/uploads/types.d.ts.map +1 -1
  763. package/dist/uploads/types.js.map +1 -1
  764. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  765. package/dist/uploads/unlinkTempFiles.js +6 -2
  766. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  767. package/dist/uploads/unlinkTempFiles.spec.js +71 -0
  768. package/dist/uploads/unlinkTempFiles.spec.js.map +1 -0
  769. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  770. package/dist/uploads/uploadFiles.js +7 -2
  771. package/dist/uploads/uploadFiles.js.map +1 -1
  772. package/dist/uploads/uploadFiles.spec.js +44 -0
  773. package/dist/uploads/uploadFiles.spec.js.map +1 -0
  774. package/dist/uploads/validateUploadURL.d.ts +13 -0
  775. package/dist/uploads/validateUploadURL.d.ts.map +1 -0
  776. package/dist/uploads/validateUploadURL.js +37 -0
  777. package/dist/uploads/validateUploadURL.js.map +1 -0
  778. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  779. package/dist/utilities/addDataAndFileToRequest.js +12 -45
  780. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  781. package/dist/utilities/appendNonTrashedFilter.d.ts +1 -1
  782. package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
  783. package/dist/utilities/appendNonTrashedFilter.js.map +1 -1
  784. package/dist/utilities/canAccessAdmin.js +1 -0
  785. package/dist/utilities/canAccessAdmin.js.map +1 -1
  786. package/dist/utilities/checkDocumentLockStatus.d.ts +19 -0
  787. package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
  788. package/dist/utilities/checkDocumentLockStatus.js +74 -0
  789. package/dist/utilities/checkDocumentLockStatus.js.map +1 -1
  790. package/dist/utilities/configToJSONSchema.spec.js +33 -33
  791. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  792. package/dist/utilities/entityInputSchema/filterFieldsByAccess.d.ts +30 -0
  793. package/dist/utilities/entityInputSchema/filterFieldsByAccess.d.ts.map +1 -0
  794. package/dist/utilities/entityInputSchema/filterFieldsByAccess.js +71 -0
  795. package/dist/utilities/entityInputSchema/filterFieldsByAccess.js.map +1 -0
  796. package/dist/utilities/entityInputSchema/getEntityInputSchema.d.ts +13 -0
  797. package/dist/utilities/entityInputSchema/getEntityInputSchema.d.ts.map +1 -0
  798. package/dist/utilities/entityInputSchema/getEntityInputSchema.js +66 -0
  799. package/dist/utilities/entityInputSchema/getEntityInputSchema.js.map +1 -0
  800. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.d.ts +10 -0
  801. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.d.ts.map +1 -0
  802. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.js +384 -0
  803. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.js.map +1 -0
  804. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.spec.js +133 -0
  805. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.spec.js.map +1 -0
  806. package/dist/utilities/entityInputSchema/types.d.ts +16 -0
  807. package/dist/utilities/entityInputSchema/types.d.ts.map +1 -0
  808. package/dist/utilities/entityInputSchema/types.js +3 -0
  809. package/dist/utilities/entityInputSchema/types.js.map +1 -0
  810. package/dist/utilities/entityInputSchema/validateEntityData.d.ts +13 -0
  811. package/dist/utilities/entityInputSchema/validateEntityData.d.ts.map +1 -0
  812. package/dist/utilities/entityInputSchema/validateEntityData.js +138 -0
  813. package/dist/utilities/entityInputSchema/validateEntityData.js.map +1 -0
  814. package/dist/utilities/fieldValueExists.d.ts +29 -0
  815. package/dist/utilities/fieldValueExists.d.ts.map +1 -0
  816. package/dist/utilities/fieldValueExists.js +37 -0
  817. package/dist/utilities/fieldValueExists.js.map +1 -0
  818. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  819. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +1 -0
  820. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  821. package/dist/utilities/getNextVersion.d.ts +7 -0
  822. package/dist/utilities/getNextVersion.d.ts.map +1 -0
  823. package/dist/utilities/getNextVersion.js +20 -0
  824. package/dist/utilities/getNextVersion.js.map +1 -0
  825. package/dist/utilities/getNextVersion.spec.js +16 -0
  826. package/dist/utilities/getNextVersion.spec.js.map +1 -0
  827. package/dist/utilities/getRequestOrigin.d.ts.map +1 -1
  828. package/dist/utilities/getRequestOrigin.js.map +1 -1
  829. package/dist/utilities/getSafeRedirect.d.ts.map +1 -1
  830. package/dist/utilities/getSafeRedirect.js +16 -9
  831. package/dist/utilities/getSafeRedirect.js.map +1 -1
  832. package/dist/utilities/getSafeRedirect.spec.js +96 -2
  833. package/dist/utilities/getSafeRedirect.spec.js.map +1 -1
  834. package/dist/utilities/getUniqueFieldValue.d.ts +28 -0
  835. package/dist/utilities/getUniqueFieldValue.d.ts.map +1 -0
  836. package/dist/utilities/getUniqueFieldValue.js +27 -0
  837. package/dist/utilities/getUniqueFieldValue.js.map +1 -0
  838. package/dist/utilities/getVirtualFieldNames.d.ts +14 -0
  839. package/dist/utilities/getVirtualFieldNames.d.ts.map +1 -0
  840. package/dist/utilities/getVirtualFieldNames.js +35 -0
  841. package/dist/utilities/getVirtualFieldNames.js.map +1 -0
  842. package/dist/utilities/headersWithCors.js +1 -1
  843. package/dist/utilities/headersWithCors.js.map +1 -1
  844. package/dist/utilities/killTransaction.d.ts +7 -0
  845. package/dist/utilities/killTransaction.d.ts.map +1 -1
  846. package/dist/utilities/killTransaction.js +7 -0
  847. package/dist/utilities/killTransaction.js.map +1 -1
  848. package/dist/utilities/logError.d.ts.map +1 -1
  849. package/dist/utilities/logError.js +5 -2
  850. package/dist/utilities/logError.js.map +1 -1
  851. package/dist/utilities/nextJsDevReloadStrategy.d.ts +7 -0
  852. package/dist/utilities/nextJsDevReloadStrategy.d.ts.map +1 -0
  853. package/dist/utilities/nextJsDevReloadStrategy.js +59 -0
  854. package/dist/utilities/nextJsDevReloadStrategy.js.map +1 -0
  855. package/dist/utilities/nextJsDevReloadStrategy.spec.js +123 -0
  856. package/dist/utilities/nextJsDevReloadStrategy.spec.js.map +1 -0
  857. package/dist/utilities/parseDocumentID.d.ts +4 -1
  858. package/dist/utilities/parseDocumentID.d.ts.map +1 -1
  859. package/dist/utilities/parseDocumentID.js +7 -1
  860. package/dist/utilities/parseDocumentID.js.map +1 -1
  861. package/dist/utilities/sharedInputSchemas.d.ts +52 -0
  862. package/dist/utilities/sharedInputSchemas.d.ts.map +1 -0
  863. package/dist/utilities/sharedInputSchemas.js +101 -0
  864. package/dist/utilities/sharedInputSchemas.js.map +1 -0
  865. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.d.ts +4 -0
  866. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.d.ts.map +1 -0
  867. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js +261 -0
  868. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js.map +1 -0
  869. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.spec.js +117 -0
  870. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.spec.js.map +1 -0
  871. package/dist/utilities/telemetry/featureInfo/types.d.ts +63 -0
  872. package/dist/utilities/telemetry/featureInfo/types.d.ts.map +1 -0
  873. package/dist/utilities/telemetry/featureInfo/types.js +3 -0
  874. package/dist/utilities/telemetry/featureInfo/types.js.map +1 -0
  875. package/dist/utilities/telemetry/getProjectContext.d.ts +16 -0
  876. package/dist/utilities/telemetry/getProjectContext.d.ts.map +1 -0
  877. package/dist/utilities/telemetry/getProjectContext.js +43 -0
  878. package/dist/utilities/telemetry/getProjectContext.js.map +1 -0
  879. package/dist/utilities/telemetry/index.d.ts +6 -1
  880. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  881. package/dist/utilities/telemetry/index.js +21 -1
  882. package/dist/utilities/telemetry/index.js.map +1 -1
  883. package/dist/utilities/transformPointDataToPayload.d.ts +7 -0
  884. package/dist/utilities/transformPointDataToPayload.d.ts.map +1 -0
  885. package/dist/utilities/transformPointDataToPayload.js +28 -0
  886. package/dist/utilities/transformPointDataToPayload.js.map +1 -0
  887. package/dist/utilities/traverseFields.d.ts.map +1 -1
  888. package/dist/utilities/traverseFields.js +20 -22
  889. package/dist/utilities/traverseFields.js.map +1 -1
  890. package/dist/utilities/traverseFields.spec.js +112 -0
  891. package/dist/utilities/traverseFields.spec.js.map +1 -1
  892. package/dist/utilities/unflattenData.d.ts +3 -0
  893. package/dist/utilities/unflattenData.d.ts.map +1 -0
  894. package/dist/utilities/unflattenData.js +14 -0
  895. package/dist/utilities/unflattenData.js.map +1 -0
  896. package/dist/utilities/zod.d.ts +5 -0
  897. package/dist/utilities/zod.d.ts.map +1 -0
  898. package/dist/utilities/zod.js +21 -0
  899. package/dist/utilities/zod.js.map +1 -0
  900. package/dist/versions/deleteCollectionVersions.d.ts +11 -1
  901. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  902. package/dist/versions/deleteCollectionVersions.js +10 -3
  903. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  904. package/dist/versions/deleteScheduledPublishJobs.d.ts +5 -1
  905. package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
  906. package/dist/versions/deleteScheduledPublishJobs.js +11 -5
  907. package/dist/versions/deleteScheduledPublishJobs.js.map +1 -1
  908. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -3
  909. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  910. package/dist/versions/drafts/appendVersionToQueryKey.spec.js +28 -0
  911. package/dist/versions/drafts/appendVersionToQueryKey.spec.js.map +1 -0
  912. package/package.json +24 -7
  913. package/skills/payload/SKILL.md +526 -0
  914. package/skills/payload/reference/ACCESS-CONTROL-ADVANCED.md +704 -0
  915. package/skills/payload/reference/ACCESS-CONTROL.md +696 -0
  916. package/skills/payload/reference/ADAPTERS.md +305 -0
  917. package/skills/payload/reference/ADVANCED.md +386 -0
  918. package/skills/payload/reference/COLLECTIONS.md +333 -0
  919. package/skills/payload/reference/ENDPOINTS.md +634 -0
  920. package/skills/payload/reference/FIELD-TYPE-GUARDS.md +553 -0
  921. package/skills/payload/reference/FIELDS.md +745 -0
  922. package/skills/payload/reference/HOOKS.md +186 -0
  923. package/skills/payload/reference/PLUGIN-DEVELOPMENT.md +1436 -0
  924. package/skills/payload/reference/QUERIES.md +274 -0
  925. package/dist/bin/build.d.ts.map +0 -1
  926. package/dist/bin/build.js.map +0 -1
  927. package/dist/bin/build.spec.js.map +0 -1
  928. package/dist/bin/frameworkConventions.d.ts.map +0 -1
  929. package/dist/bin/frameworkConventions.js.map +0 -1
  930. package/dist/bin/generateImportMap/generateImportMap.spec.js.map +0 -1
  931. package/dist/bin/generateImportMap/index.d.ts.map +0 -1
  932. package/dist/bin/generateImportMap/index.js.map +0 -1
  933. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +0 -1
  934. package/dist/bin/generateImportMap/iterateCollections.js.map +0 -1
  935. package/dist/bin/generateImportMap/iterateConfig.d.ts.map +0 -1
  936. package/dist/bin/generateImportMap/iterateConfig.js.map +0 -1
  937. package/dist/bin/generateImportMap/iterateFields.d.ts.map +0 -1
  938. package/dist/bin/generateImportMap/iterateFields.js.map +0 -1
  939. package/dist/bin/generateImportMap/iterateGlobals.d.ts.map +0 -1
  940. package/dist/bin/generateImportMap/iterateGlobals.js.map +0 -1
  941. package/dist/bin/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts.map +0 -1
  942. package/dist/bin/generateImportMap/utilities/addPayloadComponentToImportMap.js.map +0 -1
  943. package/dist/bin/generateImportMap/utilities/getFromImportMap.d.ts.map +0 -1
  944. package/dist/bin/generateImportMap/utilities/getFromImportMap.js.map +0 -1
  945. package/dist/bin/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts.map +0 -1
  946. package/dist/bin/generateImportMap/utilities/getImportMapToBaseDirPath.js.map +0 -1
  947. package/dist/bin/generateImportMap/utilities/parsePayloadComponent.d.ts.map +0 -1
  948. package/dist/bin/generateImportMap/utilities/parsePayloadComponent.js.map +0 -1
  949. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +0 -1
  950. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js.map +0 -1
  951. package/dist/bin/generateTypes.d.ts +0 -6
  952. package/dist/bin/generateTypes.d.ts.map +0 -1
  953. package/dist/bin/generateTypes.js.map +0 -1
  954. package/dist/bin/index.d.ts +0 -2
  955. package/dist/bin/index.d.ts.map +0 -1
  956. package/dist/bin/index.js +0 -200
  957. package/dist/bin/index.js.map +0 -1
  958. package/dist/bin/info.d.ts +0 -2
  959. package/dist/bin/info.d.ts.map +0 -1
  960. package/dist/bin/info.js +0 -56
  961. package/dist/bin/info.js.map +0 -1
  962. package/dist/bin/loadEnv.d.ts.map +0 -1
  963. package/dist/bin/loadEnv.js.map +0 -1
  964. package/dist/bin/migrate.d.ts +0 -15
  965. package/dist/bin/migrate.d.ts.map +0 -1
  966. package/dist/bin/migrate.js +0 -102
  967. package/dist/bin/migrate.js.map +0 -1
  968. package/dist/database/defaultUpdateJobs.d.ts +0 -3
  969. package/dist/database/defaultUpdateJobs.d.ts.map +0 -1
  970. package/dist/database/defaultUpdateJobs.js +0 -41
  971. package/dist/database/defaultUpdateJobs.js.map +0 -1
  972. package/dist/fields/baseFields/slug/countVersions.d.ts +0 -13
  973. package/dist/fields/baseFields/slug/countVersions.d.ts.map +0 -1
  974. package/dist/fields/baseFields/slug/countVersions.js +0 -27
  975. package/dist/fields/baseFields/slug/countVersions.js.map +0 -1
  976. package/dist/uploads/endpoints/getFileFromURL.d.ts +0 -3
  977. package/dist/uploads/endpoints/getFileFromURL.d.ts.map +0 -1
  978. package/dist/uploads/endpoints/getFileFromURL.js.map +0 -1
  979. package/dist/uploads/getExternalFile.d.ts +0 -10
  980. package/dist/uploads/getExternalFile.d.ts.map +0 -1
  981. package/dist/uploads/getExternalFile.js +0 -73
  982. package/dist/uploads/getExternalFile.js.map +0 -1
  983. package/dist/uploads/tempFile.d.ts +0 -7
  984. package/dist/uploads/tempFile.d.ts.map +0 -1
  985. package/dist/uploads/tempFile.js +0 -39
  986. package/dist/uploads/tempFile.js.map +0 -1
  987. /package/dist/{bin → cli/commands/generateImportMap}/frameworkConventions.d.ts +0 -0
  988. /package/dist/{bin → cli/commands/generateImportMap}/frameworkConventions.js +0 -0
  989. /package/dist/{bin → cli/commands}/generateImportMap/generateImportMap.spec.js +0 -0
  990. /package/dist/{bin → cli/commands}/generateImportMap/iterateCollections.js +0 -0
  991. /package/dist/{bin → cli/commands}/generateImportMap/iterateFields.js +0 -0
  992. /package/dist/{bin → cli/commands}/generateImportMap/iterateGlobals.js +0 -0
  993. /package/dist/{bin → cli/commands}/generateImportMap/utilities/addPayloadComponentToImportMap.js +0 -0
  994. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getFromImportMap.js +0 -0
  995. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts +0 -0
  996. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getImportMapToBaseDirPath.js +0 -0
  997. /package/dist/{bin → cli/commands}/generateImportMap/utilities/parsePayloadComponent.js +0 -0
  998. /package/dist/{bin → cli/commands}/generateImportMap/utilities/resolveImportMapFilePath.d.ts +0 -0
  999. /package/dist/{bin → cli/runtime}/loadEnv.d.ts +0 -0
@@ -0,0 +1,29 @@
1
+ import type { ServerAdapter } from '../../admin/adapters/server.js';
2
+ import type { SanitizedConfig } from '../../config/types.js';
3
+ import type { AuthCollectionSlug } from '../../index.js';
4
+ import type { MaybePromise } from '../../types/index.js';
5
+ import type { LoginResult } from '../operations/login.js';
6
+ export type LoginArgs<TSlug extends AuthCollectionSlug> = {
7
+ collection: TSlug;
8
+ config: MaybePromise<SanitizedConfig>;
9
+ password: string;
10
+ serverAdapter: ServerAdapter;
11
+ } & ({
12
+ email: string;
13
+ username?: never;
14
+ } | {
15
+ email?: never;
16
+ username: string;
17
+ });
18
+ /**
19
+ * `LoginArgs` as the adapters expose it — they bind `serverAdapter` themselves.
20
+ * Distributes over the email/username union so the either-or survives; a plain
21
+ * `Omit` collapses the union and accepts both keys at once.
22
+ */
23
+ export type LoginArgsWithoutServerAdapter<TSlug extends AuthCollectionSlug> = LoginArgs<TSlug> extends infer TArgs ? TArgs extends unknown ? Omit<TArgs, 'serverAdapter'> : never : never;
24
+ /**
25
+ * Logs a user in and writes the auth cookie through the supplied `serverAdapter`,
26
+ * so the function is framework-agnostic; each adapter binds its own.
27
+ */
28
+ export declare function login<TSlug extends AuthCollectionSlug>({ collection, config, email, password, serverAdapter, username, }: LoginArgs<TSlug>): Promise<LoginResult<TSlug>>;
29
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/serverFunctions/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAOzD,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,kBAAkB,IAAI;IACxD,UAAU,EAAE,KAAK,CAAA;IACjB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,aAAa,CAAA;CAC7B,GAAG,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE/E;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,CAAC,KAAK,SAAS,kBAAkB,IACxE,SAAS,CAAC,KAAK,CAAC,SAAS,MAAM,KAAK,GAChC,KAAK,SAAS,OAAO,GACnB,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,GAC5B,KAAK,GACP,KAAK,CAAA;AAEX;;;GAGG;AACH,wBAAsB,KAAK,CAAC,KAAK,SAAS,kBAAkB,EAAE,EAC5D,UAAU,EACV,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAgDhD"}
@@ -0,0 +1,63 @@
1
+ import { getPayload } from '../../index.js';
2
+ import { createLocalReq } from '../../utilities/createLocalReq.js';
3
+ import { loginWithCookie } from '../loginWithCookie.js';
4
+ import { applyAuthCookie } from './cookies.js';
5
+ /**
6
+ * Logs a user in and writes the auth cookie through the supplied `serverAdapter`,
7
+ * so the function is framework-agnostic; each adapter binds its own.
8
+ */ export async function login({ collection, config, email, password, serverAdapter, username }) {
9
+ const payload = await getPayload({
10
+ config,
11
+ cron: true
12
+ });
13
+ const authConfig = payload.collections[collection]?.config.auth;
14
+ if (!authConfig) {
15
+ throw new Error(`No auth config found for collection: ${collection}`);
16
+ }
17
+ const loginWithUsername = authConfig.loginWithUsername ?? false;
18
+ if (loginWithUsername) {
19
+ if (loginWithUsername.allowEmailLogin) {
20
+ if (!email && !username) {
21
+ throw new Error('Email or username is required.');
22
+ }
23
+ } else {
24
+ if (!username) {
25
+ throw new Error('Username is required.');
26
+ }
27
+ }
28
+ } else {
29
+ if (!email) {
30
+ throw new Error('Email is required.');
31
+ }
32
+ }
33
+ let loginData;
34
+ if (loginWithUsername) {
35
+ loginData = username ? {
36
+ password,
37
+ username
38
+ } : {
39
+ email,
40
+ password
41
+ };
42
+ } else {
43
+ loginData = {
44
+ email,
45
+ password
46
+ };
47
+ }
48
+ const collectionConfig = payload.collections[collection];
49
+ const { cookie, result } = await loginWithCookie({
50
+ collection: collectionConfig,
51
+ data: loginData,
52
+ overrideAccess: true,
53
+ req: await createLocalReq({}, payload),
54
+ returnCookieAsObject: true
55
+ });
56
+ await applyAuthCookie({
57
+ cookie,
58
+ serverAdapter
59
+ });
60
+ return result;
61
+ }
62
+
63
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/auth/serverFunctions/login.ts"],"sourcesContent":["import type { ServerAdapter } from '../../admin/adapters/server.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { AuthCollectionSlug } from '../../index.js'\nimport type { MaybePromise } from '../../types/index.js'\nimport type { LoginResult } from '../operations/login.js'\n\nimport { getPayload } from '../../index.js'\nimport { createLocalReq } from '../../utilities/createLocalReq.js'\nimport { loginWithCookie } from '../loginWithCookie.js'\nimport { applyAuthCookie } from './cookies.js'\n\nexport type LoginArgs<TSlug extends AuthCollectionSlug> = {\n collection: TSlug\n config: MaybePromise<SanitizedConfig>\n password: string\n serverAdapter: ServerAdapter\n} & ({ email: string; username?: never } | { email?: never; username: string })\n\n/**\n * `LoginArgs` as the adapters expose it — they bind `serverAdapter` themselves.\n * Distributes over the email/username union so the either-or survives; a plain\n * `Omit` collapses the union and accepts both keys at once.\n */\nexport type LoginArgsWithoutServerAdapter<TSlug extends AuthCollectionSlug> =\n LoginArgs<TSlug> extends infer TArgs\n ? TArgs extends unknown\n ? Omit<TArgs, 'serverAdapter'>\n : never\n : never\n\n/**\n * Logs a user in and writes the auth cookie through the supplied `serverAdapter`,\n * so the function is framework-agnostic; each adapter binds its own.\n */\nexport async function login<TSlug extends AuthCollectionSlug>({\n collection,\n config,\n email,\n password,\n serverAdapter,\n username,\n}: LoginArgs<TSlug>): Promise<LoginResult<TSlug>> {\n const payload = await getPayload({ config, cron: true })\n\n const authConfig = payload.collections[collection]?.config.auth\n\n if (!authConfig) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const loginWithUsername = authConfig.loginWithUsername ?? false\n\n if (loginWithUsername) {\n if (loginWithUsername.allowEmailLogin) {\n if (!email && !username) {\n throw new Error('Email or username is required.')\n }\n } else {\n if (!username) {\n throw new Error('Username is required.')\n }\n }\n } else {\n if (!email) {\n throw new Error('Email is required.')\n }\n }\n\n let loginData\n\n if (loginWithUsername) {\n loginData = username ? { password, username } : { email, password }\n } else {\n loginData = { email, password }\n }\n\n const collectionConfig = payload.collections[collection]!\n\n const { cookie, result } = await loginWithCookie({\n collection: collectionConfig,\n data: loginData as Parameters<typeof loginWithCookie>[0]['data'],\n overrideAccess: true,\n req: await createLocalReq({}, payload),\n returnCookieAsObject: true,\n })\n\n await applyAuthCookie({ cookie, serverAdapter })\n\n return result as LoginResult<TSlug>\n}\n"],"names":["getPayload","createLocalReq","loginWithCookie","applyAuthCookie","login","collection","config","email","password","serverAdapter","username","payload","cron","authConfig","collections","auth","Error","loginWithUsername","allowEmailLogin","loginData","collectionConfig","cookie","result","data","overrideAccess","req","returnCookieAsObject"],"mappings":"AAMA,SAASA,UAAU,QAAQ,iBAAgB;AAC3C,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,eAAe,QAAQ,wBAAuB;AACvD,SAASC,eAAe,QAAQ,eAAc;AAqB9C;;;CAGC,GACD,OAAO,eAAeC,MAAwC,EAC5DC,UAAU,EACVC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,aAAa,EACbC,QAAQ,EACS;IACjB,MAAMC,UAAU,MAAMX,WAAW;QAAEM;QAAQM,MAAM;IAAK;IAEtD,MAAMC,aAAaF,QAAQG,WAAW,CAACT,WAAW,EAAEC,OAAOS;IAE3D,IAAI,CAACF,YAAY;QACf,MAAM,IAAIG,MAAM,CAAC,qCAAqC,EAAEX,YAAY;IACtE;IAEA,MAAMY,oBAAoBJ,WAAWI,iBAAiB,IAAI;IAE1D,IAAIA,mBAAmB;QACrB,IAAIA,kBAAkBC,eAAe,EAAE;YACrC,IAAI,CAACX,SAAS,CAACG,UAAU;gBACvB,MAAM,IAAIM,MAAM;YAClB;QACF,OAAO;YACL,IAAI,CAACN,UAAU;gBACb,MAAM,IAAIM,MAAM;YAClB;QACF;IACF,OAAO;QACL,IAAI,CAACT,OAAO;YACV,MAAM,IAAIS,MAAM;QAClB;IACF;IAEA,IAAIG;IAEJ,IAAIF,mBAAmB;QACrBE,YAAYT,WAAW;YAAEF;YAAUE;QAAS,IAAI;YAAEH;YAAOC;QAAS;IACpE,OAAO;QACLW,YAAY;YAAEZ;YAAOC;QAAS;IAChC;IAEA,MAAMY,mBAAmBT,QAAQG,WAAW,CAACT,WAAW;IAExD,MAAM,EAAEgB,MAAM,EAAEC,MAAM,EAAE,GAAG,MAAMpB,gBAAgB;QAC/CG,YAAYe;QACZG,MAAMJ;QACNK,gBAAgB;QAChBC,KAAK,MAAMxB,eAAe,CAAC,GAAGU;QAC9Be,sBAAsB;IACxB;IAEA,MAAMvB,gBAAgB;QAAEkB;QAAQZ;IAAc;IAE9C,OAAOa;AACT"}
@@ -0,0 +1,17 @@
1
+ import type { ServerAdapter } from '../../admin/adapters/server.js';
2
+ import type { SanitizedConfig } from '../../config/types.js';
3
+ import type { MaybePromise } from '../../types/index.js';
4
+ export type LogoutArgs = {
5
+ allSessions?: boolean;
6
+ config: MaybePromise<SanitizedConfig>;
7
+ serverAdapter: ServerAdapter;
8
+ };
9
+ /**
10
+ * Logs the current user out and expires the auth cookie through the supplied
11
+ * `serverAdapter`, so the function is framework-agnostic; each adapter binds its own.
12
+ */
13
+ export declare function logout({ allSessions, config, serverAdapter, }: LogoutArgs): Promise<{
14
+ message: string;
15
+ success: boolean;
16
+ }>;
17
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/auth/serverFunctions/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAOxD,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IACrC,aAAa,EAAE,aAAa,CAAA;CAC7B,CAAA;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,EAC3B,WAAmB,EACnB,MAAM,EACN,aAAa,GACd,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAoC7D"}
@@ -0,0 +1,58 @@
1
+ import { getPayload } from '../../index.js';
2
+ import { createLocalReq } from '../../utilities/createLocalReq.js';
3
+ import { logoutOperation } from '../operations/logout.js';
4
+ import { clearAuthCookie } from './cookies.js';
5
+ /**
6
+ * Logs the current user out and expires the auth cookie through the supplied
7
+ * `serverAdapter`, so the function is framework-agnostic; each adapter binds its own.
8
+ */ export async function logout({ allSessions = false, config, serverAdapter }) {
9
+ const payload = await getPayload({
10
+ config,
11
+ cron: true
12
+ });
13
+ const headers = await serverAdapter.getHeaders();
14
+ const authResult = await payload.auth({
15
+ headers
16
+ });
17
+ if (!authResult.user) {
18
+ return {
19
+ message: 'User already logged out',
20
+ success: true
21
+ };
22
+ }
23
+ const { user } = authResult;
24
+ const req = await createLocalReq({
25
+ user
26
+ }, payload);
27
+ const collection = payload.collections[user.collection];
28
+ if (!collection) {
29
+ return {
30
+ message: 'Collection not found',
31
+ success: false
32
+ };
33
+ }
34
+ const logoutResult = await logoutOperation({
35
+ allSessions,
36
+ collection,
37
+ req
38
+ });
39
+ if (!logoutResult) {
40
+ return {
41
+ message: 'Logout failed',
42
+ success: false
43
+ };
44
+ }
45
+ if (collection.config.auth) {
46
+ await clearAuthCookie({
47
+ authConfig: collection.config.auth,
48
+ cookiePrefix: payload.config.cookiePrefix,
49
+ serverAdapter
50
+ });
51
+ }
52
+ return {
53
+ message: 'User logged out successfully',
54
+ success: true
55
+ };
56
+ }
57
+
58
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/auth/serverFunctions/logout.ts"],"sourcesContent":["import type { ServerAdapter } from '../../admin/adapters/server.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { MaybePromise } from '../../types/index.js'\n\nimport { getPayload } from '../../index.js'\nimport { createLocalReq } from '../../utilities/createLocalReq.js'\nimport { logoutOperation } from '../operations/logout.js'\nimport { clearAuthCookie } from './cookies.js'\n\nexport type LogoutArgs = {\n allSessions?: boolean\n config: MaybePromise<SanitizedConfig>\n serverAdapter: ServerAdapter\n}\n\n/**\n * Logs the current user out and expires the auth cookie through the supplied\n * `serverAdapter`, so the function is framework-agnostic; each adapter binds its own.\n */\nexport async function logout({\n allSessions = false,\n config,\n serverAdapter,\n}: LogoutArgs): Promise<{ message: string; success: boolean }> {\n const payload = await getPayload({ config, cron: true })\n const headers = await serverAdapter.getHeaders()\n const authResult = await payload.auth({ headers })\n\n if (!authResult.user) {\n return { message: 'User already logged out', success: true }\n }\n\n const { user } = authResult\n const req = await createLocalReq({ user }, payload)\n const collection = payload.collections[user.collection]\n\n if (!collection) {\n return { message: 'Collection not found', success: false }\n }\n\n const logoutResult = await logoutOperation({\n allSessions,\n collection,\n req,\n })\n\n if (!logoutResult) {\n return { message: 'Logout failed', success: false }\n }\n\n if (collection.config.auth) {\n await clearAuthCookie({\n authConfig: collection.config.auth,\n cookiePrefix: payload.config.cookiePrefix,\n serverAdapter,\n })\n }\n\n return { message: 'User logged out successfully', success: true }\n}\n"],"names":["getPayload","createLocalReq","logoutOperation","clearAuthCookie","logout","allSessions","config","serverAdapter","payload","cron","headers","getHeaders","authResult","auth","user","message","success","req","collection","collections","logoutResult","authConfig","cookiePrefix"],"mappings":"AAIA,SAASA,UAAU,QAAQ,iBAAgB;AAC3C,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,eAAe,QAAQ,0BAAyB;AACzD,SAASC,eAAe,QAAQ,eAAc;AAQ9C;;;CAGC,GACD,OAAO,eAAeC,OAAO,EAC3BC,cAAc,KAAK,EACnBC,MAAM,EACNC,aAAa,EACF;IACX,MAAMC,UAAU,MAAMR,WAAW;QAAEM;QAAQG,MAAM;IAAK;IACtD,MAAMC,UAAU,MAAMH,cAAcI,UAAU;IAC9C,MAAMC,aAAa,MAAMJ,QAAQK,IAAI,CAAC;QAAEH;IAAQ;IAEhD,IAAI,CAACE,WAAWE,IAAI,EAAE;QACpB,OAAO;YAAEC,SAAS;YAA2BC,SAAS;QAAK;IAC7D;IAEA,MAAM,EAAEF,IAAI,EAAE,GAAGF;IACjB,MAAMK,MAAM,MAAMhB,eAAe;QAAEa;IAAK,GAAGN;IAC3C,MAAMU,aAAaV,QAAQW,WAAW,CAACL,KAAKI,UAAU,CAAC;IAEvD,IAAI,CAACA,YAAY;QACf,OAAO;YAAEH,SAAS;YAAwBC,SAAS;QAAM;IAC3D;IAEA,MAAMI,eAAe,MAAMlB,gBAAgB;QACzCG;QACAa;QACAD;IACF;IAEA,IAAI,CAACG,cAAc;QACjB,OAAO;YAAEL,SAAS;YAAiBC,SAAS;QAAM;IACpD;IAEA,IAAIE,WAAWZ,MAAM,CAACO,IAAI,EAAE;QAC1B,MAAMV,gBAAgB;YACpBkB,YAAYH,WAAWZ,MAAM,CAACO,IAAI;YAClCS,cAAcd,QAAQF,MAAM,CAACgB,YAAY;YACzCf;QACF;IACF;IAEA,OAAO;QAAEQ,SAAS;QAAgCC,SAAS;IAAK;AAClE"}
@@ -0,0 +1,17 @@
1
+ import type { ServerAdapter } from '../../admin/adapters/server.js';
2
+ import type { SanitizedConfig } from '../../config/types.js';
3
+ import type { MaybePromise } from '../../types/index.js';
4
+ export type RefreshArgs = {
5
+ config: MaybePromise<SanitizedConfig>;
6
+ serverAdapter: ServerAdapter;
7
+ };
8
+ /**
9
+ * Refreshes the current user's auth token and rewrites the cookie through the
10
+ * supplied `serverAdapter`, so the function is framework-agnostic; each adapter
11
+ * binds its own.
12
+ */
13
+ export declare function refresh({ config, serverAdapter, }: RefreshArgs): Promise<{
14
+ message: string;
15
+ success: boolean;
16
+ }>;
17
+ //# sourceMappingURL=refresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/serverFunctions/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAOxD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IACrC,aAAa,EAAE,aAAa,CAAA;CAC7B,CAAA;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,EAC5B,MAAM,EACN,aAAa,GACd,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA4C9D"}
@@ -0,0 +1,61 @@
1
+ import { getPayload } from '../../index.js';
2
+ import { createLocalReq } from '../../utilities/createLocalReq.js';
3
+ import { refreshOperation } from '../operations/refresh.js';
4
+ import { getExistingAuthToken, setAuthCookie } from './cookies.js';
5
+ /**
6
+ * Refreshes the current user's auth token and rewrites the cookie through the
7
+ * supplied `serverAdapter`, so the function is framework-agnostic; each adapter
8
+ * binds its own.
9
+ */ export async function refresh({ config, serverAdapter }) {
10
+ const payload = await getPayload({
11
+ config,
12
+ cron: true
13
+ });
14
+ const headers = await serverAdapter.getHeaders();
15
+ const result = await payload.auth({
16
+ headers
17
+ });
18
+ if (!result.user) {
19
+ throw new Error('Cannot refresh token: user not authenticated');
20
+ }
21
+ const existingCookie = await getExistingAuthToken({
22
+ cookiePrefix: payload.config.cookiePrefix,
23
+ serverAdapter
24
+ });
25
+ if (!existingCookie) {
26
+ return {
27
+ message: 'No valid token found to refresh',
28
+ success: false
29
+ };
30
+ }
31
+ const collection = result.user.collection;
32
+ const collectionConfig = payload.collections[collection];
33
+ if (!collectionConfig?.config.auth) {
34
+ throw new Error(`No auth config found for collection: ${collection}`);
35
+ }
36
+ const req = await createLocalReq({
37
+ user: result.user
38
+ }, payload);
39
+ const refreshResult = await refreshOperation({
40
+ collection: collectionConfig,
41
+ req
42
+ });
43
+ if (!refreshResult) {
44
+ return {
45
+ message: 'Token refresh failed',
46
+ success: false
47
+ };
48
+ }
49
+ await setAuthCookie({
50
+ authConfig: collectionConfig.config.auth,
51
+ cookiePrefix: payload.config.cookiePrefix,
52
+ serverAdapter,
53
+ token: refreshResult.refreshedToken
54
+ });
55
+ return {
56
+ message: 'Token refreshed successfully',
57
+ success: true
58
+ };
59
+ }
60
+
61
+ //# sourceMappingURL=refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/auth/serverFunctions/refresh.ts"],"sourcesContent":["import type { ServerAdapter } from '../../admin/adapters/server.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { MaybePromise } from '../../types/index.js'\n\nimport { getPayload } from '../../index.js'\nimport { createLocalReq } from '../../utilities/createLocalReq.js'\nimport { refreshOperation } from '../operations/refresh.js'\nimport { getExistingAuthToken, setAuthCookie } from './cookies.js'\n\nexport type RefreshArgs = {\n config: MaybePromise<SanitizedConfig>\n serverAdapter: ServerAdapter\n}\n\n/**\n * Refreshes the current user's auth token and rewrites the cookie through the\n * supplied `serverAdapter`, so the function is framework-agnostic; each adapter\n * binds its own.\n */\nexport async function refresh({\n config,\n serverAdapter,\n}: RefreshArgs): Promise<{ message: string; success: boolean }> {\n const payload = await getPayload({ config, cron: true })\n const headers = await serverAdapter.getHeaders()\n const result = await payload.auth({ headers })\n\n if (!result.user) {\n throw new Error('Cannot refresh token: user not authenticated')\n }\n\n const existingCookie = await getExistingAuthToken({\n cookiePrefix: payload.config.cookiePrefix,\n serverAdapter,\n })\n\n if (!existingCookie) {\n return { message: 'No valid token found to refresh', success: false }\n }\n\n const collection: CollectionSlug | undefined = result.user.collection\n const collectionConfig = payload.collections[collection]\n\n if (!collectionConfig?.config.auth) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const req = await createLocalReq({ user: result.user }, payload)\n\n const refreshResult = await refreshOperation({\n collection: collectionConfig,\n req,\n })\n\n if (!refreshResult) {\n return { message: 'Token refresh failed', success: false }\n }\n\n await setAuthCookie({\n authConfig: collectionConfig.config.auth,\n cookiePrefix: payload.config.cookiePrefix,\n serverAdapter,\n token: refreshResult.refreshedToken,\n })\n\n return { message: 'Token refreshed successfully', success: true }\n}\n"],"names":["getPayload","createLocalReq","refreshOperation","getExistingAuthToken","setAuthCookie","refresh","config","serverAdapter","payload","cron","headers","getHeaders","result","auth","user","Error","existingCookie","cookiePrefix","message","success","collection","collectionConfig","collections","req","refreshResult","authConfig","token","refreshedToken"],"mappings":"AAKA,SAASA,UAAU,QAAQ,iBAAgB;AAC3C,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,gBAAgB,QAAQ,2BAA0B;AAC3D,SAASC,oBAAoB,EAAEC,aAAa,QAAQ,eAAc;AAOlE;;;;CAIC,GACD,OAAO,eAAeC,QAAQ,EAC5BC,MAAM,EACNC,aAAa,EACD;IACZ,MAAMC,UAAU,MAAMR,WAAW;QAAEM;QAAQG,MAAM;IAAK;IACtD,MAAMC,UAAU,MAAMH,cAAcI,UAAU;IAC9C,MAAMC,SAAS,MAAMJ,QAAQK,IAAI,CAAC;QAAEH;IAAQ;IAE5C,IAAI,CAACE,OAAOE,IAAI,EAAE;QAChB,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,iBAAiB,MAAMb,qBAAqB;QAChDc,cAAcT,QAAQF,MAAM,CAACW,YAAY;QACzCV;IACF;IAEA,IAAI,CAACS,gBAAgB;QACnB,OAAO;YAAEE,SAAS;YAAmCC,SAAS;QAAM;IACtE;IAEA,MAAMC,aAAyCR,OAAOE,IAAI,CAACM,UAAU;IACrE,MAAMC,mBAAmBb,QAAQc,WAAW,CAACF,WAAW;IAExD,IAAI,CAACC,kBAAkBf,OAAOO,MAAM;QAClC,MAAM,IAAIE,MAAM,CAAC,qCAAqC,EAAEK,YAAY;IACtE;IAEA,MAAMG,MAAM,MAAMtB,eAAe;QAAEa,MAAMF,OAAOE,IAAI;IAAC,GAAGN;IAExD,MAAMgB,gBAAgB,MAAMtB,iBAAiB;QAC3CkB,YAAYC;QACZE;IACF;IAEA,IAAI,CAACC,eAAe;QAClB,OAAO;YAAEN,SAAS;YAAwBC,SAAS;QAAM;IAC3D;IAEA,MAAMf,cAAc;QAClBqB,YAAYJ,iBAAiBf,MAAM,CAACO,IAAI;QACxCI,cAAcT,QAAQF,MAAM,CAACW,YAAY;QACzCV;QACAmB,OAAOF,cAAcG,cAAc;IACrC;IAEA,OAAO;QAAET,SAAS;QAAgCC,SAAS;IAAK;AAClE"}
@@ -1 +1 @@
1
- {"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/apiKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAGlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,eAAO,MAAM,oBAAoB,qBACZ,yBAAyB,KAAG,oBAuD9C,CAAA"}
1
+ {"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/apiKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAGlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,eAAO,MAAM,oBAAoB,qBACZ,yBAAyB,KAAG,oBAwD9C,CAAA"}
@@ -3,14 +3,16 @@ export const APIKeyAuthentication = (collectionConfig)=>async ({ headers, isGrap
3
3
  const authHeader = headers.get('Authorization');
4
4
  if (authHeader?.startsWith(`${collectionConfig.slug} API-Key `)) {
5
5
  const apiKey = authHeader.replace(`${collectionConfig.slug} API-Key `, '');
6
- const sha256APIKeyIndex = crypto.createHmac('sha256', payload.secret).update(apiKey).digest('hex');
6
+ // The stored index was written under whichever secret was active at the
7
+ // time, so match against the index computed under every keyring secret.
8
+ const apiKeyIndexes = payload.encryptionKeyring.all.map((key)=>crypto.createHmac('sha256', key.legacyKey).update(apiKey).digest('hex'));
7
9
  try {
8
10
  const where = {};
9
11
  if (collectionConfig.auth?.verify) {
10
12
  where.and = [
11
13
  {
12
14
  apiKeyIndex: {
13
- equals: sha256APIKeyIndex
15
+ in: apiKeyIndexes
14
16
  }
15
17
  },
16
18
  {
@@ -21,7 +23,7 @@ export const APIKeyAuthentication = (collectionConfig)=>async ({ headers, isGrap
21
23
  ];
22
24
  } else {
23
25
  where.apiKeyIndex = {
24
- equals: sha256APIKeyIndex
26
+ in: apiKeyIndexes
25
27
  };
26
28
  }
27
29
  const userQuery = await payload.find({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/strategies/apiKey.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { User } from '../../index.js'\nimport type { Where } from '../../types/index.js'\nimport type { AuthStrategyFunction } from '../index.js'\n\nexport const APIKeyAuthentication =\n (collectionConfig: SanitizedCollectionConfig): AuthStrategyFunction =>\n async ({ headers, isGraphQL = false, payload }) => {\n const authHeader = headers.get('Authorization')\n\n if (authHeader?.startsWith(`${collectionConfig.slug} API-Key `)) {\n const apiKey = authHeader.replace(`${collectionConfig.slug} API-Key `, '')\n\n const sha256APIKeyIndex = crypto\n .createHmac('sha256', payload.secret)\n .update(apiKey)\n .digest('hex')\n\n try {\n const where: Where = {}\n if (collectionConfig.auth?.verify) {\n where.and = [\n {\n apiKeyIndex: {\n equals: sha256APIKeyIndex,\n },\n },\n {\n _verified: {\n not_equals: false,\n },\n },\n ]\n } else {\n where.apiKeyIndex = { equals: sha256APIKeyIndex }\n }\n\n const userQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: isGraphQL ? 0 : collectionConfig.auth.depth,\n limit: 1,\n overrideAccess: true,\n pagination: false,\n where,\n })\n\n if (userQuery.docs && userQuery.docs.length > 0) {\n const user = userQuery.docs[0]\n user!.collection = collectionConfig.slug\n user!._strategy = 'api-key'\n\n return {\n user: user as User,\n }\n }\n } catch (ignore) {\n return { user: null }\n }\n }\n\n return { user: null }\n }\n"],"names":["crypto","APIKeyAuthentication","collectionConfig","headers","isGraphQL","payload","authHeader","get","startsWith","slug","apiKey","replace","sha256APIKeyIndex","createHmac","secret","update","digest","where","auth","verify","and","apiKeyIndex","equals","_verified","not_equals","userQuery","find","collection","depth","limit","overrideAccess","pagination","docs","length","user","_strategy","ignore"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAO3B,OAAO,MAAMC,uBACX,CAACC,mBACD,OAAO,EAAEC,OAAO,EAAEC,YAAY,KAAK,EAAEC,OAAO,EAAE;QAC5C,MAAMC,aAAaH,QAAQI,GAAG,CAAC;QAE/B,IAAID,YAAYE,WAAW,GAAGN,iBAAiBO,IAAI,CAAC,SAAS,CAAC,GAAG;YAC/D,MAAMC,SAASJ,WAAWK,OAAO,CAAC,GAAGT,iBAAiBO,IAAI,CAAC,SAAS,CAAC,EAAE;YAEvE,MAAMG,oBAAoBZ,OACvBa,UAAU,CAAC,UAAUR,QAAQS,MAAM,EACnCC,MAAM,CAACL,QACPM,MAAM,CAAC;YAEV,IAAI;gBACF,MAAMC,QAAe,CAAC;gBACtB,IAAIf,iBAAiBgB,IAAI,EAAEC,QAAQ;oBACjCF,MAAMG,GAAG,GAAG;wBACV;4BACEC,aAAa;gCACXC,QAAQV;4BACV;wBACF;wBACA;4BACEW,WAAW;gCACTC,YAAY;4BACd;wBACF;qBACD;gBACH,OAAO;oBACLP,MAAMI,WAAW,GAAG;wBAAEC,QAAQV;oBAAkB;gBAClD;gBAEA,MAAMa,YAAY,MAAMpB,QAAQqB,IAAI,CAAC;oBACnCC,YAAYzB,iBAAiBO,IAAI;oBACjCmB,OAAOxB,YAAY,IAAIF,iBAAiBgB,IAAI,CAACU,KAAK;oBAClDC,OAAO;oBACPC,gBAAgB;oBAChBC,YAAY;oBACZd;gBACF;gBAEA,IAAIQ,UAAUO,IAAI,IAAIP,UAAUO,IAAI,CAACC,MAAM,GAAG,GAAG;oBAC/C,MAAMC,OAAOT,UAAUO,IAAI,CAAC,EAAE;oBAC9BE,KAAMP,UAAU,GAAGzB,iBAAiBO,IAAI;oBACxCyB,KAAMC,SAAS,GAAG;oBAElB,OAAO;wBACLD,MAAMA;oBACR;gBACF;YACF,EAAE,OAAOE,QAAQ;gBACf,OAAO;oBAAEF,MAAM;gBAAK;YACtB;QACF;QAEA,OAAO;YAAEA,MAAM;QAAK;IACtB,EAAC"}
1
+ {"version":3,"sources":["../../../src/auth/strategies/apiKey.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { User } from '../../index.js'\nimport type { Where } from '../../types/index.js'\nimport type { AuthStrategyFunction } from '../index.js'\n\nexport const APIKeyAuthentication =\n (collectionConfig: SanitizedCollectionConfig): AuthStrategyFunction =>\n async ({ headers, isGraphQL = false, payload }) => {\n const authHeader = headers.get('Authorization')\n\n if (authHeader?.startsWith(`${collectionConfig.slug} API-Key `)) {\n const apiKey = authHeader.replace(`${collectionConfig.slug} API-Key `, '')\n\n // The stored index was written under whichever secret was active at the\n // time, so match against the index computed under every keyring secret.\n const apiKeyIndexes = payload.encryptionKeyring.all.map((key) =>\n crypto.createHmac('sha256', key.legacyKey).update(apiKey).digest('hex'),\n )\n\n try {\n const where: Where = {}\n if (collectionConfig.auth?.verify) {\n where.and = [\n {\n apiKeyIndex: {\n in: apiKeyIndexes,\n },\n },\n {\n _verified: {\n not_equals: false,\n },\n },\n ]\n } else {\n where.apiKeyIndex = { in: apiKeyIndexes }\n }\n\n const userQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: isGraphQL ? 0 : collectionConfig.auth.depth,\n limit: 1,\n overrideAccess: true,\n pagination: false,\n where,\n })\n\n if (userQuery.docs && userQuery.docs.length > 0) {\n const user = userQuery.docs[0]\n user!.collection = collectionConfig.slug\n user!._strategy = 'api-key'\n\n return {\n user: user as User,\n }\n }\n } catch (ignore) {\n return { user: null }\n }\n }\n\n return { user: null }\n }\n"],"names":["crypto","APIKeyAuthentication","collectionConfig","headers","isGraphQL","payload","authHeader","get","startsWith","slug","apiKey","replace","apiKeyIndexes","encryptionKeyring","all","map","key","createHmac","legacyKey","update","digest","where","auth","verify","and","apiKeyIndex","in","_verified","not_equals","userQuery","find","collection","depth","limit","overrideAccess","pagination","docs","length","user","_strategy","ignore"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAO3B,OAAO,MAAMC,uBACX,CAACC,mBACD,OAAO,EAAEC,OAAO,EAAEC,YAAY,KAAK,EAAEC,OAAO,EAAE;QAC5C,MAAMC,aAAaH,QAAQI,GAAG,CAAC;QAE/B,IAAID,YAAYE,WAAW,GAAGN,iBAAiBO,IAAI,CAAC,SAAS,CAAC,GAAG;YAC/D,MAAMC,SAASJ,WAAWK,OAAO,CAAC,GAAGT,iBAAiBO,IAAI,CAAC,SAAS,CAAC,EAAE;YAEvE,wEAAwE;YACxE,wEAAwE;YACxE,MAAMG,gBAAgBP,QAAQQ,iBAAiB,CAACC,GAAG,CAACC,GAAG,CAAC,CAACC,MACvDhB,OAAOiB,UAAU,CAAC,UAAUD,IAAIE,SAAS,EAAEC,MAAM,CAACT,QAAQU,MAAM,CAAC;YAGnE,IAAI;gBACF,MAAMC,QAAe,CAAC;gBACtB,IAAInB,iBAAiBoB,IAAI,EAAEC,QAAQ;oBACjCF,MAAMG,GAAG,GAAG;wBACV;4BACEC,aAAa;gCACXC,IAAId;4BACN;wBACF;wBACA;4BACEe,WAAW;gCACTC,YAAY;4BACd;wBACF;qBACD;gBACH,OAAO;oBACLP,MAAMI,WAAW,GAAG;wBAAEC,IAAId;oBAAc;gBAC1C;gBAEA,MAAMiB,YAAY,MAAMxB,QAAQyB,IAAI,CAAC;oBACnCC,YAAY7B,iBAAiBO,IAAI;oBACjCuB,OAAO5B,YAAY,IAAIF,iBAAiBoB,IAAI,CAACU,KAAK;oBAClDC,OAAO;oBACPC,gBAAgB;oBAChBC,YAAY;oBACZd;gBACF;gBAEA,IAAIQ,UAAUO,IAAI,IAAIP,UAAUO,IAAI,CAACC,MAAM,GAAG,GAAG;oBAC/C,MAAMC,OAAOT,UAAUO,IAAI,CAAC,EAAE;oBAC9BE,KAAMP,UAAU,GAAG7B,iBAAiBO,IAAI;oBACxC6B,KAAMC,SAAS,GAAG;oBAElB,OAAO;wBACLD,MAAMA;oBACR;gBACF;YACF,EAAE,OAAOE,QAAQ;gBACf,OAAO;oBAAEF,MAAM;gBAAK;YACtB;QACF;QAEA,OAAO;YAAEA,MAAM;QAAK;IACtB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/jwt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAsB,MAAM,aAAa,CAAA;AAsE3E;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,oBAwD/B,CAAA"}
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/jwt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAsB,MAAM,aAAa,CAAA;AAiG3E;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,oBA0D/B,CAAA"}
@@ -1,5 +1,21 @@
1
1
  import { jwtVerify } from 'jose';
2
2
  import { extractJWT } from '../extractJWT.js';
3
+ /**
4
+ * Verifies a token against every secret in the keyring (active first), so tokens
5
+ * signed under a previous secret still validate during a bounded rotation.
6
+ * Throws if no key verifies.
7
+ */ async function verifyWithKeyring({ payload, token }) {
8
+ let lastError;
9
+ for (const key of payload.encryptionKeyring.all){
10
+ try {
11
+ const { payload: decodedPayload } = await jwtVerify(token, new TextEncoder().encode(key.legacyKey));
12
+ return decodedPayload;
13
+ } catch (error) {
14
+ lastError = error;
15
+ }
16
+ }
17
+ throw lastError;
18
+ }
3
19
  async function autoLogin({ isGraphQL, payload, strategyName = 'local-jwt' }) {
4
20
  if (typeof payload?.config?.admin?.autoLogin !== 'object' || payload.config.admin?.autoLogin.prefillOnly || !payload?.config?.admin?.autoLogin || !payload.config.admin?.autoLogin.email && !payload.config.admin?.autoLogin.username) {
5
21
  return {
@@ -61,8 +77,13 @@ async function autoLogin({ isGraphQL, payload, strategyName = 'local-jwt' }) {
61
77
  user: null
62
78
  };
63
79
  }
64
- const secretKey = new TextEncoder().encode(payload.secret);
65
- const { payload: decodedPayload } = await jwtVerify(token, secretKey);
80
+ // Verify against every keyring secret so tokens signed under a previous
81
+ // secret still validate during a bounded rotation. New tokens are always
82
+ // signed with the active secret.
83
+ const decodedPayload = await verifyWithKeyring({
84
+ payload,
85
+ token
86
+ });
66
87
  const collection = payload.collections[decodedPayload.collection];
67
88
  const user = await payload.findByID({
68
89
  id: decodedPayload.id,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/strategies/jwt.ts"],"sourcesContent":["import { jwtVerify } from 'jose'\n\nimport type { Payload, Where } from '../../types/index.js'\nimport type { AuthStrategyFunction, AuthStrategyResult } from '../index.js'\n\nimport { extractJWT } from '../extractJWT.js'\n\ntype JWTToken = {\n collection: string\n id: string\n sid?: string\n}\n\nasync function autoLogin({\n isGraphQL,\n payload,\n strategyName = 'local-jwt',\n}: {\n isGraphQL: boolean\n payload: Payload\n strategyName?: string\n}): Promise<{\n user: AuthStrategyResult['user']\n}> {\n if (\n typeof payload?.config?.admin?.autoLogin !== 'object' ||\n payload.config.admin?.autoLogin.prefillOnly ||\n !payload?.config?.admin?.autoLogin ||\n (!payload.config.admin?.autoLogin.email && !payload.config.admin?.autoLogin.username)\n ) {\n return { user: null }\n }\n\n const collection = payload.collections[payload.config.admin.user]\n\n const where: Where = {\n or: [],\n }\n if (payload.config.admin?.autoLogin.email) {\n where.or?.push({\n email: {\n equals: payload.config.admin?.autoLogin.email,\n },\n })\n } else if (payload.config.admin?.autoLogin.username) {\n where.or?.push({\n username: {\n equals: payload.config.admin?.autoLogin.username,\n },\n })\n }\n\n const user = (\n await payload.find({\n collection: collection!.config.slug,\n depth: isGraphQL ? 0 : collection!.config.auth.depth,\n limit: 1,\n pagination: false,\n where,\n })\n ).docs[0] as AuthStrategyResult['user']\n\n if (!user) {\n return { user: null }\n }\n user.collection = collection!.config.slug\n user._strategy = strategyName\n\n return {\n user,\n }\n}\n\n/**\n * Authentication strategy function for JWT tokens\n */\nexport const JWTAuthentication: AuthStrategyFunction = async ({\n headers,\n isGraphQL = false,\n payload,\n strategyName = 'local-jwt',\n}) => {\n try {\n const token = extractJWT({ headers, payload })\n\n if (!token) {\n if (headers.get('DisableAutologin') !== 'true') {\n return await autoLogin({ isGraphQL, payload, strategyName })\n }\n return { user: null }\n }\n\n const secretKey = new TextEncoder().encode(payload.secret)\n const { payload: decodedPayload } = await jwtVerify<JWTToken>(token, secretKey)\n const collection = payload.collections[decodedPayload.collection]\n\n const user = (await payload.findByID({\n id: decodedPayload.id,\n collection: decodedPayload.collection,\n depth: isGraphQL ? 0 : collection!.config.auth.depth,\n })) as AuthStrategyResult['user']\n\n if (user && (!collection!.config.auth.verify || user._verified)) {\n if (collection!.config.auth.useSessions) {\n const existingSession = (user.sessions || []).find(({ id }) => id === decodedPayload.sid)\n\n if (!existingSession || !decodedPayload.sid) {\n return {\n user: null,\n }\n }\n\n user._sid = decodedPayload.sid\n }\n\n user.collection = collection!.config.slug\n user._strategy = strategyName\n return {\n user,\n }\n } else {\n if (headers.get('DisableAutologin') !== 'true') {\n return await autoLogin({ isGraphQL, payload, strategyName })\n }\n return { user: null }\n }\n } catch (ignore) {\n if (headers.get('DisableAutologin') !== 'true') {\n return await autoLogin({ isGraphQL, payload, strategyName })\n }\n return { user: null }\n }\n}\n"],"names":["jwtVerify","extractJWT","autoLogin","isGraphQL","payload","strategyName","config","admin","prefillOnly","email","username","user","collection","collections","where","or","push","equals","find","slug","depth","auth","limit","pagination","docs","_strategy","JWTAuthentication","headers","token","get","secretKey","TextEncoder","encode","secret","decodedPayload","findByID","id","verify","_verified","useSessions","existingSession","sessions","sid","_sid","ignore"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/auth/strategies/jwt.ts"],"sourcesContent":["import { jwtVerify } from 'jose'\n\nimport type { Payload, Where } from '../../types/index.js'\nimport type { AuthStrategyFunction, AuthStrategyResult } from '../index.js'\n\nimport { extractJWT } from '../extractJWT.js'\n\ntype JWTToken = {\n collection: string\n id: string\n sid?: string\n}\n\n/**\n * Verifies a token against every secret in the keyring (active first), so tokens\n * signed under a previous secret still validate during a bounded rotation.\n * Throws if no key verifies.\n */\nasync function verifyWithKeyring({\n payload,\n token,\n}: {\n payload: Payload\n token: string\n}): Promise<JWTToken> {\n let lastError: unknown\n for (const key of payload.encryptionKeyring.all) {\n try {\n const { payload: decodedPayload } = await jwtVerify<JWTToken>(\n token,\n new TextEncoder().encode(key.legacyKey),\n )\n return decodedPayload\n } catch (error) {\n lastError = error\n }\n }\n throw lastError\n}\n\nasync function autoLogin({\n isGraphQL,\n payload,\n strategyName = 'local-jwt',\n}: {\n isGraphQL: boolean\n payload: Payload\n strategyName?: string\n}): Promise<{\n user: AuthStrategyResult['user']\n}> {\n if (\n typeof payload?.config?.admin?.autoLogin !== 'object' ||\n payload.config.admin?.autoLogin.prefillOnly ||\n !payload?.config?.admin?.autoLogin ||\n (!payload.config.admin?.autoLogin.email && !payload.config.admin?.autoLogin.username)\n ) {\n return { user: null }\n }\n\n const collection = payload.collections[payload.config.admin.user]\n\n const where: Where = {\n or: [],\n }\n if (payload.config.admin?.autoLogin.email) {\n where.or?.push({\n email: {\n equals: payload.config.admin?.autoLogin.email,\n },\n })\n } else if (payload.config.admin?.autoLogin.username) {\n where.or?.push({\n username: {\n equals: payload.config.admin?.autoLogin.username,\n },\n })\n }\n\n const user = (\n await payload.find({\n collection: collection!.config.slug,\n depth: isGraphQL ? 0 : collection!.config.auth.depth,\n limit: 1,\n pagination: false,\n where,\n })\n ).docs[0] as AuthStrategyResult['user']\n\n if (!user) {\n return { user: null }\n }\n user.collection = collection!.config.slug\n user._strategy = strategyName\n\n return {\n user,\n }\n}\n\n/**\n * Authentication strategy function for JWT tokens\n */\nexport const JWTAuthentication: AuthStrategyFunction = async ({\n headers,\n isGraphQL = false,\n payload,\n strategyName = 'local-jwt',\n}) => {\n try {\n const token = extractJWT({ headers, payload })\n\n if (!token) {\n if (headers.get('DisableAutologin') !== 'true') {\n return await autoLogin({ isGraphQL, payload, strategyName })\n }\n return { user: null }\n }\n\n // Verify against every keyring secret so tokens signed under a previous\n // secret still validate during a bounded rotation. New tokens are always\n // signed with the active secret.\n const decodedPayload = await verifyWithKeyring({ payload, token })\n const collection = payload.collections[decodedPayload.collection]\n\n const user = (await payload.findByID({\n id: decodedPayload.id,\n collection: decodedPayload.collection,\n depth: isGraphQL ? 0 : collection!.config.auth.depth,\n })) as AuthStrategyResult['user']\n\n if (user && (!collection!.config.auth.verify || user._verified)) {\n if (collection!.config.auth.useSessions) {\n const existingSession = (user.sessions || []).find(({ id }) => id === decodedPayload.sid)\n\n if (!existingSession || !decodedPayload.sid) {\n return {\n user: null,\n }\n }\n\n user._sid = decodedPayload.sid\n }\n\n user.collection = collection!.config.slug\n user._strategy = strategyName\n return {\n user,\n }\n } else {\n if (headers.get('DisableAutologin') !== 'true') {\n return await autoLogin({ isGraphQL, payload, strategyName })\n }\n return { user: null }\n }\n } catch (ignore) {\n if (headers.get('DisableAutologin') !== 'true') {\n return await autoLogin({ isGraphQL, payload, strategyName })\n }\n return { user: null }\n }\n}\n"],"names":["jwtVerify","extractJWT","verifyWithKeyring","payload","token","lastError","key","encryptionKeyring","all","decodedPayload","TextEncoder","encode","legacyKey","error","autoLogin","isGraphQL","strategyName","config","admin","prefillOnly","email","username","user","collection","collections","where","or","push","equals","find","slug","depth","auth","limit","pagination","docs","_strategy","JWTAuthentication","headers","get","findByID","id","verify","_verified","useSessions","existingSession","sessions","sid","_sid","ignore"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { DeepRequired } from 'ts-essentials';
2
1
  import type { CollectionSlug, GlobalSlug, Payload, User } from '../index.js';
3
2
  import type { PayloadRequest, Where } from '../types/index.js';
4
3
  /**
@@ -172,15 +171,16 @@ export type LoginWithUsernameOptions = {
172
171
  requireEmail?: boolean;
173
172
  requireUsername?: boolean;
174
173
  };
174
+ type AuthCookies = {
175
+ domain?: string;
176
+ sameSite?: 'Lax' | 'None' | 'Strict' | boolean;
177
+ secure?: boolean;
178
+ };
175
179
  export interface IncomingAuthType {
176
180
  /**
177
181
  * Set cookie options, including secure, sameSite, and domain. For advanced users.
178
182
  */
179
- cookies?: {
180
- domain?: string;
181
- sameSite?: 'Lax' | 'None' | 'Strict' | boolean;
182
- secure?: boolean;
183
- };
183
+ cookies?: AuthCookies;
184
184
  /**
185
185
  * How many levels deep a user document should be populated when creating the JWT and binding the user to the req. Defaults to 0 and should only be modified if absolutely necessary, as this will affect performance.
186
186
  * @default 0
@@ -263,14 +263,9 @@ export type VerifyConfig = {
263
263
  generateEmailHTML?: GenerateVerifyEmailHTML;
264
264
  generateEmailSubject?: GenerateVerifyEmailSubject;
265
265
  };
266
- export interface Auth extends Omit<DeepRequired<IncomingAuthType>, 'forgotPassword' | 'loginWithUsername' | 'verify'> {
267
- forgotPassword?: {
268
- expiration?: number;
269
- generateEmailHTML?: GenerateForgotPasswordEmailHTML;
270
- generateEmailSubject?: GenerateForgotPasswordEmailSubject;
271
- };
272
- loginWithUsername: false | LoginWithUsernameOptions;
273
- verify?: boolean | VerifyConfig;
266
+ export interface Auth extends Omit<IncomingAuthType, 'cookies' | 'forgotPassword' | 'lockTime' | 'loginWithUsername' | 'maxLoginAttempts' | 'strategies' | 'tokenExpiration' | 'useSessions' | 'verify'>, Required<Pick<IncomingAuthType, 'forgotPassword' | 'lockTime' | 'maxLoginAttempts' | 'strategies' | 'tokenExpiration' | 'useSessions' | 'verify'>> {
267
+ cookies: Pick<AuthCookies, 'domain'> & Required<Pick<AuthCookies, 'sameSite' | 'secure'>>;
268
+ loginWithUsername: false | Required<LoginWithUsernameOptions>;
274
269
  }
275
270
  export declare function hasWhereAccessResult(result: boolean | Where): result is Where;
276
271
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/auth/types.ts"],"sourcesContent":["import type { DeepRequired } from 'ts-essentials'\n\nimport type { CollectionSlug, GlobalSlug, Payload, User } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\n\n/**\n * A permission object that can be used to determine if a user has access to a specific operation.\n */\nexport type Permission = {\n permission: boolean\n where?: Where\n}\n\nexport type FieldsPermissions = {\n [fieldName: string]: FieldPermissions\n}\n\nexport type BlockPermissions = {\n create: Permission\n fields: FieldsPermissions\n read: Permission\n update: Permission\n}\n\nexport type SanitizedBlockPermissions =\n | {\n fields: SanitizedFieldsPermissions\n }\n | true\n\nexport type BlocksPermissions = {\n [blockSlug: string]: BlockPermissions\n}\n\nexport type SanitizedBlocksPermissions =\n | {\n [blockSlug: string]: SanitizedBlockPermissions\n }\n | true\n\nexport type FieldPermissions = {\n blocks?: BlocksPermissions\n create?: Permission\n fields?: FieldsPermissions\n read?: Permission\n update?: Permission\n}\n\nexport type SanitizedFieldPermissions =\n | {\n blocks?: SanitizedBlocksPermissions\n create: true\n fields?: SanitizedFieldsPermissions\n read: true\n update: true\n }\n | true\n\nexport type SanitizedFieldsPermissions =\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | true\n\nexport type CollectionPermission = {\n create?: Permission\n delete?: Permission\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n // Auth-enabled Collections only\n unlock?: Permission\n update?: Permission\n}\n\nexport type SanitizedCollectionPermission = {\n create?: true\n delete?: true\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n // Auth-enabled Collections only\n unlock?: true\n update?: true\n}\n\nexport type GlobalPermission = {\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n update?: Permission\n}\n\nexport type SanitizedGlobalPermission = {\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n update?: true\n}\n\nexport type DocumentPermissions = CollectionPermission | GlobalPermission\n\nexport type SanitizedDocumentPermissions = SanitizedCollectionPermission | SanitizedGlobalPermission\n\nexport type Permissions = {\n canAccessAdmin: boolean\n collections?: Record<CollectionSlug, CollectionPermission>\n globals?: Record<GlobalSlug, GlobalPermission>\n}\n\nexport type SanitizedPermissions = {\n canAccessAdmin?: boolean\n collections?: {\n [collectionSlug: string]: SanitizedCollectionPermission\n }\n globals?: {\n [globalSlug: string]: SanitizedGlobalPermission\n }\n}\n\n/**\n * Fields injected onto a user at authentication time. They are never stored in the database and\n * never present on a plain document read (e.g. `payload.findByID`) - only on the authenticated\n * user (`req.user`, login/auth/me results, auth strategies).\n */\nexport type AuthRuntimeFields = {\n /**\n * The session ID of the current request. May be present on request-authenticated users when\n * sessions are enabled.\n */\n _sid?: string\n /**\n * The name of the auth strategy that authenticated the request (e.g. `local-jwt`).\n */\n _strategy?: string\n}\n\n/**\n * Note: AuthenticatedUser still carries the write-only `password` from `User` (always `undefined` at runtime).\n * Stripping it cleanly isn't possible, because auth operations build the authenticated user\n * from a read `User` doc, so a `never`-typed `password` would break those assignments\n */\n/**\n * The signed-in user: the read user plus the runtime auth markers (`_strategy`, `_sid`). This is\n * what `req.user`, `payload.auth()`, the `me` operation, auth strategies, and `useAuth().user`\n * return.\n */\nexport type AuthenticatedUser = AuthRuntimeFields & User\n\nexport type UserSession = {\n createdAt?: Date | null | string\n expiresAt: Date | string\n id: string\n}\ntype GenerateVerifyEmailHTML<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateVerifyEmailSubject<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailHTML<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailSubject<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\nexport type AuthStrategyFunctionArgs = {\n /**\n * Specifies whether or not response headers can be set from this strategy.\n */\n canSetHeaders?: boolean\n headers: Request['headers']\n isGraphQL?: boolean\n payload: Payload\n /**\n * The AuthStrategy name property from the payload config.\n */\n strategyName?: string\n}\n\nexport type AuthStrategyResult = {\n responseHeaders?: Headers\n user: AuthenticatedUser | null\n}\n\nexport type AuthStrategyFunction = (\n args: AuthStrategyFunctionArgs,\n) => AuthStrategyResult | Promise<AuthStrategyResult>\nexport type AuthStrategy = {\n authenticate: AuthStrategyFunction\n name: string\n}\n\nexport type LoginWithUsernameOptions =\n | {\n allowEmailLogin?: false\n requireEmail?: boolean\n // If `allowEmailLogin` is false, `requireUsername` must be true (default: true)\n requireUsername?: true\n }\n | {\n allowEmailLogin?: true\n requireEmail?: boolean\n requireUsername?: boolean\n }\n\nexport interface IncomingAuthType {\n /**\n * Set cookie options, including secure, sameSite, and domain. For advanced users.\n */\n cookies?: {\n domain?: string\n sameSite?: 'Lax' | 'None' | 'Strict' | boolean\n secure?: boolean\n }\n /**\n * How many levels deep a user document should be populated when creating the JWT and binding the user to the req. Defaults to 0 and should only be modified if absolutely necessary, as this will affect performance.\n * @default 0\n */\n depth?: number\n /**\n * Advanced - disable Payload's built-in local auth strategy. Only use this property if you have replaced Payload's auth mechanisms with your own.\n */\n disableLocalStrategy?:\n | {\n /**\n * Include auth fields on the collection even though the local strategy is disabled.\n * Useful when you do not want the database or types to vary depending on the auth configuration.\n */\n enableFields?: true\n optionalPassword?: true\n }\n | true\n /**\n * Customize the way that the forgotPassword operation functions.\n * @link https://payloadcms.com/docs/authentication/email#forgot-password\n */\n forgotPassword?: {\n /**\n * The number of milliseconds that the forgot password token should be valid for.\n * @default 3600000 // 1 hour\n */\n expiration?: number\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n }\n /**\n * Set the time (in milliseconds) that a user should be locked out if they fail authentication more times than maxLoginAttempts allows for.\n */\n lockTime?: number\n /**\n * Ability to allow users to login with username/password.\n *\n * @link https://payloadcms.com/docs/authentication/overview#login-with-username\n */\n loginWithUsername?: boolean | LoginWithUsernameOptions\n /**\n * Only allow a user to attempt logging in X amount of times. Automatically locks out a user from authenticating if this limit is passed. Set to 0 to disable.\n */\n maxLoginAttempts?: number\n /***\n * Set to true if you want to remove the token from the returned authentication API responses such as login or refresh.\n */\n removeTokenFromResponses?: true\n /**\n * Advanced - an array of custom authentification strategies to extend this collection's authentication with.\n * @link https://payloadcms.com/docs/authentication/custom-strategies\n */\n strategies?: AuthStrategy[]\n /**\n * Controls how many seconds the token will be valid for. Default is 2 hours.\n * @default 7200\n * @link https://payloadcms.com/docs/authentication/overview#config-options\n */\n tokenExpiration?: number\n /**\n * Payload Authentication provides for API keys to be set on each user within an Authentication-enabled Collection.\n * @default false\n * @link https://payloadcms.com/docs/authentication/api-keys\n */\n useAPIKey?: boolean\n\n /**\n * Use sessions for authentication. Enabled by default.\n * @default true\n */\n useSessions?: boolean\n\n /**\n * Set to true or pass an object with verification options to require users to verify by email before they are allowed to log into your app.\n * @link https://payloadcms.com/docs/authentication/email#email-verification\n */\n verify?:\n | {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n }\n | boolean\n}\n\nexport type VerifyConfig = {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n}\n\nexport interface Auth\n extends Omit<DeepRequired<IncomingAuthType>, 'forgotPassword' | 'loginWithUsername' | 'verify'> {\n forgotPassword?: {\n expiration?: number\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n }\n loginWithUsername: false | LoginWithUsernameOptions\n verify?: boolean | VerifyConfig\n}\n\nexport function hasWhereAccessResult(result: boolean | Where): result is Where {\n return result && typeof result === 'object'\n}\n"],"names":["hasWhereAccessResult","result"],"mappings":"AAwUA,OAAO,SAASA,qBAAqBC,MAAuB;IAC1D,OAAOA,UAAU,OAAOA,WAAW;AACrC"}
1
+ {"version":3,"sources":["../../src/auth/types.ts"],"sourcesContent":["import type { CollectionSlug, GlobalSlug, Payload, User } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\n\n/**\n * A permission object that can be used to determine if a user has access to a specific operation.\n */\nexport type Permission = {\n permission: boolean\n where?: Where\n}\n\nexport type FieldsPermissions = {\n [fieldName: string]: FieldPermissions\n}\n\nexport type BlockPermissions = {\n create: Permission\n fields: FieldsPermissions\n read: Permission\n update: Permission\n}\n\nexport type SanitizedBlockPermissions =\n | {\n fields: SanitizedFieldsPermissions\n }\n | true\n\nexport type BlocksPermissions = {\n [blockSlug: string]: BlockPermissions\n}\n\nexport type SanitizedBlocksPermissions =\n | {\n [blockSlug: string]: SanitizedBlockPermissions\n }\n | true\n\nexport type FieldPermissions = {\n blocks?: BlocksPermissions\n create?: Permission\n fields?: FieldsPermissions\n read?: Permission\n update?: Permission\n}\n\nexport type SanitizedFieldPermissions =\n | {\n blocks?: SanitizedBlocksPermissions\n create: true\n fields?: SanitizedFieldsPermissions\n read: true\n update: true\n }\n | true\n\nexport type SanitizedFieldsPermissions =\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | true\n\nexport type CollectionPermission = {\n create?: Permission\n delete?: Permission\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n // Auth-enabled Collections only\n unlock?: Permission\n update?: Permission\n}\n\nexport type SanitizedCollectionPermission = {\n create?: true\n delete?: true\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n // Auth-enabled Collections only\n unlock?: true\n update?: true\n}\n\nexport type GlobalPermission = {\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n update?: Permission\n}\n\nexport type SanitizedGlobalPermission = {\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n update?: true\n}\n\nexport type DocumentPermissions = CollectionPermission | GlobalPermission\n\nexport type SanitizedDocumentPermissions = SanitizedCollectionPermission | SanitizedGlobalPermission\n\nexport type Permissions = {\n canAccessAdmin: boolean\n collections?: Record<CollectionSlug, CollectionPermission>\n globals?: Record<GlobalSlug, GlobalPermission>\n}\n\nexport type SanitizedPermissions = {\n canAccessAdmin?: boolean\n collections?: {\n [collectionSlug: string]: SanitizedCollectionPermission\n }\n globals?: {\n [globalSlug: string]: SanitizedGlobalPermission\n }\n}\n\n/**\n * Fields injected onto a user at authentication time. They are never stored in the database and\n * never present on a plain document read (e.g. `payload.findByID`) - only on the authenticated\n * user (`req.user`, login/auth/me results, auth strategies).\n */\nexport type AuthRuntimeFields = {\n /**\n * The session ID of the current request. May be present on request-authenticated users when\n * sessions are enabled.\n */\n _sid?: string\n /**\n * The name of the auth strategy that authenticated the request (e.g. `local-jwt`).\n */\n _strategy?: string\n}\n\n/**\n * Note: AuthenticatedUser still carries the write-only `password` from `User` (always `undefined` at runtime).\n * Stripping it cleanly isn't possible, because auth operations build the authenticated user\n * from a read `User` doc, so a `never`-typed `password` would break those assignments\n */\n/**\n * The signed-in user: the read user plus the runtime auth markers (`_strategy`, `_sid`). This is\n * what `req.user`, `payload.auth()`, the `me` operation, auth strategies, and `useAuth().user`\n * return.\n */\nexport type AuthenticatedUser = AuthRuntimeFields & User\n\nexport type UserSession = {\n createdAt?: Date | null | string\n expiresAt: Date | string\n id: string\n}\ntype GenerateVerifyEmailHTML<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateVerifyEmailSubject<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailHTML<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailSubject<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\nexport type AuthStrategyFunctionArgs = {\n /**\n * Specifies whether or not response headers can be set from this strategy.\n */\n canSetHeaders?: boolean\n headers: Request['headers']\n isGraphQL?: boolean\n payload: Payload\n /**\n * The AuthStrategy name property from the payload config.\n */\n strategyName?: string\n}\n\nexport type AuthStrategyResult = {\n responseHeaders?: Headers\n user: AuthenticatedUser | null\n}\n\nexport type AuthStrategyFunction = (\n args: AuthStrategyFunctionArgs,\n) => AuthStrategyResult | Promise<AuthStrategyResult>\nexport type AuthStrategy = {\n authenticate: AuthStrategyFunction\n name: string\n}\n\nexport type LoginWithUsernameOptions =\n | {\n allowEmailLogin?: false\n requireEmail?: boolean\n // If `allowEmailLogin` is false, `requireUsername` must be true (default: true)\n requireUsername?: true\n }\n | {\n allowEmailLogin?: true\n requireEmail?: boolean\n requireUsername?: boolean\n }\n\ntype AuthCookies = {\n domain?: string\n sameSite?: 'Lax' | 'None' | 'Strict' | boolean\n secure?: boolean\n}\n\nexport interface IncomingAuthType {\n /**\n * Set cookie options, including secure, sameSite, and domain. For advanced users.\n */\n cookies?: AuthCookies\n /**\n * How many levels deep a user document should be populated when creating the JWT and binding the user to the req. Defaults to 0 and should only be modified if absolutely necessary, as this will affect performance.\n * @default 0\n */\n depth?: number\n /**\n * Advanced - disable Payload's built-in local auth strategy. Only use this property if you have replaced Payload's auth mechanisms with your own.\n */\n disableLocalStrategy?:\n | {\n /**\n * Include auth fields on the collection even though the local strategy is disabled.\n * Useful when you do not want the database or types to vary depending on the auth configuration.\n */\n enableFields?: true\n optionalPassword?: true\n }\n | true\n /**\n * Customize the way that the forgotPassword operation functions.\n * @link https://payloadcms.com/docs/authentication/email#forgot-password\n */\n forgotPassword?: {\n /**\n * The number of milliseconds that the forgot password token should be valid for.\n * @default 3600000 // 1 hour\n */\n expiration?: number\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n }\n /**\n * Set the time (in milliseconds) that a user should be locked out if they fail authentication more times than maxLoginAttempts allows for.\n */\n lockTime?: number\n /**\n * Ability to allow users to login with username/password.\n *\n * @link https://payloadcms.com/docs/authentication/overview#login-with-username\n */\n loginWithUsername?: boolean | LoginWithUsernameOptions\n /**\n * Only allow a user to attempt logging in X amount of times. Automatically locks out a user from authenticating if this limit is passed. Set to 0 to disable.\n */\n maxLoginAttempts?: number\n /***\n * Set to true if you want to remove the token from the returned authentication API responses such as login or refresh.\n */\n removeTokenFromResponses?: true\n /**\n * Advanced - an array of custom authentification strategies to extend this collection's authentication with.\n * @link https://payloadcms.com/docs/authentication/custom-strategies\n */\n strategies?: AuthStrategy[]\n /**\n * Controls how many seconds the token will be valid for. Default is 2 hours.\n * @default 7200\n * @link https://payloadcms.com/docs/authentication/overview#config-options\n */\n tokenExpiration?: number\n /**\n * Payload Authentication provides for API keys to be set on each user within an Authentication-enabled Collection.\n * @default false\n * @link https://payloadcms.com/docs/authentication/api-keys\n */\n useAPIKey?: boolean\n\n /**\n * Use sessions for authentication. Enabled by default.\n * @default true\n */\n useSessions?: boolean\n\n /**\n * Set to true or pass an object with verification options to require users to verify by email before they are allowed to log into your app.\n * @link https://payloadcms.com/docs/authentication/email#email-verification\n */\n verify?:\n | {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n }\n | boolean\n}\n\nexport type VerifyConfig = {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n}\n\nexport interface Auth\n extends Omit<\n IncomingAuthType,\n | 'cookies'\n | 'forgotPassword'\n | 'lockTime'\n | 'loginWithUsername'\n | 'maxLoginAttempts'\n | 'strategies'\n | 'tokenExpiration'\n | 'useSessions'\n | 'verify'\n >,\n Required<\n Pick<\n IncomingAuthType,\n | 'forgotPassword'\n | 'lockTime'\n | 'maxLoginAttempts'\n | 'strategies'\n | 'tokenExpiration'\n | 'useSessions'\n | 'verify'\n >\n > {\n cookies: Pick<AuthCookies, 'domain'> & Required<Pick<AuthCookies, 'sameSite' | 'secure'>>\n loginWithUsername: false | Required<LoginWithUsernameOptions>\n}\n\nexport function hasWhereAccessResult(result: boolean | Where): result is Where {\n return result && typeof result === 'object'\n}\n"],"names":["hasWhereAccessResult","result"],"mappings":"AA0VA,OAAO,SAASA,qBAAqBC,MAAuB;IAC1D,OAAOA,UAAU,OAAOA,WAAW;AACrC"}
@@ -0,0 +1,22 @@
1
+ import type { CollectionAccess } from '../collections/config/types.js';
2
+ import type { Access } from '../config/types.js';
3
+ import type { GlobalAccess } from '../globals/config/types.js';
4
+ type CommonArgs = {
5
+ access?: Access;
6
+ slug: string;
7
+ };
8
+ type AdminAccess = NonNullable<CollectionAccess['admin']>;
9
+ type Args = ({
10
+ entityType: 'collection';
11
+ operation: Exclude<keyof CollectionAccess, 'admin'>;
12
+ } | {
13
+ entityType: 'global';
14
+ operation: keyof GlobalAccess;
15
+ }) & CommonArgs;
16
+ export declare const withBaseAccess: (options: Args) => Access;
17
+ export declare const withBaseAdminAccess: ({ slug, access, }: {
18
+ access?: AdminAccess;
19
+ slug: string;
20
+ }) => AdminAccess;
21
+ export {};
22
+ //# sourceMappingURL=withBaseAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withBaseAccess.d.ts","sourceRoot":"","sources":["../../src/auth/withBaseAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,MAAM,EAA4B,MAAM,oBAAoB,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;AAEzD,KAAK,IAAI,GAAG,CACR;IACE,UAAU,EAAE,YAAY,CAAA;IACxB,SAAS,EAAE,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,CAAC,CAAA;CACpD,GACD;IACE,UAAU,EAAE,QAAQ,CAAA;IACpB,SAAS,EAAE,MAAM,YAAY,CAAA;CAC9B,CACJ,GACC,UAAU,CAAA;AAIZ,eAAO,MAAM,cAAc,YAAa,IAAI,KAAG,MAkD9C,CAAA;AAED,eAAO,MAAM,mBAAmB,sBAG7B;IACD,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,KAAG,WA2BH,CAAA"}