@payloadcms/next 3.68.0-internal-debug.591ab42 → 3.68.0-internal.2b8df4a

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 +58 -52
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +44 -39
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +47 -45
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/config.js +0 -1
  8. package/dist/config.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
  10. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +71 -40
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +59 -65
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.js +70 -80
  16. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -16
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +69 -61
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/index.js +28 -48
  22. package/dist/elements/DocumentHeader/index.js.map +1 -1
  23. package/dist/elements/FormHeader/index.js +16 -30
  24. package/dist/elements/FormHeader/index.js.map +1 -1
  25. package/dist/elements/Logo/index.js +34 -19
  26. package/dist/elements/Logo/index.js.map +1 -1
  27. package/dist/elements/Nav/NavHamburger/index.js +44 -23
  28. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  29. package/dist/elements/Nav/NavWrapper/index.js +54 -28
  30. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  31. package/dist/elements/Nav/SettingsMenuButton/index.js +39 -33
  32. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  33. package/dist/elements/Nav/getNavPrefs.js +22 -27
  34. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  35. package/dist/elements/Nav/index.client.js +118 -97
  36. package/dist/elements/Nav/index.client.js.map +1 -1
  37. package/dist/elements/Nav/index.js +127 -148
  38. package/dist/elements/Nav/index.js.map +1 -1
  39. package/dist/exports/auth.js +0 -1
  40. package/dist/exports/auth.js.map +1 -1
  41. package/dist/exports/client.js +1 -1
  42. package/dist/exports/client.js.map +1 -1
  43. package/dist/exports/layouts.js +0 -1
  44. package/dist/exports/layouts.js.map +1 -1
  45. package/dist/exports/routes.js +0 -1
  46. package/dist/exports/routes.js.map +1 -1
  47. package/dist/exports/rsc.js +0 -1
  48. package/dist/exports/rsc.js.map +1 -1
  49. package/dist/exports/templates.js +0 -1
  50. package/dist/exports/templates.js.map +1 -1
  51. package/dist/exports/utilities.js +12 -7
  52. package/dist/exports/utilities.js.map +1 -1
  53. package/dist/exports/views.js +0 -1
  54. package/dist/exports/views.js.map +1 -1
  55. package/dist/index.js +0 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/layouts/Root/NestProviders.js +20 -21
  58. package/dist/layouts/Root/NestProviders.js.map +1 -1
  59. package/dist/layouts/Root/checkDependencies.js +41 -49
  60. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  61. package/dist/layouts/Root/index.js +103 -128
  62. package/dist/layouts/Root/index.js.map +1 -1
  63. package/dist/prod/styles.css +1 -0
  64. package/dist/routes/graphql/handler.js +122 -114
  65. package/dist/routes/graphql/handler.js.map +1 -1
  66. package/dist/routes/graphql/index.js +0 -1
  67. package/dist/routes/graphql/index.js.map +1 -1
  68. package/dist/routes/graphql/playground.js +23 -24
  69. package/dist/routes/graphql/playground.js.map +1 -1
  70. package/dist/routes/index.js +0 -1
  71. package/dist/routes/index.js.map +1 -1
  72. package/dist/routes/rest/index.js +19 -20
  73. package/dist/routes/rest/index.js.map +1 -1
  74. package/dist/routes/rest/og/image.js +79 -103
  75. package/dist/routes/rest/og/image.js.map +1 -1
  76. package/dist/routes/rest/og/index.js +54 -59
  77. package/dist/routes/rest/og/index.js.map +1 -1
  78. package/dist/templates/Default/NavHamburger/index.js +20 -12
  79. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  80. package/dist/templates/Default/Wrapper/index.js +44 -20
  81. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  82. package/dist/templates/Default/index.js +133 -183
  83. package/dist/templates/Default/index.js.map +1 -1
  84. package/dist/templates/Minimal/index.js +17 -26
  85. package/dist/templates/Minimal/index.js.map +1 -1
  86. package/dist/utilities/getExistingAuthToken.js +2 -3
  87. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  88. package/dist/utilities/getNextRequestI18n.js +13 -12
  89. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  90. package/dist/utilities/getPayloadHMR.js +5 -5
  91. package/dist/utilities/getPayloadHMR.js.map +1 -1
  92. package/dist/utilities/getPreferences.js +22 -27
  93. package/dist/utilities/getPreferences.js.map +1 -1
  94. package/dist/utilities/getRequestLocale.js +14 -13
  95. package/dist/utilities/getRequestLocale.js.map +1 -1
  96. package/dist/utilities/getRequestTheme.js +19 -19
  97. package/dist/utilities/getRequestTheme.js.map +1 -1
  98. package/dist/utilities/getRouteWithoutAdmin.js +5 -3
  99. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  100. package/dist/utilities/getVisibleEntities.js +23 -12
  101. package/dist/utilities/getVisibleEntities.js.map +1 -1
  102. package/dist/utilities/handleAuthRedirect.js +36 -22
  103. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  104. package/dist/utilities/handleServerFunctions.js +39 -32
  105. package/dist/utilities/handleServerFunctions.js.map +1 -1
  106. package/dist/utilities/initReq.js +96 -78
  107. package/dist/utilities/initReq.js.map +1 -1
  108. package/dist/utilities/isCustomAdminView.js +26 -22
  109. package/dist/utilities/isCustomAdminView.js.map +1 -1
  110. package/dist/utilities/isPublicAdminRoute.js +20 -26
  111. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  112. package/dist/utilities/meta.js +63 -68
  113. package/dist/utilities/meta.js.map +1 -1
  114. package/dist/utilities/selectiveCache.js +26 -25
  115. package/dist/utilities/selectiveCache.js.map +1 -1
  116. package/dist/utilities/setPayloadAuthCookie.js +22 -19
  117. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  118. package/dist/utilities/slugify.js +33 -24
  119. package/dist/utilities/slugify.js.map +1 -1
  120. package/dist/utilities/timestamp.js +6 -7
  121. package/dist/utilities/timestamp.js.map +1 -1
  122. package/dist/views/API/LocaleSelector/index.js +39 -17
  123. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  124. package/dist/views/API/RenderJSON/index.js +126 -171
  125. package/dist/views/API/RenderJSON/index.js.map +1 -1
  126. package/dist/views/API/index.client.js +195 -287
  127. package/dist/views/API/index.client.js.map +1 -1
  128. package/dist/views/API/index.js +2 -7
  129. package/dist/views/API/index.js.map +1 -1
  130. package/dist/views/API/metadata.js +23 -18
  131. package/dist/views/API/metadata.js.map +1 -1
  132. package/dist/views/Account/ResetPreferences/index.js +91 -74
  133. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  134. package/dist/views/Account/Settings/LanguageSelector.js +47 -18
  135. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  136. package/dist/views/Account/Settings/index.js +28 -62
  137. package/dist/views/Account/Settings/index.js.map +1 -1
  138. package/dist/views/Account/ToggleTheme/index.js +55 -38
  139. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  140. package/dist/views/Account/index.client.js +32 -16
  141. package/dist/views/Account/index.client.js.map +1 -1
  142. package/dist/views/Account/index.js +155 -144
  143. package/dist/views/Account/index.js.map +1 -1
  144. package/dist/views/Account/metadata.js +12 -8
  145. package/dist/views/Account/metadata.js.map +1 -1
  146. package/dist/views/BrowseByFolder/buildView.js +158 -139
  147. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  148. package/dist/views/BrowseByFolder/index.js +16 -16
  149. package/dist/views/BrowseByFolder/index.js.map +1 -1
  150. package/dist/views/BrowseByFolder/metadata.js +15 -13
  151. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  152. package/dist/views/CollectionFolders/buildView.js +143 -123
  153. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  154. package/dist/views/CollectionFolders/index.js +16 -16
  155. package/dist/views/CollectionFolders/index.js.map +1 -1
  156. package/dist/views/CollectionFolders/metadata.js +21 -18
  157. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  158. package/dist/views/CollectionFolders/renderFolderViewSlots.js +61 -58
  159. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  160. package/dist/views/CollectionTrash/index.js +17 -17
  161. package/dist/views/CollectionTrash/index.js.map +1 -1
  162. package/dist/views/CollectionTrash/metadata.js +21 -18
  163. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  164. package/dist/views/CreateFirstUser/index.client.js +101 -114
  165. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  166. package/dist/views/CreateFirstUser/index.js +81 -87
  167. package/dist/views/CreateFirstUser/index.js.map +1 -1
  168. package/dist/views/CreateFirstUser/metadata.js +12 -8
  169. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  170. package/dist/views/Dashboard/Default/index.js +152 -176
  171. package/dist/views/Dashboard/Default/index.js.map +1 -1
  172. package/dist/views/Dashboard/index.js +90 -97
  173. package/dist/views/Dashboard/index.js.map +1 -1
  174. package/dist/views/Dashboard/metadata.js +14 -10
  175. package/dist/views/Dashboard/metadata.js.map +1 -1
  176. package/dist/views/Document/getCustomDocumentViewByKey.js +2 -3
  177. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  178. package/dist/views/Document/getCustomViewByRoute.js +30 -27
  179. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  180. package/dist/views/Document/getDocPreferences.js +41 -40
  181. package/dist/views/Document/getDocPreferences.js.map +1 -1
  182. package/dist/views/Document/getDocumentData.js +55 -44
  183. package/dist/views/Document/getDocumentData.js.map +1 -1
  184. package/dist/views/Document/getDocumentPermissions.js +80 -77
  185. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  186. package/dist/views/Document/getDocumentView.js +283 -313
  187. package/dist/views/Document/getDocumentView.js.map +1 -1
  188. package/dist/views/Document/getIsLocked.js +66 -66
  189. package/dist/views/Document/getIsLocked.js.map +1 -1
  190. package/dist/views/Document/getMetaBySegment.js +136 -130
  191. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  192. package/dist/views/Document/getVersions.js +194 -204
  193. package/dist/views/Document/getVersions.js.map +1 -1
  194. package/dist/views/Document/handleServerFunction.js +128 -103
  195. package/dist/views/Document/handleServerFunction.js.map +1 -1
  196. package/dist/views/Document/index.js +354 -315
  197. package/dist/views/Document/index.js.map +1 -1
  198. package/dist/views/Document/metadata.js +1 -2
  199. package/dist/views/Document/metadata.js.map +1 -1
  200. package/dist/views/Document/renderDocumentSlots.js +132 -121
  201. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  202. package/dist/views/Edit/index.js +6 -10
  203. package/dist/views/Edit/index.js.map +1 -1
  204. package/dist/views/Edit/metadata.js +46 -36
  205. package/dist/views/Edit/metadata.js.map +1 -1
  206. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +164 -130
  207. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  208. package/dist/views/ForgotPassword/index.js +62 -79
  209. package/dist/views/ForgotPassword/index.js.map +1 -1
  210. package/dist/views/ForgotPassword/metadata.js +12 -8
  211. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  212. package/dist/views/List/createSerializableValue.js +11 -12
  213. package/dist/views/List/createSerializableValue.js.map +1 -1
  214. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  215. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  216. package/dist/views/List/extractRelationshipDisplayValue.js +14 -15
  217. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  218. package/dist/views/List/extractValueOrRelationshipID.js +15 -16
  219. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  220. package/dist/views/List/handleGroupBy.js +150 -133
  221. package/dist/views/List/handleGroupBy.js.map +1 -1
  222. package/dist/views/List/handleServerFunction.js +119 -96
  223. package/dist/views/List/handleServerFunction.js.map +1 -1
  224. package/dist/views/List/index.js +323 -305
  225. package/dist/views/List/index.js.map +1 -1
  226. package/dist/views/List/metadata.js +20 -17
  227. package/dist/views/List/metadata.js.map +1 -1
  228. package/dist/views/List/renderListViewSlots.js +75 -82
  229. package/dist/views/List/renderListViewSlots.js.map +1 -1
  230. package/dist/views/List/resolveAllFilterOptions.js +45 -43
  231. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  232. package/dist/views/List/transformColumnsToSelect.js +8 -9
  233. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  234. package/dist/views/Login/LoginField/index.js +89 -57
  235. package/dist/views/Login/LoginField/index.js.map +1 -1
  236. package/dist/views/Login/LoginForm/index.js +157 -104
  237. package/dist/views/Login/LoginForm/index.js.map +1 -1
  238. package/dist/views/Login/index.js +85 -82
  239. package/dist/views/Login/index.js.map +1 -1
  240. package/dist/views/Login/metadata.js +12 -8
  241. package/dist/views/Login/metadata.js.map +1 -1
  242. package/dist/views/Logout/LogoutClient.js +119 -83
  243. package/dist/views/Logout/LogoutClient.js.map +1 -1
  244. package/dist/views/Logout/index.js +29 -29
  245. package/dist/views/Logout/index.js.map +1 -1
  246. package/dist/views/Logout/metadata.js +11 -7
  247. package/dist/views/Logout/metadata.js.map +1 -1
  248. package/dist/views/NotFound/index.client.js +82 -71
  249. package/dist/views/NotFound/index.client.js.map +1 -1
  250. package/dist/views/NotFound/index.js +72 -71
  251. package/dist/views/NotFound/index.js.map +1 -1
  252. package/dist/views/NotFound/metadata.js +9 -7
  253. package/dist/views/NotFound/metadata.js.map +1 -1
  254. package/dist/views/ResetPassword/ResetPasswordForm/index.js +107 -94
  255. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  256. package/dist/views/ResetPassword/index.js +73 -93
  257. package/dist/views/ResetPassword/index.js.map +1 -1
  258. package/dist/views/ResetPassword/metadata.js +12 -8
  259. package/dist/views/ResetPassword/metadata.js.map +1 -1
  260. package/dist/views/Root/attachViewActions.js +23 -18
  261. package/dist/views/Root/attachViewActions.js.map +1 -1
  262. package/dist/views/Root/generateCustomViewMetadata.js +21 -19
  263. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  264. package/dist/views/Root/getCustomViewByKey.js +14 -12
  265. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  266. package/dist/views/Root/getCustomViewByRoute.js +42 -31
  267. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  268. package/dist/views/Root/getDocumentViewInfo.js +23 -24
  269. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  270. package/dist/views/Root/getRouteData.js +325 -333
  271. package/dist/views/Root/getRouteData.js.map +1 -1
  272. package/dist/views/Root/index.js +269 -247
  273. package/dist/views/Root/index.js.map +1 -1
  274. package/dist/views/Root/isPathMatchingRoute.js +26 -21
  275. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  276. package/dist/views/Root/metadata.js +181 -176
  277. package/dist/views/Root/metadata.js.map +1 -1
  278. package/dist/views/Unauthorized/index.js +46 -54
  279. package/dist/views/Unauthorized/index.js.map +1 -1
  280. package/dist/views/Unauthorized/metadata.js +12 -8
  281. package/dist/views/Unauthorized/metadata.js.map +1 -1
  282. package/dist/views/Verify/index.client.js +43 -25
  283. package/dist/views/Verify/index.client.js.map +1 -1
  284. package/dist/views/Verify/index.js +62 -68
  285. package/dist/views/Verify/index.js.map +1 -1
  286. package/dist/views/Verify/metadata.js +12 -8
  287. package/dist/views/Verify/metadata.js.map +1 -1
  288. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  289. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  290. package/dist/views/Version/Default/SetStepNav.js +127 -86
  291. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  292. package/dist/views/Version/Default/index.js +236 -380
  293. package/dist/views/Version/Default/index.js.map +1 -1
  294. package/dist/views/Version/Default/types.js +1 -2
  295. package/dist/views/Version/Default/types.js.map +1 -1
  296. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +119 -102
  297. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  298. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +73 -78
  299. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  300. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +408 -363
  301. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  302. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +51 -40
  303. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  304. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +67 -35
  305. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  306. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +56 -59
  307. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  308. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +117 -139
  309. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  310. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +41 -36
  311. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  312. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +178 -192
  313. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  314. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +11 -17
  315. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  316. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +73 -48
  317. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  318. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +143 -132
  319. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  320. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +81 -56
  321. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  322. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +210 -251
  323. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  324. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -23
  325. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  326. package/dist/views/Version/RenderFieldsToDiff/index.js +9 -12
  327. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  328. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +228 -213
  329. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  330. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +826 -1005
  331. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  332. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +1 -2
  333. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  334. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +43 -44
  335. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  336. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +22 -25
  337. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  338. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +36 -32
  339. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  340. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +129 -145
  341. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  342. package/dist/views/Version/Restore/index.js +91 -116
  343. package/dist/views/Version/Restore/index.js.map +1 -1
  344. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -33
  345. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  346. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +226 -170
  347. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  348. package/dist/views/Version/SelectComparison/index.js +50 -73
  349. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  350. package/dist/views/Version/SelectComparison/types.js +1 -2
  351. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  352. package/dist/views/Version/SelectLocales/index.js +32 -34
  353. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  354. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +95 -104
  355. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  356. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +27 -23
  357. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  358. package/dist/views/Version/fetchVersions.js +138 -113
  359. package/dist/views/Version/fetchVersions.js.map +1 -1
  360. package/dist/views/Version/index.js +323 -325
  361. package/dist/views/Version/index.js.map +1 -1
  362. package/dist/views/Version/metadata.js +50 -43
  363. package/dist/views/Version/metadata.js.map +1 -1
  364. package/dist/views/Versions/buildColumns.js +79 -95
  365. package/dist/views/Versions/buildColumns.js.map +1 -1
  366. package/dist/views/Versions/cells/AutosaveCell/index.js +38 -34
  367. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  368. package/dist/views/Versions/cells/CreatedAt/index.js +53 -32
  369. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  370. package/dist/views/Versions/cells/ID/index.js +8 -10
  371. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  372. package/dist/views/Versions/index.client.js +83 -106
  373. package/dist/views/Versions/index.client.js.map +1 -1
  374. package/dist/views/Versions/index.js +140 -140
  375. package/dist/views/Versions/index.js.map +1 -1
  376. package/dist/views/Versions/metadata.js +44 -37
  377. package/dist/views/Versions/metadata.js.map +1 -1
  378. package/dist/views/Versions/types.js +1 -2
  379. package/dist/views/Versions/types.js.map +1 -1
  380. package/dist/withPayload.js +169 -216
  381. package/dist/withPayload.js.map +1 -1
  382. package/package.json +8 -9
  383. package/dist/esbuildEntry.d.ts +0 -5
  384. package/dist/esbuildEntry.d.ts.map +0 -1
  385. package/dist/esbuildEntry.js +0 -6
  386. package/dist/esbuildEntry.js.map +0 -1
