@payloadcms/next 3.68.0-internal-debug.3a174b1 → 3.68.0-internal-debug.591ab42

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 (386) hide show
  1. package/dist/auth/login.js +52 -58
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +39 -44
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +45 -47
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/config.js +1 -0
  8. package/dist/config.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  10. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  16. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/index.js +48 -28
  22. package/dist/elements/DocumentHeader/index.js.map +1 -1
  23. package/dist/elements/FormHeader/index.js +30 -16
  24. package/dist/elements/FormHeader/index.js.map +1 -1
  25. package/dist/elements/Logo/index.js +19 -34
  26. package/dist/elements/Logo/index.js.map +1 -1
  27. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  28. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  29. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  30. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  31. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  32. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  33. package/dist/elements/Nav/getNavPrefs.js +27 -22
  34. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  35. package/dist/elements/Nav/index.client.js +97 -118
  36. package/dist/elements/Nav/index.client.js.map +1 -1
  37. package/dist/elements/Nav/index.js +148 -127
  38. package/dist/elements/Nav/index.js.map +1 -1
  39. package/dist/esbuildEntry.d.ts +5 -0
  40. package/dist/esbuildEntry.d.ts.map +1 -0
  41. package/dist/esbuildEntry.js +6 -0
  42. package/dist/esbuildEntry.js.map +1 -0
  43. package/dist/exports/auth.js +1 -0
  44. package/dist/exports/auth.js.map +1 -1
  45. package/dist/exports/client.js +1 -1
  46. package/dist/exports/client.js.map +1 -1
  47. package/dist/exports/layouts.js +1 -0
  48. package/dist/exports/layouts.js.map +1 -1
  49. package/dist/exports/routes.js +1 -0
  50. package/dist/exports/routes.js.map +1 -1
  51. package/dist/exports/rsc.js +1 -0
  52. package/dist/exports/rsc.js.map +1 -1
  53. package/dist/exports/templates.js +1 -0
  54. package/dist/exports/templates.js.map +1 -1
  55. package/dist/exports/utilities.js +7 -12
  56. package/dist/exports/utilities.js.map +1 -1
  57. package/dist/exports/views.js +1 -0
  58. package/dist/exports/views.js.map +1 -1
  59. package/dist/index.js +1 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/layouts/Root/NestProviders.js +21 -20
  62. package/dist/layouts/Root/NestProviders.js.map +1 -1
  63. package/dist/layouts/Root/checkDependencies.js +49 -41
  64. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  65. package/dist/layouts/Root/index.js +128 -103
  66. package/dist/layouts/Root/index.js.map +1 -1
  67. package/dist/routes/graphql/handler.js +114 -122
  68. package/dist/routes/graphql/handler.js.map +1 -1
  69. package/dist/routes/graphql/index.js +1 -0
  70. package/dist/routes/graphql/index.js.map +1 -1
  71. package/dist/routes/graphql/playground.js +24 -23
  72. package/dist/routes/graphql/playground.js.map +1 -1
  73. package/dist/routes/index.js +1 -0
  74. package/dist/routes/index.js.map +1 -1
  75. package/dist/routes/rest/index.js +20 -19
  76. package/dist/routes/rest/index.js.map +1 -1
  77. package/dist/routes/rest/og/image.js +103 -79
  78. package/dist/routes/rest/og/image.js.map +1 -1
  79. package/dist/routes/rest/og/index.js +59 -54
  80. package/dist/routes/rest/og/index.js.map +1 -1
  81. package/dist/templates/Default/NavHamburger/index.js +12 -20
  82. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  83. package/dist/templates/Default/Wrapper/index.js +20 -44
  84. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  85. package/dist/templates/Default/index.js +183 -133
  86. package/dist/templates/Default/index.js.map +1 -1
  87. package/dist/templates/Minimal/index.js +26 -17
  88. package/dist/templates/Minimal/index.js.map +1 -1
  89. package/dist/utilities/getExistingAuthToken.js +3 -2
  90. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  91. package/dist/utilities/getNextRequestI18n.js +12 -13
  92. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  93. package/dist/utilities/getPayloadHMR.js +5 -5
  94. package/dist/utilities/getPayloadHMR.js.map +1 -1
  95. package/dist/utilities/getPreferences.js +27 -22
  96. package/dist/utilities/getPreferences.js.map +1 -1
  97. package/dist/utilities/getRequestLocale.js +13 -14
  98. package/dist/utilities/getRequestLocale.js.map +1 -1
  99. package/dist/utilities/getRequestTheme.js +19 -19
  100. package/dist/utilities/getRequestTheme.js.map +1 -1
  101. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  102. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  103. package/dist/utilities/getVisibleEntities.js +12 -23
  104. package/dist/utilities/getVisibleEntities.js.map +1 -1
  105. package/dist/utilities/handleAuthRedirect.js +22 -36
  106. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  107. package/dist/utilities/handleServerFunctions.js +32 -39
  108. package/dist/utilities/handleServerFunctions.js.map +1 -1
  109. package/dist/utilities/initReq.js +78 -96
  110. package/dist/utilities/initReq.js.map +1 -1
  111. package/dist/utilities/isCustomAdminView.js +22 -26
  112. package/dist/utilities/isCustomAdminView.js.map +1 -1
  113. package/dist/utilities/isPublicAdminRoute.js +26 -20
  114. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  115. package/dist/utilities/meta.js +68 -63
  116. package/dist/utilities/meta.js.map +1 -1
  117. package/dist/utilities/selectiveCache.js +25 -26
  118. package/dist/utilities/selectiveCache.js.map +1 -1
  119. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  120. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  121. package/dist/utilities/slugify.js +24 -33
  122. package/dist/utilities/slugify.js.map +1 -1
  123. package/dist/utilities/timestamp.js +7 -6
  124. package/dist/utilities/timestamp.js.map +1 -1
  125. package/dist/views/API/LocaleSelector/index.js +17 -39
  126. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  127. package/dist/views/API/RenderJSON/index.js +171 -126
  128. package/dist/views/API/RenderJSON/index.js.map +1 -1
  129. package/dist/views/API/index.client.js +287 -197
  130. package/dist/views/API/index.client.js.map +1 -1
  131. package/dist/views/API/index.js +7 -2
  132. package/dist/views/API/index.js.map +1 -1
  133. package/dist/views/API/metadata.js +18 -23
  134. package/dist/views/API/metadata.js.map +1 -1
  135. package/dist/views/Account/ResetPreferences/index.js +74 -91
  136. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  137. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  138. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  139. package/dist/views/Account/Settings/index.js +62 -28
  140. package/dist/views/Account/Settings/index.js.map +1 -1
  141. package/dist/views/Account/ToggleTheme/index.js +38 -55
  142. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  143. package/dist/views/Account/index.client.js +16 -32
  144. package/dist/views/Account/index.client.js.map +1 -1
  145. package/dist/views/Account/index.js +144 -155
  146. package/dist/views/Account/index.js.map +1 -1
  147. package/dist/views/Account/metadata.js +8 -12
  148. package/dist/views/Account/metadata.js.map +1 -1
  149. package/dist/views/BrowseByFolder/buildView.js +139 -158
  150. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  151. package/dist/views/BrowseByFolder/index.js +16 -17
  152. package/dist/views/BrowseByFolder/index.js.map +1 -1
  153. package/dist/views/BrowseByFolder/metadata.js +13 -15
  154. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  155. package/dist/views/CollectionFolders/buildView.js +123 -143
  156. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  157. package/dist/views/CollectionFolders/index.js +16 -17
  158. package/dist/views/CollectionFolders/index.js.map +1 -1
  159. package/dist/views/CollectionFolders/metadata.js +18 -21
  160. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  161. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  162. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  163. package/dist/views/CollectionTrash/index.js +17 -18
  164. package/dist/views/CollectionTrash/index.js.map +1 -1
  165. package/dist/views/CollectionTrash/metadata.js +18 -21
  166. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  167. package/dist/views/CreateFirstUser/index.client.js +114 -101
  168. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  169. package/dist/views/CreateFirstUser/index.js +87 -81
  170. package/dist/views/CreateFirstUser/index.js.map +1 -1
  171. package/dist/views/CreateFirstUser/metadata.js +8 -12
  172. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  173. package/dist/views/Dashboard/Default/index.js +176 -152
  174. package/dist/views/Dashboard/Default/index.js.map +1 -1
  175. package/dist/views/Dashboard/index.js +97 -90
  176. package/dist/views/Dashboard/index.js.map +1 -1
  177. package/dist/views/Dashboard/metadata.js +10 -14
  178. package/dist/views/Dashboard/metadata.js.map +1 -1
  179. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  180. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  181. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  182. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  183. package/dist/views/Document/getDocPreferences.js +40 -41
  184. package/dist/views/Document/getDocPreferences.js.map +1 -1
  185. package/dist/views/Document/getDocumentData.js +44 -55
  186. package/dist/views/Document/getDocumentData.js.map +1 -1
  187. package/dist/views/Document/getDocumentPermissions.js +77 -80
  188. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  189. package/dist/views/Document/getDocumentView.js +313 -283
  190. package/dist/views/Document/getDocumentView.js.map +1 -1
  191. package/dist/views/Document/getIsLocked.js +66 -66
  192. package/dist/views/Document/getIsLocked.js.map +1 -1
  193. package/dist/views/Document/getMetaBySegment.js +130 -136
  194. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  195. package/dist/views/Document/getVersions.js +204 -194
  196. package/dist/views/Document/getVersions.js.map +1 -1
  197. package/dist/views/Document/handleServerFunction.js +103 -128
  198. package/dist/views/Document/handleServerFunction.js.map +1 -1
  199. package/dist/views/Document/index.js +315 -354
  200. package/dist/views/Document/index.js.map +1 -1
  201. package/dist/views/Document/metadata.js +2 -1
  202. package/dist/views/Document/metadata.js.map +1 -1
  203. package/dist/views/Document/renderDocumentSlots.js +121 -132
  204. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  205. package/dist/views/Edit/index.js +10 -6
  206. package/dist/views/Edit/index.js.map +1 -1
  207. package/dist/views/Edit/metadata.js +36 -46
  208. package/dist/views/Edit/metadata.js.map +1 -1
  209. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  210. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  211. package/dist/views/ForgotPassword/index.js +79 -62
  212. package/dist/views/ForgotPassword/index.js.map +1 -1
  213. package/dist/views/ForgotPassword/metadata.js +8 -12
  214. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  215. package/dist/views/List/createSerializableValue.js +12 -11
  216. package/dist/views/List/createSerializableValue.js.map +1 -1
  217. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  218. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  219. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  220. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  221. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  222. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  223. package/dist/views/List/handleGroupBy.js +133 -150
  224. package/dist/views/List/handleGroupBy.js.map +1 -1
  225. package/dist/views/List/handleServerFunction.js +96 -119
  226. package/dist/views/List/handleServerFunction.js.map +1 -1
  227. package/dist/views/List/index.js +305 -324
  228. package/dist/views/List/index.js.map +1 -1
  229. package/dist/views/List/metadata.js +17 -20
  230. package/dist/views/List/metadata.js.map +1 -1
  231. package/dist/views/List/renderListViewSlots.js +82 -75
  232. package/dist/views/List/renderListViewSlots.js.map +1 -1
  233. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  234. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  235. package/dist/views/List/transformColumnsToSelect.js +9 -8
  236. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  237. package/dist/views/Login/LoginField/index.js +57 -89
  238. package/dist/views/Login/LoginField/index.js.map +1 -1
  239. package/dist/views/Login/LoginForm/index.js +104 -157
  240. package/dist/views/Login/LoginForm/index.js.map +1 -1
  241. package/dist/views/Login/index.js +82 -85
  242. package/dist/views/Login/index.js.map +1 -1
  243. package/dist/views/Login/metadata.js +8 -12
  244. package/dist/views/Login/metadata.js.map +1 -1
  245. package/dist/views/Logout/LogoutClient.js +83 -119
  246. package/dist/views/Logout/LogoutClient.js.map +1 -1
  247. package/dist/views/Logout/index.js +29 -29
  248. package/dist/views/Logout/index.js.map +1 -1
  249. package/dist/views/Logout/metadata.js +7 -11
  250. package/dist/views/Logout/metadata.js.map +1 -1
  251. package/dist/views/NotFound/index.client.js +71 -82
  252. package/dist/views/NotFound/index.client.js.map +1 -1
  253. package/dist/views/NotFound/index.js +71 -72
  254. package/dist/views/NotFound/index.js.map +1 -1
  255. package/dist/views/NotFound/metadata.js +7 -9
  256. package/dist/views/NotFound/metadata.js.map +1 -1
  257. package/dist/views/ResetPassword/ResetPasswordForm/index.js +94 -107
  258. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  259. package/dist/views/ResetPassword/index.js +93 -73
  260. package/dist/views/ResetPassword/index.js.map +1 -1
  261. package/dist/views/ResetPassword/metadata.js +8 -12
  262. package/dist/views/ResetPassword/metadata.js.map +1 -1
  263. package/dist/views/Root/attachViewActions.js +18 -23
  264. package/dist/views/Root/attachViewActions.js.map +1 -1
  265. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  266. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  267. package/dist/views/Root/getCustomViewByKey.js +12 -14
  268. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  269. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  270. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  271. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  272. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  273. package/dist/views/Root/getRouteData.js +333 -325
  274. package/dist/views/Root/getRouteData.js.map +1 -1
  275. package/dist/views/Root/index.js +247 -269
  276. package/dist/views/Root/index.js.map +1 -1
  277. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  278. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  279. package/dist/views/Root/metadata.js +176 -181
  280. package/dist/views/Root/metadata.js.map +1 -1
  281. package/dist/views/Unauthorized/index.js +54 -46
  282. package/dist/views/Unauthorized/index.js.map +1 -1
  283. package/dist/views/Unauthorized/metadata.js +8 -12
  284. package/dist/views/Unauthorized/metadata.js.map +1 -1
  285. package/dist/views/Verify/index.client.js +25 -43
  286. package/dist/views/Verify/index.client.js.map +1 -1
  287. package/dist/views/Verify/index.js +68 -62
  288. package/dist/views/Verify/index.js.map +1 -1
  289. package/dist/views/Verify/metadata.js +8 -12
  290. package/dist/views/Verify/metadata.js.map +1 -1
  291. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  292. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  293. package/dist/views/Version/Default/SetStepNav.js +86 -127
  294. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  295. package/dist/views/Version/Default/index.js +380 -236
  296. package/dist/views/Version/Default/index.js.map +1 -1
  297. package/dist/views/Version/Default/types.js +2 -1
  298. package/dist/views/Version/Default/types.js.map +1 -1
  299. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  300. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  301. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  302. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  303. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  304. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  305. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  306. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  307. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  308. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  309. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  310. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  311. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  312. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  313. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
  314. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  315. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
  316. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  317. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  318. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  319. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  320. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  321. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  322. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  323. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  324. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  325. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +251 -210
  326. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  327. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  328. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  329. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  330. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  331. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  332. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  333. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  334. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  335. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  336. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  337. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  338. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  339. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
  340. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  341. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  342. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  343. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  344. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  345. package/dist/views/Version/Restore/index.js +116 -91
  346. package/dist/views/Version/Restore/index.js.map +1 -1
  347. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  348. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  349. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  350. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  351. package/dist/views/Version/SelectComparison/index.js +73 -50
  352. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  353. package/dist/views/Version/SelectComparison/types.js +2 -1
  354. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  355. package/dist/views/Version/SelectLocales/index.js +34 -32
  356. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  357. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
  358. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  359. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
  360. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  361. package/dist/views/Version/fetchVersions.js +113 -138
  362. package/dist/views/Version/fetchVersions.js.map +1 -1
  363. package/dist/views/Version/index.js +325 -323
  364. package/dist/views/Version/index.js.map +1 -1
  365. package/dist/views/Version/metadata.js +43 -50
  366. package/dist/views/Version/metadata.js.map +1 -1
  367. package/dist/views/Versions/buildColumns.js +95 -79
  368. package/dist/views/Versions/buildColumns.js.map +1 -1
  369. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  370. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  371. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  372. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  373. package/dist/views/Versions/cells/ID/index.js +10 -8
  374. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  375. package/dist/views/Versions/index.client.js +106 -83
  376. package/dist/views/Versions/index.client.js.map +1 -1
  377. package/dist/views/Versions/index.js +140 -140
  378. package/dist/views/Versions/index.js.map +1 -1
  379. package/dist/views/Versions/metadata.js +37 -44
  380. package/dist/views/Versions/metadata.js.map +1 -1
  381. package/dist/views/Versions/types.js +2 -1
  382. package/dist/views/Versions/types.js.map +1 -1
  383. package/dist/withPayload.js +216 -169
  384. package/dist/withPayload.js.map +1 -1
  385. package/package.json +9 -8
  386. package/dist/prod/styles.css +0 -1