@@ -1,219 +1,209 @@
1
1
  import { sanitizeID } from '@payloadcms/ui/shared';
2
2
  import { combineQueries, extractAccessFromPermission } from 'payload';
3
3
  import { hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared';
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
4
+ // TODO: in the future, we can parallelize some of these queries
10
5
  // this will speed up the API by ~30-100ms or so
11
6
  // Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.
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
- };
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
+ };
30
43
  }
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;
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
104
68
  }
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
- }
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;
132
100
  }
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))
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))
147
123
  }));
124
+ }
148
125
  }
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
- }
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;
203
171
  }
204
- ;
205
- ({ totalDocs: versionCount } = await payload.countGlobalVersions({
206
- depth: 0,
207
- global: globalConfig.slug,
208
- user
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))
209
191
  }));
192
+ }
210
193
  }
211
- return {
212
- hasPublishedDoc,
213
- mostRecentVersionIsAutosaved,
214
- unpublishedVersionCount,
215
- versionCount
216
- };
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
+ };
217
208
  };
218
-
219
209
  //# sourceMappingURL=getVersions.js.map
@@ -1 +1 @@
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":"AAAA,SAASA,UAAU,QAAQ,wBAAuB;AAClD,SACEC,cAAc,EACdC,2BAA2B,QAMtB,UAAS;AAChB,SAASC,kBAAkB,EAAEC,gBAAgB,QAAQ,iBAAgB;AAInE;;;;;GAKC,GAiBH,gEAAgE;AAChE,gDAAgD;AAChD,kHAAkH;AAClH,OAAO,MAAMC,cAAc,OAAO,EAChCC,IAAIC,KAAK,EACTC,gBAAgB,EAChBC,GAAG,EACHC,cAAc,EACdC,YAAY,EACZC,MAAM,EACNC,OAAO,EACPC,IAAI,EACC;IACL,MAAMR,KAAKN,WAAWO;IACtB,IAAIQ;IACJ,IAAIC,kBAAkB;IACtB,IAAIC,+BAA+B;IACnC,IAAIC,0BAA0B;IAC9B,IAAIC,eAAe;IAEnB,MAAMC,eAAeZ,oBAAoBG;IACzC,MAAMU,iBAAiBD,cAAcE;IAErC,MAAMC,sBAAsBC,QAAQH,kBAAkBX,gBAAgBe;IAEtE,IAAI,CAACF,qBAAqB;QACxB,MAAMP,kBAAkBQ,QAAQ,AAAChB,oBAAoBF,MAAOK;QAE5D,OAAO;YACLK;YACAC;YACAC;YACAC;QACF;IACF;IAEA,IAAIX,kBAAkB;QACpB,IAAI,CAACF,IAAI;YACP,OAAO;gBACLU;gBACAC;gBACAC;gBACAC;YACF;QACF;QAEA,IAAIf,iBAAiBI,mBAAmB;YACtC,0CAA0C;YAC1C,IAAIC,KAAKiB,YAAY,aAAa;gBAChCX,eAAeN;YACjB,OAAO;gBACLM,eACE,CAAA,MAAMF,QAAQc,IAAI,CAAC;oBACjBC,YAAYpB,iBAAiBqB,IAAI;oBACjCC,OAAO;oBACPC,OAAO;oBACPnB,QAAQA,UAAUoB;oBAClBC,YAAY;oBACZC,QAAQ;wBACNC,WAAW;oBACb;oBACArB;oBACAsB,OAAO;wBACLC,KAAK;4BACH;gCACEC,IAAI;oCACF;wCACEZ,SAAS;4CACPa,QAAQ;wCACV;oCACF;oCACA;wCACEb,SAAS;4CACPc,QAAQ;wCACV;oCACF;iCACD;4BACH;4BACA;gCACElC,IAAI;oCACFiC,QAAQjC;gCACV;4BACF;yBACD;oBACH;gBACF,EAAC,GACAmC,MAAM,CAAC,EAAE;YACd;YAEA,IAAI1B,cAAc;gBAChBC,kBAAkB;YACpB;YAEA,IAAIb,mBAAmBK,mBAAmB;gBACxC,MAAMkC,oBAAoB,MAAM7B,QAAQ8B,YAAY,CAAC;oBACnDf,YAAYpB,iBAAiBqB,IAAI;oBACjCC,OAAO;oBACPC,OAAO;oBACPG,QAAQ;wBACNU,UAAU;oBACZ;oBACA9B;oBACAsB,OAAOnC,eACL;wBACEoC,KAAK;4BACH;gCACEQ,QAAQ;oCACNN,QAAQjC;gCACV;4BACF;yBACD;oBACH,GACAJ,4BAA4BQ,eAAee,YAAY;gBAE3D;gBAEA,IACEiB,kBAAkBD,IAAI,CAAC,EAAE,IACzB,cAAcC,kBAAkBD,IAAI,CAAC,EAAE,IACvCC,kBAAkBD,IAAI,CAAC,EAAE,CAACG,QAAQ,EAClC;oBACA3B,+BAA+B;gBACjC;YACF;YAEA,IAAIF,cAAcoB,WAAW;;gBACzB,CAAA,EAAEW,WAAW5B,uBAAuB,EAAE,GAAG,MAAML,QAAQkC,aAAa,CAAC;oBACrEnB,YAAYpB,iBAAiBqB,IAAI;oBACjCf;oBACAsB,OAAOnC,eACL;wBACEoC,KAAK;4BACH;gCACEQ,QAAQ;oCACNN,QAAQjC;gCACV;4BACF;4BACA;gCACE,mBAAmB;oCACjBiC,QAAQ;gCACV;4BACF;4BACA;gCACEJ,WAAW;oCACTa,cAAcjC,aAAaoB,SAAS;gCACtC;4BACF;yBACD;oBACH,GACAjC,4BAA4BQ,eAAee,YAAY;gBAE3D,EAAC;YACH;QACF;;QAEE,CAAA,EAAEqB,WAAW3B,YAAY,EAAE,GAAG,MAAMN,QAAQkC,aAAa,CAAC;YAC1DnB,YAAYpB,iBAAiBqB,IAAI;YACjCC,OAAO;YACPhB;YACAsB,OAAOnC,eACL;gBACEoC,KAAK;oBACH;wBACEQ,QAAQ;4BACNN,QAAQjC;wBACV;oBACF;iBACD;YACH,GACAJ,4BAA4BQ,eAAee,YAAY;QAE3D,EAAC;IACH;IAEA,IAAId,cAAc;QAChB,0CAA0C;QAC1C,IAAIP,iBAAiBO,eAAe;YAClC,IAAIF,KAAKiB,YAAY,aAAa;gBAChCX,eAAeN;YACjB,OAAO;gBACLM,eAAe,MAAMF,QAAQoC,UAAU,CAAC;oBACtCpB,MAAMlB,aAAakB,IAAI;oBACvBC,OAAO;oBACPlB;oBACAsB,QAAQ;wBACNC,WAAW;oBACb;oBACArB;gBACF;YACF;YAEA,IAAIC,cAAcW,YAAY,aAAa;gBACzCV,kBAAkB;YACpB;YAEA,IAAIb,mBAAmBQ,eAAe;gBACpC,MAAM+B,oBAAoB,MAAM7B,QAAQqC,kBAAkB,CAAC;oBACzDrB,MAAMlB,aAAakB,IAAI;oBACvBE,OAAO;oBACPG,QAAQ;wBACNU,UAAU;oBACZ;oBACA9B;gBACF;gBAEA,IACE4B,kBAAkBD,IAAI,CAAC,EAAE,IACzB,cAAcC,kBAAkBD,IAAI,CAAC,EAAE,IACvCC,kBAAkBD,IAAI,CAAC,EAAE,CAACG,QAAQ,EAClC;oBACA3B,+BAA+B;gBACjC;YACF;YAEA,IAAIF,cAAcoB,WAAW;;gBACzB,CAAA,EAAEW,WAAW5B,uBAAuB,EAAE,GAAG,MAAML,QAAQsC,mBAAmB,CAAC;oBAC3ErB,OAAO;oBACPsB,QAAQzC,aAAakB,IAAI;oBACzBf;oBACAsB,OAAOnC,eACL;wBACEoC,KAAK;4BACH;gCACE,mBAAmB;oCACjBE,QAAQ;gCACV;4BACF;4BACA;gCACEJ,WAAW;oCACTa,cAAcjC,aAAaoB,SAAS;gCACtC;4BACF;yBACD;oBACH,GACAjC,4BAA4BQ,eAAee,YAAY;gBAE3D,EAAC;YACH;QACF;;QAEE,CAAA,EAAEqB,WAAW3B,YAAY,EAAE,GAAG,MAAMN,QAAQsC,mBAAmB,CAAC;YAChErB,OAAO;YACPsB,QAAQzC,aAAakB,IAAI;YACzBf;QACF,EAAC;IACH;IAEA,OAAO;QACLE;QACAC;QACAC;QACAC;IACF;AACF,EAAC"}
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":[]}