@@ -1,209 +1,219 @@
1
1
  import { sanitizeID } from '@payloadcms/ui/shared';
2
2
  import { combineQueries, extractAccessFromPermission } from 'payload';
3
3
  import { hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared';
4
- // TODO: in the future, we can parallelize some of these queries
4
+ /**
5
+ * Optional - performance optimization.
6
+ * If a document has been fetched before fetching versions, pass it here.
7
+ * If this document is set to published, we can skip the query to find out if a published document exists,
8
+ * as the passed in document is proof of its existence.
9
+ */ // TODO: in the future, we can parallelize some of these queries
5
10
  // this will speed up the API by ~30-100ms or so
6
11
  // Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.
7
- export const getVersions = async ({
8
- id: idArg,
9
- collectionConfig,
10
- doc,
11
- docPermissions,
12
- globalConfig,
13
- locale,
14
- payload,
15
- user
16
- }) => {
17
- const id = sanitizeID(idArg);
18
- let publishedDoc;
19
- let hasPublishedDoc = false;
20
- let mostRecentVersionIsAutosaved = false;
21
- let unpublishedVersionCount = 0;
22
- let versionCount = 0;
23
- const entityConfig = collectionConfig || globalConfig;
24
- const versionsConfig = entityConfig?.versions;
25
- const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions);
26
- if (!shouldFetchVersions) {
27
- const hasPublishedDoc = Boolean(collectionConfig && id || globalConfig);
28
- return {
29
- hasPublishedDoc,
30
- mostRecentVersionIsAutosaved,
31
- unpublishedVersionCount,
32
- versionCount
33
- };
34
- }
35
- if (collectionConfig) {
36
- if (!id) {
37
- return {
38
- hasPublishedDoc,
39
- mostRecentVersionIsAutosaved,
40
- unpublishedVersionCount,
41
- versionCount
42
- };
12
+ export const getVersions = async ({ id: idArg, collectionConfig, doc, docPermissions, globalConfig, locale, payload, user })=>{
13
+ const id = sanitizeID(idArg);
14
+ let publishedDoc;
15
+ let hasPublishedDoc = false;
16
+ let mostRecentVersionIsAutosaved = false;
17
+ let unpublishedVersionCount = 0;
18
+ let versionCount = 0;
19
+ const entityConfig = collectionConfig || globalConfig;
20
+ const versionsConfig = entityConfig?.versions;
21
+ const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions);
22
+ if (!shouldFetchVersions) {
23
+ const hasPublishedDoc = Boolean(collectionConfig && id || globalConfig);
24
+ return {
25
+ hasPublishedDoc,
26
+ mostRecentVersionIsAutosaved,
27
+ unpublishedVersionCount,
28
+ versionCount
29
+ };
43
30
  }
44
- if (hasDraftsEnabled(collectionConfig)) {
45
- // Find out if a published document exists
46
- if (doc?._status === 'published') {
47
- publishedDoc = doc;
48
- } else {
49
- publishedDoc = (await payload.find({
50
- collection: collectionConfig.slug,
51
- depth: 0,
52
- limit: 1,
53
- locale: locale || undefined,
54
- pagination: false,
55
- select: {
56
- updatedAt: true
57
- },
58
- user,
59
- where: {
60
- and: [{
61
- or: [{
62
- _status: {
63
- equals: 'published'
64
- }
65
- }, {
66
- _status: {
67
- exists: false
31
+ if (collectionConfig) {
32
+ if (!id) {
33
+ return {
34
+ hasPublishedDoc,
35
+ mostRecentVersionIsAutosaved,
36
+ unpublishedVersionCount,
37
+ versionCount
38
+ };
39
+ }
40
+ if (hasDraftsEnabled(collectionConfig)) {
41
+ // Find out if a published document exists
42
+ if (doc?._status === 'published') {
43
+ publishedDoc = doc;
44
+ } else {
45
+ publishedDoc = (await payload.find({
46
+ collection: collectionConfig.slug,
47
+ depth: 0,
48
+ limit: 1,
49
+ locale: locale || undefined,
50
+ pagination: false,
51
+ select: {
52
+ updatedAt: true
53
+ },
54
+ user,
55
+ where: {
56
+ and: [
57
+ {
58
+ or: [
59
+ {
60
+ _status: {
61
+ equals: 'published'
62
+ }
63
+ },
64
+ {
65
+ _status: {
66
+ exists: false
67
+ }
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ id: {
73
+ equals: id
74
+ }
75
+ }
76
+ ]
77
+ }
78
+ }))?.docs?.[0];
79
+ }
80
+ if (publishedDoc) {
81
+ hasPublishedDoc = true;
82
+ }
83
+ if (hasAutosaveEnabled(collectionConfig)) {
84
+ const mostRecentVersion = await payload.findVersions({
85
+ collection: collectionConfig.slug,
86
+ depth: 0,
87
+ limit: 1,
88
+ select: {
89
+ autosave: true
90
+ },
91
+ user,
92
+ where: combineQueries({
93
+ and: [
94
+ {
95
+ parent: {
96
+ equals: id
97
+ }
98
+ }
99
+ ]
100
+ }, extractAccessFromPermission(docPermissions.readVersions))
101
+ });
102
+ if (mostRecentVersion.docs[0] && 'autosave' in mostRecentVersion.docs[0] && mostRecentVersion.docs[0].autosave) {
103
+ mostRecentVersionIsAutosaved = true;
68
104
  }
69
- }]
70
- }, {
71
- id: {
72
- equals: id
73
- }
74
- }]
75
- }
76
- }))?.docs?.[0];
77
- }
78
- if (publishedDoc) {
79
- hasPublishedDoc = true;
80
- }
81
- if (hasAutosaveEnabled(collectionConfig)) {
82
- const mostRecentVersion = await payload.findVersions({
83
- collection: collectionConfig.slug,
84
- depth: 0,
85
- limit: 1,
86
- select: {
87
- autosave: true
88
- },
89
- user,
90
- where: combineQueries({
91
- and: [{
92
- parent: {
93
- equals: id
94
- }
95
- }]
96
- }, extractAccessFromPermission(docPermissions.readVersions))
97
- });
98
- if (mostRecentVersion.docs[0] && 'autosave' in mostRecentVersion.docs[0] && mostRecentVersion.docs[0].autosave) {
99
- mostRecentVersionIsAutosaved = true;
105
+ }
106
+ if (publishedDoc?.updatedAt) {
107
+ ;
108
+ ({ totalDocs: unpublishedVersionCount } = await payload.countVersions({
109
+ collection: collectionConfig.slug,
110
+ user,
111
+ where: combineQueries({
112
+ and: [
113
+ {
114
+ parent: {
115
+ equals: id
116
+ }
117
+ },
118
+ {
119
+ 'version._status': {
120
+ equals: 'draft'
121
+ }
122
+ },
123
+ {
124
+ updatedAt: {
125
+ greater_than: publishedDoc.updatedAt
126
+ }
127
+ }
128
+ ]
129
+ }, extractAccessFromPermission(docPermissions.readVersions))
130
+ }));
131
+ }
100
132
  }
101
- }
102
- if (publishedDoc?.updatedAt) {
103
- ({
104
- totalDocs: unpublishedVersionCount
105
- } = await payload.countVersions({
106
- collection: collectionConfig.slug,
107
- user,
108
- where: combineQueries({
109
- and: [{
110
- parent: {
111
- equals: id
112
- }
113
- }, {
114
- 'version._status': {
115
- equals: 'draft'
116
- }
117
- }, {
118
- updatedAt: {
119
- greater_than: publishedDoc.updatedAt
120
- }
121
- }]
122
- }, extractAccessFromPermission(docPermissions.readVersions))
133
+ ;
134
+ ({ totalDocs: versionCount } = await payload.countVersions({
135
+ collection: collectionConfig.slug,
136
+ depth: 0,
137
+ user,
138
+ where: combineQueries({
139
+ and: [
140
+ {
141
+ parent: {
142
+ equals: id
143
+ }
144
+ }
145
+ ]
146
+ }, extractAccessFromPermission(docPermissions.readVersions))
123
147
  }));
124
- }
125
148
  }
126
- ({
127
- totalDocs: versionCount
128
- } = await payload.countVersions({
129
- collection: collectionConfig.slug,
130
- depth: 0,
131
- user,
132
- where: combineQueries({
133
- and: [{
134
- parent: {
135
- equals: id
136
- }
137
- }]
138
- }, extractAccessFromPermission(docPermissions.readVersions))
139
- }));
140
- }
141
- if (globalConfig) {
142
- // Find out if a published document exists
143
- if (hasDraftsEnabled(globalConfig)) {
144
- if (doc?._status === 'published') {
145
- publishedDoc = doc;
146
- } else {
147
- publishedDoc = await payload.findGlobal({
148
- slug: globalConfig.slug,
149
- depth: 0,
150
- locale,
151
- select: {
152
- updatedAt: true
153
- },
154
- user
155
- });
156
- }
157
- if (publishedDoc?._status === 'published') {
158
- hasPublishedDoc = true;
159
- }
160
- if (hasAutosaveEnabled(globalConfig)) {
161
- const mostRecentVersion = await payload.findGlobalVersions({
162
- slug: globalConfig.slug,
163
- limit: 1,
164
- select: {
165
- autosave: true
166
- },
167
- user
168
- });
169
- if (mostRecentVersion.docs[0] && 'autosave' in mostRecentVersion.docs[0] && mostRecentVersion.docs[0].autosave) {
170
- mostRecentVersionIsAutosaved = true;
149
+ if (globalConfig) {
150
+ // Find out if a published document exists
151
+ if (hasDraftsEnabled(globalConfig)) {
152
+ if (doc?._status === 'published') {
153
+ publishedDoc = doc;
154
+ } else {
155
+ publishedDoc = await payload.findGlobal({
156
+ slug: globalConfig.slug,
157
+ depth: 0,
158
+ locale,
159
+ select: {
160
+ updatedAt: true
161
+ },
162
+ user
163
+ });
164
+ }
165
+ if (publishedDoc?._status === 'published') {
166
+ hasPublishedDoc = true;
167
+ }
168
+ if (hasAutosaveEnabled(globalConfig)) {
169
+ const mostRecentVersion = await payload.findGlobalVersions({
170
+ slug: globalConfig.slug,
171
+ limit: 1,
172
+ select: {
173
+ autosave: true
174
+ },
175
+ user
176
+ });
177
+ if (mostRecentVersion.docs[0] && 'autosave' in mostRecentVersion.docs[0] && mostRecentVersion.docs[0].autosave) {
178
+ mostRecentVersionIsAutosaved = true;
179
+ }
180
+ }
181
+ if (publishedDoc?.updatedAt) {
182
+ ;
183
+ ({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({
184
+ depth: 0,
185
+ global: globalConfig.slug,
186
+ user,
187
+ where: combineQueries({
188
+ and: [
189
+ {
190
+ 'version._status': {
191
+ equals: 'draft'
192
+ }
193
+ },
194
+ {
195
+ updatedAt: {
196
+ greater_than: publishedDoc.updatedAt
197
+ }
198
+ }
199
+ ]
200
+ }, extractAccessFromPermission(docPermissions.readVersions))
201
+ }));
202
+ }
171
203
  }
172
- }
173
- if (publishedDoc?.updatedAt) {
174
- ({
175
- totalDocs: unpublishedVersionCount
176
- } = await payload.countGlobalVersions({
177
- depth: 0,
178
- global: globalConfig.slug,
179
- user,
180
- where: combineQueries({
181
- and: [{
182
- 'version._status': {
183
- equals: 'draft'
184
- }
185
- }, {
186
- updatedAt: {
187
- greater_than: publishedDoc.updatedAt
188
- }
189
- }]
190
- }, extractAccessFromPermission(docPermissions.readVersions))
204
+ ;
205
+ ({ totalDocs: versionCount } = await payload.countGlobalVersions({
206
+ depth: 0,
207
+ global: globalConfig.slug,
208
+ user
191
209
  }));
192
- }
193
210
  }
194
- ({
195
- totalDocs: versionCount
196
- } = await payload.countGlobalVersions({
197
- depth: 0,
198
- global: globalConfig.slug,
199
- user
200
- }));
201
- }
202
- return {
203
- hasPublishedDoc,
204
- mostRecentVersionIsAutosaved,
205
- unpublishedVersionCount,
206
- versionCount
207
- };
211
+ return {
212
+ hasPublishedDoc,
213
+ mostRecentVersionIsAutosaved,
214
+ unpublishedVersionCount,
215
+ versionCount
216
+ };
208
217
  };
218
+
209
219
  //# sourceMappingURL=getVersions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getVersions.js","names":["sanitizeID","combineQueries","extractAccessFromPermission","hasAutosaveEnabled","hasDraftsEnabled","getVersions","id","idArg","collectionConfig","doc","docPermissions","globalConfig","locale","payload","user","publishedDoc","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","shouldFetchVersions","Boolean","readVersions","_status","find","collection","slug","depth","limit","undefined","pagination","select","updatedAt","where","and","or","equals","exists","docs","mostRecentVersion","findVersions","autosave","parent","totalDocs","countVersions","greater_than","findGlobal","findGlobalVersions","countGlobalVersions","global"],"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import { sanitizeID } from '@payloadcms/ui/shared'\nimport {\n combineQueries,\n extractAccessFromPermission,\n type Payload,\n type SanitizedCollectionConfig,\n type SanitizedDocumentPermissions,\n type SanitizedGlobalConfig,\n type TypedUser,\n} from 'payload'\nimport { hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n /**\n * Optional - performance optimization.\n * If a document has been fetched before fetching versions, pass it here.\n * If this document is set to published, we can skip the query to find out if a published document exists,\n * as the passed in document is proof of its existence.\n */\n doc?: Record<string, any>\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\n// Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedDoc\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n const hasPublishedDoc = Boolean((collectionConfig && id) || globalConfig)\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (hasDraftsEnabled(collectionConfig)) {\n // Find out if a published document exists\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = (\n await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale: locale || undefined,\n pagination: false,\n select: {\n updatedAt: true,\n },\n user,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n }\n\n if (publishedDoc) {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(collectionConfig)) {\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n depth: 0,\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n\n if (globalConfig) {\n // Find out if a published document exists\n if (hasDraftsEnabled(globalConfig)) {\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n select: {\n updatedAt: true,\n },\n user,\n })\n }\n\n if (publishedDoc?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(globalConfig)) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n where: combineQueries(\n {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import { sanitizeID } from '@payloadcms/ui/shared'\nimport {\n combineQueries,\n extractAccessFromPermission,\n type Payload,\n type SanitizedCollectionConfig,\n type SanitizedDocumentPermissions,\n type SanitizedGlobalConfig,\n type TypedUser,\n} from 'payload'\nimport { hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n /**\n * Optional - performance optimization.\n * If a document has been fetched before fetching versions, pass it here.\n * If this document is set to published, we can skip the query to find out if a published document exists,\n * as the passed in document is proof of its existence.\n */\n doc?: Record<string, any>\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\n// Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedDoc\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n const hasPublishedDoc = Boolean((collectionConfig && id) || globalConfig)\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (hasDraftsEnabled(collectionConfig)) {\n // Find out if a published document exists\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = (\n await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale: locale || undefined,\n pagination: false,\n select: {\n updatedAt: true,\n },\n user,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n }\n\n if (publishedDoc) {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(collectionConfig)) {\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n depth: 0,\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n\n if (globalConfig) {\n // Find out if a published document exists\n if (hasDraftsEnabled(globalConfig)) {\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n select: {\n updatedAt: true,\n },\n user,\n })\n }\n\n if (publishedDoc?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(globalConfig)) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n where: combineQueries(\n {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"names":["sanitizeID","combineQueries","extractAccessFromPermission","hasAutosaveEnabled","hasDraftsEnabled","getVersions","id","idArg","collectionConfig","doc","docPermissions","globalConfig","locale","payload","user","publishedDoc","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","shouldFetchVersions","Boolean","readVersions","_status","find","collection","slug","depth","limit","undefined","pagination","select","updatedAt","where","and","or","equals","exists","docs","mostRecentVersion","findVersions","autosave","parent","totalDocs","countVersions","greater_than","findGlobal","findGlobalVersions","countGlobalVersions","global"],"mappings":"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"}