payload 3.84.0 → 4.0.0-internal.38b7f1d

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 (440) hide show
  1. package/dist/admin/elements/Nav.d.ts +13 -0
  2. package/dist/admin/elements/Nav.d.ts.map +1 -1
  3. package/dist/admin/elements/Nav.js.map +1 -1
  4. package/dist/admin/functions/index.d.ts +1 -38
  5. package/dist/admin/functions/index.d.ts.map +1 -1
  6. package/dist/admin/functions/index.js.map +1 -1
  7. package/dist/admin/types.d.ts +5 -4
  8. package/dist/admin/types.d.ts.map +1 -1
  9. package/dist/admin/types.js.map +1 -1
  10. package/dist/admin/views/hierarchyList.d.ts +9 -0
  11. package/dist/admin/views/hierarchyList.d.ts.map +1 -0
  12. package/dist/admin/views/hierarchyList.js +3 -0
  13. package/dist/admin/views/hierarchyList.js.map +1 -0
  14. package/dist/admin/views/index.d.ts +1 -3
  15. package/dist/admin/views/index.d.ts.map +1 -1
  16. package/dist/admin/views/index.js.map +1 -1
  17. package/dist/admin/views/list.d.ts +43 -2
  18. package/dist/admin/views/list.d.ts.map +1 -1
  19. package/dist/admin/views/list.js.map +1 -1
  20. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
  21. package/dist/bin/generateImportMap/iterateCollections.js +1 -0
  22. package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
  23. package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
  24. package/dist/bin/generateImportMap/iterateConfig.js +7 -0
  25. package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
  26. package/dist/bin/generateImportMap/iterateGlobals.d.ts.map +1 -1
  27. package/dist/bin/generateImportMap/iterateGlobals.js +20 -8
  28. package/dist/bin/generateImportMap/iterateGlobals.js.map +1 -1
  29. package/dist/bin/index.d.ts.map +1 -1
  30. package/dist/bin/index.js +1 -3
  31. package/dist/bin/index.js.map +1 -1
  32. package/dist/collections/config/client.d.ts +4 -2
  33. package/dist/collections/config/client.d.ts.map +1 -1
  34. package/dist/collections/config/client.js +13 -1
  35. package/dist/collections/config/client.js.map +1 -1
  36. package/dist/collections/config/defaults.js +1 -1
  37. package/dist/collections/config/defaults.js.map +1 -1
  38. package/dist/collections/config/sanitize.d.ts.map +1 -1
  39. package/dist/collections/config/sanitize.js +51 -10
  40. package/dist/collections/config/sanitize.js.map +1 -1
  41. package/dist/collections/config/types.d.ts +76 -91
  42. package/dist/collections/config/types.d.ts.map +1 -1
  43. package/dist/collections/config/types.js.map +1 -1
  44. package/dist/collections/operations/create.d.ts.map +1 -1
  45. package/dist/collections/operations/create.js +24 -19
  46. package/dist/collections/operations/create.js.map +1 -1
  47. package/dist/collections/operations/delete.d.ts.map +1 -1
  48. package/dist/collections/operations/delete.js +7 -2
  49. package/dist/collections/operations/delete.js.map +1 -1
  50. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  51. package/dist/collections/operations/deleteByID.js +7 -2
  52. package/dist/collections/operations/deleteByID.js.map +1 -1
  53. package/dist/collections/operations/find.d.ts.map +1 -1
  54. package/dist/collections/operations/find.js +7 -2
  55. package/dist/collections/operations/find.js.map +1 -1
  56. package/dist/collections/operations/findByID.d.ts.map +1 -1
  57. package/dist/collections/operations/findByID.js +10 -5
  58. package/dist/collections/operations/findByID.js.map +1 -1
  59. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  60. package/dist/collections/operations/findVersionByID.js +6 -4
  61. package/dist/collections/operations/findVersionByID.js.map +1 -1
  62. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  63. package/dist/collections/operations/findVersions.js +6 -4
  64. package/dist/collections/operations/findVersions.js.map +1 -1
  65. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  66. package/dist/collections/operations/restoreVersion.js +7 -2
  67. package/dist/collections/operations/restoreVersion.js.map +1 -1
  68. package/dist/collections/operations/update.d.ts.map +1 -1
  69. package/dist/collections/operations/update.js +7 -2
  70. package/dist/collections/operations/update.js.map +1 -1
  71. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  72. package/dist/collections/operations/updateByID.js +7 -2
  73. package/dist/collections/operations/updateByID.js.map +1 -1
  74. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  75. package/dist/collections/operations/utilities/update.js +5 -4
  76. package/dist/collections/operations/utilities/update.js.map +1 -1
  77. package/dist/config/client.d.ts.map +1 -1
  78. package/dist/config/client.js +0 -10
  79. package/dist/config/client.js.map +1 -1
  80. package/dist/config/defaults.d.ts.map +1 -1
  81. package/dist/config/defaults.js +0 -15
  82. package/dist/config/defaults.js.map +1 -1
  83. package/dist/config/orderable/index.d.ts.map +1 -1
  84. package/dist/config/orderable/index.js +0 -4
  85. package/dist/config/orderable/index.js.map +1 -1
  86. package/dist/config/sanitize.d.ts.map +1 -1
  87. package/dist/config/sanitize.js +3 -38
  88. package/dist/config/sanitize.js.map +1 -1
  89. package/dist/config/types.d.ts +120 -13
  90. package/dist/config/types.d.ts.map +1 -1
  91. package/dist/config/types.js.map +1 -1
  92. package/dist/database/migrations/config/batchTransform.d.ts +16 -0
  93. package/dist/database/migrations/config/batchTransform.d.ts.map +1 -0
  94. package/dist/database/migrations/config/batchTransform.js +17 -0
  95. package/dist/database/migrations/config/batchTransform.js.map +1 -0
  96. package/dist/database/migrations/config/batchTransform.spec.js +68 -0
  97. package/dist/database/migrations/config/batchTransform.spec.js.map +1 -0
  98. package/dist/database/migrations/config/bootstrapConfigState.d.ts +4 -0
  99. package/dist/database/migrations/config/bootstrapConfigState.d.ts.map +1 -0
  100. package/dist/database/migrations/config/bootstrapConfigState.js +10 -0
  101. package/dist/database/migrations/config/bootstrapConfigState.js.map +1 -0
  102. package/dist/database/migrations/config/configStateStore.d.ts +4 -0
  103. package/dist/database/migrations/config/configStateStore.d.ts.map +1 -0
  104. package/dist/database/migrations/config/configStateStore.js +29 -0
  105. package/dist/database/migrations/config/configStateStore.js.map +1 -0
  106. package/dist/database/migrations/config/diffConfig.d.ts +3 -0
  107. package/dist/database/migrations/config/diffConfig.d.ts.map +1 -0
  108. package/dist/database/migrations/config/diffConfig.js +123 -0
  109. package/dist/database/migrations/config/diffConfig.js.map +1 -0
  110. package/dist/database/migrations/config/diffConfig.spec.js +136 -0
  111. package/dist/database/migrations/config/diffConfig.spec.js.map +1 -0
  112. package/dist/database/migrations/config/generateDataMigrationCode.d.ts +11 -0
  113. package/dist/database/migrations/config/generateDataMigrationCode.d.ts.map +1 -0
  114. package/dist/database/migrations/config/generateDataMigrationCode.js +28 -0
  115. package/dist/database/migrations/config/generateDataMigrationCode.js.map +1 -0
  116. package/dist/database/migrations/config/generateDataMigrationCode.spec.js +52 -0
  117. package/dist/database/migrations/config/generateDataMigrationCode.spec.js.map +1 -0
  118. package/dist/database/migrations/config/index.d.ts +9 -0
  119. package/dist/database/migrations/config/index.d.ts.map +1 -0
  120. package/dist/database/migrations/config/index.js +9 -0
  121. package/dist/database/migrations/config/index.js.map +1 -0
  122. package/dist/database/migrations/config/prompts.d.ts +5 -0
  123. package/dist/database/migrations/config/prompts.d.ts.map +1 -0
  124. package/dist/database/migrations/config/prompts.js +49 -0
  125. package/dist/database/migrations/config/prompts.js.map +1 -0
  126. package/dist/database/migrations/config/serializeConfig.d.ts +4 -0
  127. package/dist/database/migrations/config/serializeConfig.d.ts.map +1 -0
  128. package/dist/database/migrations/config/serializeConfig.js +65 -0
  129. package/dist/database/migrations/config/serializeConfig.js.map +1 -0
  130. package/dist/database/migrations/config/serializeConfig.spec.js +146 -0
  131. package/dist/database/migrations/config/serializeConfig.spec.js.map +1 -0
  132. package/dist/database/migrations/config/types.d.ts +66 -0
  133. package/dist/database/migrations/config/types.d.ts.map +1 -0
  134. package/dist/database/migrations/config/types.js.map +1 -0
  135. package/dist/database/migrations/migrate.d.ts.map +1 -1
  136. package/dist/database/migrations/migrate.js +3 -0
  137. package/dist/database/migrations/migrate.js.map +1 -1
  138. package/dist/database/types.d.ts +29 -0
  139. package/dist/database/types.d.ts.map +1 -1
  140. package/dist/database/types.js.map +1 -1
  141. package/dist/exports/migrations.d.ts +1 -0
  142. package/dist/exports/migrations.d.ts.map +1 -1
  143. package/dist/exports/migrations.js +2 -1
  144. package/dist/exports/migrations.js.map +1 -1
  145. package/dist/exports/shared.d.ts +6 -3
  146. package/dist/exports/shared.d.ts.map +1 -1
  147. package/dist/exports/shared.js +4 -2
  148. package/dist/exports/shared.js.map +1 -1
  149. package/dist/fields/baseFields/slug/index.d.ts.map +1 -1
  150. package/dist/fields/baseFields/slug/index.js +6 -4
  151. package/dist/fields/baseFields/slug/index.js.map +1 -1
  152. package/dist/fields/config/client.d.ts.map +1 -1
  153. package/dist/fields/config/client.js +3 -2
  154. package/dist/fields/config/client.js.map +1 -1
  155. package/dist/fields/config/sanitize.d.ts.map +1 -1
  156. package/dist/fields/config/sanitize.js +12 -10
  157. package/dist/fields/config/sanitize.js.map +1 -1
  158. package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
  159. package/dist/fields/config/sanitizeJoinField.js +3 -0
  160. package/dist/fields/config/sanitizeJoinField.js.map +1 -1
  161. package/dist/fields/config/types.d.ts +17 -73
  162. package/dist/fields/config/types.d.ts.map +1 -1
  163. package/dist/fields/config/types.js +11 -1
  164. package/dist/fields/config/types.js.map +1 -1
  165. package/dist/fields/isFieldDisabled.d.ts +12 -0
  166. package/dist/fields/isFieldDisabled.d.ts.map +1 -0
  167. package/dist/fields/isFieldDisabled.js +15 -0
  168. package/dist/fields/isFieldDisabled.js.map +1 -0
  169. package/dist/fields/isFieldDisabled.spec.js +134 -0
  170. package/dist/fields/isFieldDisabled.spec.js.map +1 -0
  171. package/dist/fields/validations.js +1 -1
  172. package/dist/fields/validations.js.map +1 -1
  173. package/dist/globals/config/client.d.ts +1 -1
  174. package/dist/globals/config/client.d.ts.map +1 -1
  175. package/dist/globals/config/client.js +2 -1
  176. package/dist/globals/config/client.js.map +1 -1
  177. package/dist/globals/config/sanitize.js +6 -2
  178. package/dist/globals/config/sanitize.js.map +1 -1
  179. package/dist/globals/config/types.d.ts +4 -57
  180. package/dist/globals/config/types.d.ts.map +1 -1
  181. package/dist/globals/config/types.js.map +1 -1
  182. package/dist/globals/operations/findOne.d.ts.map +1 -1
  183. package/dist/globals/operations/findOne.js +7 -2
  184. package/dist/globals/operations/findOne.js.map +1 -1
  185. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  186. package/dist/globals/operations/findVersionByID.js +6 -4
  187. package/dist/globals/operations/findVersionByID.js.map +1 -1
  188. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  189. package/dist/globals/operations/findVersions.js +6 -4
  190. package/dist/globals/operations/findVersions.js.map +1 -1
  191. package/dist/globals/operations/update.d.ts.map +1 -1
  192. package/dist/globals/operations/update.js +7 -2
  193. package/dist/globals/operations/update.js.map +1 -1
  194. package/dist/hierarchy/addHierarchyToCollection.d.ts +9 -0
  195. package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -0
  196. package/dist/hierarchy/addHierarchyToCollection.js +76 -0
  197. package/dist/hierarchy/addHierarchyToCollection.js.map +1 -0
  198. package/dist/hierarchy/buildParentField.d.ts +11 -0
  199. package/dist/hierarchy/buildParentField.d.ts.map +1 -0
  200. package/dist/hierarchy/buildParentField.js +42 -0
  201. package/dist/hierarchy/buildParentField.js.map +1 -0
  202. package/dist/hierarchy/constants.d.ts +15 -0
  203. package/dist/hierarchy/constants.d.ts.map +1 -0
  204. package/dist/hierarchy/constants.js +11 -0
  205. package/dist/hierarchy/constants.js.map +1 -0
  206. package/dist/hierarchy/createFolderField.d.ts +39 -0
  207. package/dist/hierarchy/createFolderField.d.ts.map +1 -0
  208. package/dist/hierarchy/createFolderField.js +54 -0
  209. package/dist/hierarchy/createFolderField.js.map +1 -0
  210. package/dist/hierarchy/createTagField.d.ts +44 -0
  211. package/dist/hierarchy/createTagField.d.ts.map +1 -0
  212. package/dist/hierarchy/createTagField.js +48 -0
  213. package/dist/hierarchy/createTagField.js.map +1 -0
  214. package/dist/hierarchy/getInitialTreeData.d.ts +27 -0
  215. package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -0
  216. package/dist/hierarchy/getInitialTreeData.js +125 -0
  217. package/dist/hierarchy/getInitialTreeData.js.map +1 -0
  218. package/dist/hierarchy/hooks/collectionAfterDelete.d.ts +14 -0
  219. package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -0
  220. package/dist/hierarchy/hooks/collectionAfterDelete.js +21 -0
  221. package/dist/hierarchy/hooks/collectionAfterDelete.js.map +1 -0
  222. package/dist/hierarchy/hooks/collectionAfterRead.d.ts +27 -0
  223. package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -0
  224. package/dist/hierarchy/hooks/collectionAfterRead.js +72 -0
  225. package/dist/hierarchy/hooks/collectionAfterRead.js.map +1 -0
  226. package/dist/hierarchy/hooks/collectionBeforeChange.d.ts +19 -0
  227. package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -0
  228. package/dist/hierarchy/hooks/collectionBeforeChange.js +90 -0
  229. package/dist/hierarchy/hooks/collectionBeforeChange.js.map +1 -0
  230. package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts +15 -0
  231. package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -0
  232. package/dist/hierarchy/hooks/collectionBeforeDelete.js +20 -0
  233. package/dist/hierarchy/hooks/collectionBeforeDelete.js.map +1 -0
  234. package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts +33 -0
  235. package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -0
  236. package/dist/hierarchy/hooks/collectionBeforeOperation.js +66 -0
  237. package/dist/hierarchy/hooks/collectionBeforeOperation.js.map +1 -0
  238. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts +8 -0
  239. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -0
  240. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.js +108 -0
  241. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.js.map +1 -0
  242. package/dist/hierarchy/injectHierarchyButton.d.ts +14 -0
  243. package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -0
  244. package/dist/hierarchy/injectHierarchyButton.js +37 -0
  245. package/dist/hierarchy/injectHierarchyButton.js.map +1 -0
  246. package/dist/hierarchy/presets.d.ts +13 -0
  247. package/dist/hierarchy/presets.d.ts.map +1 -0
  248. package/dist/hierarchy/presets.js +52 -0
  249. package/dist/hierarchy/presets.js.map +1 -0
  250. package/dist/hierarchy/resolveHierarchyCollections.d.ts +23 -0
  251. package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -0
  252. package/dist/hierarchy/resolveHierarchyCollections.js +321 -0
  253. package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -0
  254. package/dist/hierarchy/sanitizeHierarchyCollection.d.ts +14 -0
  255. package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -0
  256. package/dist/hierarchy/sanitizeHierarchyCollection.js +117 -0
  257. package/dist/hierarchy/sanitizeHierarchyCollection.js.map +1 -0
  258. package/dist/hierarchy/types.d.ts +155 -0
  259. package/dist/hierarchy/types.d.ts.map +1 -0
  260. package/dist/hierarchy/types.js +6 -0
  261. package/dist/hierarchy/types.js.map +1 -0
  262. package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.d.ts +77 -0
  263. package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.d.ts.map +1 -0
  264. package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.js +77 -0
  265. package/dist/hierarchy/utils/buildLocalizedHierarchyPaths.js.map +1 -0
  266. package/dist/hierarchy/utils/computePaths.d.ts +31 -0
  267. package/dist/hierarchy/utils/computePaths.d.ts.map +1 -0
  268. package/dist/hierarchy/utils/computePaths.js +445 -0
  269. package/dist/hierarchy/utils/computePaths.js.map +1 -0
  270. package/dist/hierarchy/utils/findUseAsTitle.d.ts +14 -0
  271. package/dist/hierarchy/utils/findUseAsTitle.d.ts.map +1 -0
  272. package/dist/hierarchy/utils/findUseAsTitle.js +89 -0
  273. package/dist/hierarchy/utils/findUseAsTitle.js.map +1 -0
  274. package/dist/hierarchy/utils/getAncestors.d.ts +34 -0
  275. package/dist/hierarchy/utils/getAncestors.d.ts.map +1 -0
  276. package/dist/hierarchy/utils/getAncestors.js +94 -0
  277. package/dist/hierarchy/utils/getAncestors.js.map +1 -0
  278. package/dist/hierarchy/utils/getLocalizedValue.d.ts +30 -0
  279. package/dist/hierarchy/utils/getLocalizedValue.d.ts.map +1 -0
  280. package/dist/hierarchy/utils/getLocalizedValue.js +46 -0
  281. package/dist/hierarchy/utils/getLocalizedValue.js.map +1 -0
  282. package/dist/hierarchy/utils/getLocalizedValue.spec.js +250 -0
  283. package/dist/hierarchy/utils/getLocalizedValue.spec.js.map +1 -0
  284. package/dist/index.bundled.d.ts +856 -558
  285. package/dist/index.d.ts +29 -8
  286. package/dist/index.d.ts.map +1 -1
  287. package/dist/index.js +13 -8
  288. package/dist/index.js.map +1 -1
  289. package/dist/preferences/keys.d.ts +8 -4
  290. package/dist/preferences/keys.d.ts.map +1 -1
  291. package/dist/preferences/keys.js +7 -4
  292. package/dist/preferences/keys.js.map +1 -1
  293. package/dist/preferences/types.d.ts +1 -1
  294. package/dist/preferences/types.d.ts.map +1 -1
  295. package/dist/preferences/types.js.map +1 -1
  296. package/dist/query-presets/config.d.ts.map +1 -1
  297. package/dist/query-presets/config.js +5 -1
  298. package/dist/query-presets/config.js.map +1 -1
  299. package/dist/queues/config/types/index.d.ts +0 -21
  300. package/dist/queues/config/types/index.d.ts.map +1 -1
  301. package/dist/queues/config/types/index.js.map +1 -1
  302. package/dist/queues/config/types/taskTypes.d.ts +0 -20
  303. package/dist/queues/config/types/taskTypes.d.ts.map +1 -1
  304. package/dist/queues/config/types/taskTypes.js.map +1 -1
  305. package/dist/queues/errors/handleWorkflowError.d.ts.map +1 -1
  306. package/dist/queues/errors/handleWorkflowError.js +9 -1
  307. package/dist/queues/errors/handleWorkflowError.js.map +1 -1
  308. package/dist/queues/localAPI.d.ts.map +1 -1
  309. package/dist/queues/localAPI.js +26 -67
  310. package/dist/queues/localAPI.js.map +1 -1
  311. package/dist/queues/operations/handleSchedules/index.d.ts.map +1 -1
  312. package/dist/queues/operations/handleSchedules/index.js +1 -4
  313. package/dist/queues/operations/handleSchedules/index.js.map +1 -1
  314. package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
  315. package/dist/queues/operations/runJobs/index.js +40 -37
  316. package/dist/queues/operations/runJobs/index.js.map +1 -1
  317. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
  318. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +3 -22
  319. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
  320. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts.map +1 -1
  321. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js +0 -2
  322. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js.map +1 -1
  323. package/dist/queues/utilities/updateJob.d.ts +1 -3
  324. package/dist/queues/utilities/updateJob.d.ts.map +1 -1
  325. package/dist/queues/utilities/updateJob.js +2 -18
  326. package/dist/queues/utilities/updateJob.js.map +1 -1
  327. package/dist/types/index.d.ts +44 -0
  328. package/dist/types/index.d.ts.map +1 -1
  329. package/dist/types/index.js.map +1 -1
  330. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  331. package/dist/uploads/getBaseFields.js +35 -69
  332. package/dist/uploads/getBaseFields.js.map +1 -1
  333. package/dist/uploads/getSafeFilename.d.ts +9 -4
  334. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  335. package/dist/uploads/getSafeFilename.js +5 -5
  336. package/dist/uploads/getSafeFilename.js.map +1 -1
  337. package/dist/utilities/appendDateTimezoneSelectFields.d.ts +13 -0
  338. package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -0
  339. package/dist/utilities/appendDateTimezoneSelectFields.js +47 -0
  340. package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -0
  341. package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
  342. package/dist/utilities/appendUploadSelectFields.js +3 -0
  343. package/dist/utilities/appendUploadSelectFields.js.map +1 -1
  344. package/dist/utilities/extractID.js +1 -1
  345. package/dist/utilities/extractID.js.map +1 -1
  346. package/dist/utilities/formatAdminURL.d.ts +13 -2
  347. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  348. package/dist/utilities/formatAdminURL.js.map +1 -1
  349. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  350. package/dist/utilities/handleEndpoints.js +0 -1
  351. package/dist/utilities/handleEndpoints.js.map +1 -1
  352. package/dist/utilities/resolveSelect.d.ts +16 -0
  353. package/dist/utilities/resolveSelect.d.ts.map +1 -0
  354. package/dist/utilities/resolveSelect.js +19 -0
  355. package/dist/utilities/resolveSelect.js.map +1 -0
  356. package/dist/utilities/sanitizeSelect.d.ts +1 -2
  357. package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
  358. package/dist/utilities/sanitizeSelect.js +19 -25
  359. package/dist/utilities/sanitizeSelect.js.map +1 -1
  360. package/dist/versions/baseFields.d.ts.map +1 -1
  361. package/dist/versions/baseFields.js +3 -2
  362. package/dist/versions/baseFields.js.map +1 -1
  363. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  364. package/dist/versions/buildCollectionFields.js +0 -1
  365. package/dist/versions/buildCollectionFields.js.map +1 -1
  366. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  367. package/dist/versions/buildGlobalFields.js +0 -1
  368. package/dist/versions/buildGlobalFields.js.map +1 -1
  369. package/dist/versions/payloadPackageList.d.ts.map +1 -1
  370. package/dist/versions/payloadPackageList.js +0 -1
  371. package/dist/versions/payloadPackageList.js.map +1 -1
  372. package/package.json +4 -4
  373. package/dist/admin/views/folderList.d.ts +0 -56
  374. package/dist/admin/views/folderList.d.ts.map +0 -1
  375. package/dist/admin/views/folderList.js +0 -3
  376. package/dist/admin/views/folderList.js.map +0 -1
  377. package/dist/folders/addFolderCollection.d.ts +0 -10
  378. package/dist/folders/addFolderCollection.d.ts.map +0 -1
  379. package/dist/folders/addFolderCollection.js +0 -26
  380. package/dist/folders/addFolderCollection.js.map +0 -1
  381. package/dist/folders/addFolderFieldToCollection.d.ts +0 -8
  382. package/dist/folders/addFolderFieldToCollection.d.ts.map +0 -1
  383. package/dist/folders/addFolderFieldToCollection.js +0 -20
  384. package/dist/folders/addFolderFieldToCollection.js.map +0 -1
  385. package/dist/folders/buildFolderField.d.ts +0 -8
  386. package/dist/folders/buildFolderField.d.ts.map +0 -1
  387. package/dist/folders/buildFolderField.js +0 -87
  388. package/dist/folders/buildFolderField.js.map +0 -1
  389. package/dist/folders/constants.d.ts +0 -3
  390. package/dist/folders/constants.d.ts.map +0 -1
  391. package/dist/folders/constants.js +0 -4
  392. package/dist/folders/constants.js.map +0 -1
  393. package/dist/folders/createFolderCollection.d.ts +0 -11
  394. package/dist/folders/createFolderCollection.d.ts.map +0 -1
  395. package/dist/folders/createFolderCollection.js +0 -115
  396. package/dist/folders/createFolderCollection.js.map +0 -1
  397. package/dist/folders/hooks/deleteSubfoldersAfterDelete.d.ts +0 -8
  398. package/dist/folders/hooks/deleteSubfoldersAfterDelete.d.ts.map +0 -1
  399. package/dist/folders/hooks/deleteSubfoldersAfterDelete.js +0 -15
  400. package/dist/folders/hooks/deleteSubfoldersAfterDelete.js.map +0 -1
  401. package/dist/folders/hooks/dissasociateAfterDelete.d.ts +0 -8
  402. package/dist/folders/hooks/dissasociateAfterDelete.d.ts.map +0 -1
  403. package/dist/folders/hooks/dissasociateAfterDelete.js +0 -20
  404. package/dist/folders/hooks/dissasociateAfterDelete.js.map +0 -1
  405. package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts +0 -5
  406. package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts.map +0 -1
  407. package/dist/folders/hooks/ensureSafeCollectionsChange.js +0 -107
  408. package/dist/folders/hooks/ensureSafeCollectionsChange.js.map +0 -1
  409. package/dist/folders/hooks/reparentChildFolder.d.ts +0 -24
  410. package/dist/folders/hooks/reparentChildFolder.d.ts.map +0 -1
  411. package/dist/folders/hooks/reparentChildFolder.js +0 -72
  412. package/dist/folders/hooks/reparentChildFolder.js.map +0 -1
  413. package/dist/folders/types.d.ts +0 -118
  414. package/dist/folders/types.d.ts.map +0 -1
  415. package/dist/folders/types.js.map +0 -1
  416. package/dist/folders/utils/buildFolderWhereConstraints.d.ts +0 -13
  417. package/dist/folders/utils/buildFolderWhereConstraints.d.ts.map +0 -1
  418. package/dist/folders/utils/buildFolderWhereConstraints.js +0 -45
  419. package/dist/folders/utils/buildFolderWhereConstraints.js.map +0 -1
  420. package/dist/folders/utils/formatFolderOrDocumentItem.d.ts +0 -12
  421. package/dist/folders/utils/formatFolderOrDocumentItem.d.ts.map +0 -1
  422. package/dist/folders/utils/formatFolderOrDocumentItem.js +0 -30
  423. package/dist/folders/utils/formatFolderOrDocumentItem.js.map +0 -1
  424. package/dist/folders/utils/getFolderBreadcrumbs.d.ts +0 -14
  425. package/dist/folders/utils/getFolderBreadcrumbs.d.ts.map +0 -1
  426. package/dist/folders/utils/getFolderBreadcrumbs.js +0 -45
  427. package/dist/folders/utils/getFolderBreadcrumbs.js.map +0 -1
  428. package/dist/folders/utils/getFolderData.d.ts +0 -33
  429. package/dist/folders/utils/getFolderData.d.ts.map +0 -1
  430. package/dist/folders/utils/getFolderData.js +0 -88
  431. package/dist/folders/utils/getFolderData.js.map +0 -1
  432. package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts +0 -24
  433. package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts.map +0 -1
  434. package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js +0 -66
  435. package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js.map +0 -1
  436. package/dist/folders/utils/getOrphanedDocs.d.ts +0 -15
  437. package/dist/folders/utils/getOrphanedDocs.d.ts.map +0 -1
  438. package/dist/folders/utils/getOrphanedDocs.js +0 -40
  439. package/dist/folders/utils/getOrphanedDocs.js.map +0 -1
  440. /package/dist/{folders → database/migrations/config}/types.js +0 -0
@@ -1,72 +0,0 @@
1
- import { extractID } from '../../utilities/extractID.js';
2
- /**
3
- * Determines if a child folder belongs to a parent folder by
4
- * recursively checking upwards through the folder hierarchy.
5
- */ async function isChildOfFolder({ folderCollectionSlug, folderFieldName, folderID, parentIDToFind, payload }) {
6
- const parentFolder = await payload.findByID({
7
- id: folderID,
8
- collection: folderCollectionSlug
9
- });
10
- const parentFolderID = parentFolder[folderFieldName] ? extractID(parentFolder[folderFieldName]) : undefined;
11
- if (!parentFolderID) {
12
- // made it to the root
13
- return false;
14
- }
15
- if (parentFolderID === parentIDToFind) {
16
- // found match, would be cyclic
17
- return true;
18
- }
19
- return isChildOfFolder({
20
- folderCollectionSlug,
21
- folderFieldName,
22
- folderID: parentFolderID,
23
- parentIDToFind,
24
- payload
25
- });
26
- }
27
- /**
28
- * If a parent is moved into a child folder, we need to re-parent the child
29
- *
30
- * @example
31
- *
32
- * ```ts
33
- → F1
34
- → F2
35
- → F2A
36
- → F3
37
-
38
- Moving F1 → F2A becomes:
39
-
40
- → F2A
41
- → F1
42
- → F2
43
- → F3
44
- ```
45
- */ export const reparentChildFolder = ({ folderFieldName })=>{
46
- return async ({ doc, previousDoc, req })=>{
47
- if (previousDoc[folderFieldName] !== doc[folderFieldName] && doc[folderFieldName] && req.payload.config.folders) {
48
- const newParentFolderID = extractID(doc[folderFieldName]);
49
- const isMovingToChild = newParentFolderID ? await isChildOfFolder({
50
- folderCollectionSlug: req.payload.config.folders.slug,
51
- folderFieldName,
52
- folderID: newParentFolderID,
53
- parentIDToFind: doc.id,
54
- payload: req.payload
55
- }) : false;
56
- if (isMovingToChild) {
57
- // if the folder was moved into a child folder, the child folder needs
58
- // to be re-parented with the parent of the folder that was moved
59
- await req.payload.update({
60
- id: newParentFolderID,
61
- collection: req.payload.config.folders.slug,
62
- data: {
63
- [folderFieldName]: previousDoc[folderFieldName] ? extractID(previousDoc[folderFieldName]) : null
64
- },
65
- req
66
- });
67
- }
68
- }
69
- };
70
- };
71
-
72
- //# sourceMappingURL=reparentChildFolder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/folders/hooks/reparentChildFolder.ts"],"sourcesContent":["import type { CollectionAfterChangeHook, Payload } from '../../index.js'\n\nimport { extractID } from '../../utilities/extractID.js'\n\ntype Args = {\n folderCollectionSlug: string\n folderFieldName: string\n folderID: number | string\n parentIDToFind: number | string\n payload: Payload\n}\n\n/**\n * Determines if a child folder belongs to a parent folder by\n * recursively checking upwards through the folder hierarchy.\n */\nasync function isChildOfFolder({\n folderCollectionSlug,\n folderFieldName,\n folderID,\n parentIDToFind,\n payload,\n}: Args): Promise<boolean> {\n const parentFolder = await payload.findByID({\n id: folderID,\n collection: folderCollectionSlug,\n })\n\n const parentFolderID = parentFolder[folderFieldName]\n ? extractID(parentFolder[folderFieldName])\n : undefined\n\n if (!parentFolderID) {\n // made it to the root\n return false\n }\n\n if (parentFolderID === parentIDToFind) {\n // found match, would be cyclic\n return true\n }\n\n return isChildOfFolder({\n folderCollectionSlug,\n folderFieldName,\n folderID: parentFolderID,\n parentIDToFind,\n payload,\n })\n}\n\n/**\n * If a parent is moved into a child folder, we need to re-parent the child\n * \n * @example\n * \n * ```ts\n → F1\n → F2\n → F2A\n → F3\n\n Moving F1 → F2A becomes:\n\n → F2A\n → F1\n → F2\n → F3\n ```\n */\nexport const reparentChildFolder = ({\n folderFieldName,\n}: {\n folderFieldName: string\n}): CollectionAfterChangeHook => {\n return async ({ doc, previousDoc, req }) => {\n if (\n previousDoc[folderFieldName] !== doc[folderFieldName] &&\n doc[folderFieldName] &&\n req.payload.config.folders\n ) {\n const newParentFolderID = extractID(doc[folderFieldName])\n const isMovingToChild = newParentFolderID\n ? await isChildOfFolder({\n folderCollectionSlug: req.payload.config.folders.slug,\n folderFieldName,\n folderID: newParentFolderID,\n parentIDToFind: doc.id,\n payload: req.payload,\n })\n : false\n\n if (isMovingToChild) {\n // if the folder was moved into a child folder, the child folder needs\n // to be re-parented with the parent of the folder that was moved\n await req.payload.update({\n id: newParentFolderID,\n collection: req.payload.config.folders.slug,\n data: {\n [folderFieldName]: previousDoc[folderFieldName]\n ? extractID(previousDoc[folderFieldName])\n : null,\n },\n req,\n })\n }\n }\n }\n}\n"],"names":["extractID","isChildOfFolder","folderCollectionSlug","folderFieldName","folderID","parentIDToFind","payload","parentFolder","findByID","id","collection","parentFolderID","undefined","reparentChildFolder","doc","previousDoc","req","config","folders","newParentFolderID","isMovingToChild","slug","update","data"],"mappings":"AAEA,SAASA,SAAS,QAAQ,+BAA8B;AAUxD;;;CAGC,GACD,eAAeC,gBAAgB,EAC7BC,oBAAoB,EACpBC,eAAe,EACfC,QAAQ,EACRC,cAAc,EACdC,OAAO,EACF;IACL,MAAMC,eAAe,MAAMD,QAAQE,QAAQ,CAAC;QAC1CC,IAAIL;QACJM,YAAYR;IACd;IAEA,MAAMS,iBAAiBJ,YAAY,CAACJ,gBAAgB,GAChDH,UAAUO,YAAY,CAACJ,gBAAgB,IACvCS;IAEJ,IAAI,CAACD,gBAAgB;QACnB,sBAAsB;QACtB,OAAO;IACT;IAEA,IAAIA,mBAAmBN,gBAAgB;QACrC,+BAA+B;QAC/B,OAAO;IACT;IAEA,OAAOJ,gBAAgB;QACrBC;QACAC;QACAC,UAAUO;QACVN;QACAC;IACF;AACF;AAEA;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,MAAMO,sBAAsB,CAAC,EAClCV,eAAe,EAGhB;IACC,OAAO,OAAO,EAAEW,GAAG,EAAEC,WAAW,EAAEC,GAAG,EAAE;QACrC,IACED,WAAW,CAACZ,gBAAgB,KAAKW,GAAG,CAACX,gBAAgB,IACrDW,GAAG,CAACX,gBAAgB,IACpBa,IAAIV,OAAO,CAACW,MAAM,CAACC,OAAO,EAC1B;YACA,MAAMC,oBAAoBnB,UAAUc,GAAG,CAACX,gBAAgB;YACxD,MAAMiB,kBAAkBD,oBACpB,MAAMlB,gBAAgB;gBACpBC,sBAAsBc,IAAIV,OAAO,CAACW,MAAM,CAACC,OAAO,CAACG,IAAI;gBACrDlB;gBACAC,UAAUe;gBACVd,gBAAgBS,IAAIL,EAAE;gBACtBH,SAASU,IAAIV,OAAO;YACtB,KACA;YAEJ,IAAIc,iBAAiB;gBACnB,sEAAsE;gBACtE,iEAAiE;gBACjE,MAAMJ,IAAIV,OAAO,CAACgB,MAAM,CAAC;oBACvBb,IAAIU;oBACJT,YAAYM,IAAIV,OAAO,CAACW,MAAM,CAACC,OAAO,CAACG,IAAI;oBAC3CE,MAAM;wBACJ,CAACpB,gBAAgB,EAAEY,WAAW,CAACZ,gBAAgB,GAC3CH,UAAUe,WAAW,CAACZ,gBAAgB,IACtC;oBACN;oBACAa;gBACF;YACF;QACF;IACF;AACF,EAAC"}
@@ -1,118 +0,0 @@
1
- import type { CollectionConfig, TypeWithID } from '../collections/config/types.js';
2
- import type { CollectionSlug, SanitizedCollectionConfig } from '../index.js';
3
- import type { Document } from '../types/index.js';
4
- export type FolderInterface = {
5
- documentsAndFolders?: {
6
- docs: {
7
- relationTo: CollectionSlug;
8
- value: Document;
9
- }[];
10
- };
11
- folder?: FolderInterface | (number | string | undefined);
12
- folderType: CollectionSlug[];
13
- name: string;
14
- } & TypeWithID;
15
- export type FolderBreadcrumb = {
16
- folderType?: CollectionSlug[];
17
- id: null | number | string;
18
- name: string;
19
- };
20
- export type Subfolder = {
21
- fileCount: number;
22
- hasSubfolders: boolean;
23
- id: number | string;
24
- name: string;
25
- subfolderCount: number;
26
- };
27
- export type FolderEnabledColection = {
28
- admin: {
29
- custom: {
30
- folderCollectionSlug: CollectionSlug;
31
- };
32
- };
33
- slug: CollectionSlug;
34
- } & SanitizedCollectionConfig;
35
- /**
36
- * `${relationTo}-${id}` is used as a key for the item
37
- */
38
- export type FolderDocumentItemKey = `${string}-${number | string}`;
39
- /**
40
- * Needed for document card view for upload enabled collections
41
- */
42
- type DocumentMediaData = {
43
- filename?: string;
44
- mimeType?: string;
45
- url?: string;
46
- };
47
- /**
48
- * A generic structure for a folder or document item.
49
- */
50
- export type FolderOrDocument = {
51
- itemKey: FolderDocumentItemKey;
52
- relationTo: CollectionSlug;
53
- value: {
54
- _folderOrDocumentTitle: string;
55
- createdAt?: string;
56
- folderID?: number | string;
57
- folderType: CollectionSlug[];
58
- id: number | string;
59
- updatedAt?: string;
60
- } & DocumentMediaData;
61
- };
62
- export type GetFolderDataResult = {
63
- breadcrumbs: FolderBreadcrumb[] | null;
64
- documents: FolderOrDocument[];
65
- folderAssignedCollections: CollectionSlug[] | undefined;
66
- subfolders: FolderOrDocument[];
67
- };
68
- export type RootFoldersConfiguration = {
69
- /**
70
- * If true, the browse by folder view will be enabled
71
- *
72
- * @default true
73
- */
74
- browseByFolder?: boolean;
75
- /**
76
- * An array of functions to be ran when the folder collection is initialized
77
- * This allows plugins to modify the collection configuration
78
- */
79
- collectionOverrides?: (({ collection, }: {
80
- collection: Omit<CollectionConfig, 'trash'>;
81
- }) => Omit<CollectionConfig, 'trash'> | Promise<Omit<CollectionConfig, 'trash'>>)[];
82
- /**
83
- * If true, you can scope folders to specific collections.
84
- *
85
- * @default true
86
- */
87
- collectionSpecific?: boolean;
88
- /**
89
- * Ability to view hidden fields and collections related to folders
90
- *
91
- * @default false
92
- */
93
- debug?: boolean;
94
- /**
95
- * The Folder field name
96
- *
97
- * @default "folder"
98
- */
99
- fieldName?: string;
100
- /**
101
- * Slug for the folder collection
102
- *
103
- * @default "payload-folders"
104
- */
105
- slug?: string;
106
- };
107
- export type CollectionFoldersConfiguration = {
108
- /**
109
- * If true, the collection will be included in the browse by folder view
110
- *
111
- * @default true
112
- */
113
- browseByFolder?: boolean;
114
- };
115
- type BaseFolderSortKeys = 'createdAt' | 'name' | 'updatedAt';
116
- export type FolderSortKeys = `-${BaseFolderSortKeys}` | BaseFolderSortKeys;
117
- export {};
118
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/folders/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,MAAM,eAAe,GAAG;IAC5B,mBAAmB,CAAC,EAAE;QACpB,IAAI,EAAE;YACJ,UAAU,EAAE,cAAc,CAAA;YAC1B,KAAK,EAAE,QAAQ,CAAA;SAChB,EAAE,CAAA;KACJ,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAA;IACxD,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,UAAU,CAAA;AAEd,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;IAC7B,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;IACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE;QACL,MAAM,EAAE;YACN,oBAAoB,EAAE,cAAc,CAAA;SACrC,CAAA;KACF,CAAA;IACD,IAAI,EAAE,cAAc,CAAA;CACrB,GAAG,yBAAyB,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,GAAG,MAAM,IAAI,MAAM,GAAG,MAAM,EAAE,CAAA;AAElE;;GAEG;AACH,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AACD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,UAAU,EAAE,cAAc,CAAA;IAC1B,KAAK,EAAE;QACL,sBAAsB,EAAE,MAAM,CAAA;QAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QAC1B,UAAU,EAAE,cAAc,EAAE,CAAA;QAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,GAAG,iBAAiB,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IACtC,SAAS,EAAE,gBAAgB,EAAE,CAAA;IAC7B,yBAAyB,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;IACvD,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,CAAC,EACtB,UAAU,GACX,EAAE;QACD,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;KAC5C,KAAK,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACnF;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,KAAK,kBAAkB,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,GAAG,kBAAkB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/folders/types.ts"],"sourcesContent":["import type { CollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { CollectionSlug, SanitizedCollectionConfig } from '../index.js'\nimport type { Document } from '../types/index.js'\n\nexport type FolderInterface = {\n documentsAndFolders?: {\n docs: {\n relationTo: CollectionSlug\n value: Document\n }[]\n }\n folder?: FolderInterface | (number | string | undefined)\n folderType: CollectionSlug[]\n name: string\n} & TypeWithID\n\nexport type FolderBreadcrumb = {\n folderType?: CollectionSlug[]\n id: null | number | string\n name: string\n}\n\nexport type Subfolder = {\n fileCount: number\n hasSubfolders: boolean\n id: number | string\n name: string\n subfolderCount: number\n}\n\nexport type FolderEnabledColection = {\n admin: {\n custom: {\n folderCollectionSlug: CollectionSlug\n }\n }\n slug: CollectionSlug\n} & SanitizedCollectionConfig\n\n/**\n * `${relationTo}-${id}` is used as a key for the item\n */\nexport type FolderDocumentItemKey = `${string}-${number | string}`\n\n/**\n * Needed for document card view for upload enabled collections\n */\ntype DocumentMediaData = {\n filename?: string\n mimeType?: string\n url?: string\n}\n/**\n * A generic structure for a folder or document item.\n */\nexport type FolderOrDocument = {\n itemKey: FolderDocumentItemKey\n relationTo: CollectionSlug\n value: {\n _folderOrDocumentTitle: string\n createdAt?: string\n folderID?: number | string\n folderType: CollectionSlug[]\n id: number | string\n updatedAt?: string\n } & DocumentMediaData\n}\n\nexport type GetFolderDataResult = {\n breadcrumbs: FolderBreadcrumb[] | null\n documents: FolderOrDocument[]\n folderAssignedCollections: CollectionSlug[] | undefined\n subfolders: FolderOrDocument[]\n}\n\nexport type RootFoldersConfiguration = {\n /**\n * If true, the browse by folder view will be enabled\n *\n * @default true\n */\n browseByFolder?: boolean\n /**\n * An array of functions to be ran when the folder collection is initialized\n * This allows plugins to modify the collection configuration\n */\n collectionOverrides?: (({\n collection,\n }: {\n collection: Omit<CollectionConfig, 'trash'>\n }) => Omit<CollectionConfig, 'trash'> | Promise<Omit<CollectionConfig, 'trash'>>)[]\n /**\n * If true, you can scope folders to specific collections.\n *\n * @default true\n */\n collectionSpecific?: boolean\n /**\n * Ability to view hidden fields and collections related to folders\n *\n * @default false\n */\n debug?: boolean\n /**\n * The Folder field name\n *\n * @default \"folder\"\n */\n fieldName?: string\n /**\n * Slug for the folder collection\n *\n * @default \"payload-folders\"\n */\n slug?: string\n}\n\nexport type CollectionFoldersConfiguration = {\n /**\n * If true, the collection will be included in the browse by folder view\n *\n * @default true\n */\n browseByFolder?: boolean\n}\n\ntype BaseFolderSortKeys = 'createdAt' | 'name' | 'updatedAt'\n\nexport type FolderSortKeys = `-${BaseFolderSortKeys}` | BaseFolderSortKeys\n"],"names":[],"mappings":"AAgIA,WAA0E"}
@@ -1,13 +0,0 @@
1
- import type { SanitizedCollectionConfig } from '../../collections/config/types.js';
2
- import type { PayloadRequest, Where } from '../../types/index.js';
3
- type Args = {
4
- collectionConfig: SanitizedCollectionConfig;
5
- folderID?: number | string;
6
- localeCode?: string;
7
- req: PayloadRequest;
8
- search?: string;
9
- sort?: string;
10
- };
11
- export declare function buildFolderWhereConstraints({ collectionConfig, folderID, localeCode, req, search, sort, }: Args): Promise<undefined | Where>;
12
- export {};
13
- //# sourceMappingURL=buildFolderWhereConstraints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildFolderWhereConstraints.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/buildFolderWhereConstraints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAKjE,KAAK,IAAI,GAAG;IACV,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AACD,wBAAsB,2BAA2B,CAAC,EAChD,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,GAAG,EACH,MAAW,EACX,IAAI,GACL,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAoDnC"}
@@ -1,45 +0,0 @@
1
- import { combineWhereConstraints } from '../../utilities/combineWhereConstraints.js';
2
- import { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js';
3
- export async function buildFolderWhereConstraints({ collectionConfig, folderID, localeCode, req, search = '', sort }) {
4
- const constraints = [
5
- mergeListSearchAndWhere({
6
- collectionConfig,
7
- search
8
- })
9
- ];
10
- const baseFilterConstraint = await (collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter)?.({
11
- limit: 0,
12
- locale: localeCode,
13
- page: 1,
14
- req,
15
- sort: sort || (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : 'id')
16
- });
17
- if (baseFilterConstraint) {
18
- constraints.push(baseFilterConstraint);
19
- }
20
- if (folderID) {
21
- // build folder join where constraints
22
- constraints.push({
23
- relationTo: {
24
- equals: collectionConfig.slug
25
- }
26
- });
27
- // join queries need to omit trashed documents
28
- if (collectionConfig.trash) {
29
- constraints.push({
30
- deletedAt: {
31
- exists: false
32
- }
33
- });
34
- }
35
- }
36
- const filteredConstraints = constraints.filter(Boolean);
37
- if (filteredConstraints.length > 1) {
38
- return combineWhereConstraints(filteredConstraints);
39
- } else if (filteredConstraints.length === 1) {
40
- return filteredConstraints[0];
41
- }
42
- return undefined;
43
- }
44
-
45
- //# sourceMappingURL=buildFolderWhereConstraints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/folders/utils/buildFolderWhereConstraints.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\n\nimport { combineWhereConstraints } from '../../utilities/combineWhereConstraints.js'\nimport { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js'\n\ntype Args = {\n collectionConfig: SanitizedCollectionConfig\n folderID?: number | string\n localeCode?: string\n req: PayloadRequest\n search?: string\n sort?: string\n}\nexport async function buildFolderWhereConstraints({\n collectionConfig,\n folderID,\n localeCode,\n req,\n search = '',\n sort,\n}: Args): Promise<undefined | Where> {\n const constraints: Where[] = [\n mergeListSearchAndWhere({\n collectionConfig,\n search,\n // where // cannot have where since fields in folders and collection will differ\n }),\n ]\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: 0,\n locale: localeCode,\n page: 1,\n req,\n sort:\n sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : 'id'),\n })\n\n if (baseFilterConstraint) {\n constraints.push(baseFilterConstraint)\n }\n\n if (folderID) {\n // build folder join where constraints\n constraints.push({\n relationTo: {\n equals: collectionConfig.slug,\n },\n })\n\n // join queries need to omit trashed documents\n if (collectionConfig.trash) {\n constraints.push({\n deletedAt: {\n exists: false,\n },\n })\n }\n }\n\n const filteredConstraints = constraints.filter(Boolean)\n\n if (filteredConstraints.length > 1) {\n return combineWhereConstraints(filteredConstraints)\n } else if (filteredConstraints.length === 1) {\n return filteredConstraints[0]\n }\n\n return undefined\n}\n"],"names":["combineWhereConstraints","mergeListSearchAndWhere","buildFolderWhereConstraints","collectionConfig","folderID","localeCode","req","search","sort","constraints","baseFilterConstraint","admin","baseFilter","baseListFilter","limit","locale","page","defaultSort","push","relationTo","equals","slug","trash","deletedAt","exists","filteredConstraints","filter","Boolean","length","undefined"],"mappings":"AAGA,SAASA,uBAAuB,QAAQ,6CAA4C;AACpF,SAASC,uBAAuB,QAAQ,6CAA4C;AAUpF,OAAO,eAAeC,4BAA4B,EAChDC,gBAAgB,EAChBC,QAAQ,EACRC,UAAU,EACVC,GAAG,EACHC,SAAS,EAAE,EACXC,IAAI,EACC;IACL,MAAMC,cAAuB;QAC3BR,wBAAwB;YACtBE;YACAI;QAEF;KACD;IAED,MAAMG,uBAAuB,MAC3BP,CAAAA,iBAAiBQ,KAAK,EAAEC,cAAcT,iBAAiBQ,KAAK,EAAEE,cAAa,IACzE;QACFC,OAAO;QACPC,QAAQV;QACRW,MAAM;QACNV;QACAE,MACEA,QACC,CAAA,OAAOL,iBAAiBc,WAAW,KAAK,WAAWd,iBAAiBc,WAAW,GAAG,IAAG;IAC1F;IAEA,IAAIP,sBAAsB;QACxBD,YAAYS,IAAI,CAACR;IACnB;IAEA,IAAIN,UAAU;QACZ,sCAAsC;QACtCK,YAAYS,IAAI,CAAC;YACfC,YAAY;gBACVC,QAAQjB,iBAAiBkB,IAAI;YAC/B;QACF;QAEA,8CAA8C;QAC9C,IAAIlB,iBAAiBmB,KAAK,EAAE;YAC1Bb,YAAYS,IAAI,CAAC;gBACfK,WAAW;oBACTC,QAAQ;gBACV;YACF;QACF;IACF;IAEA,MAAMC,sBAAsBhB,YAAYiB,MAAM,CAACC;IAE/C,IAAIF,oBAAoBG,MAAM,GAAG,GAAG;QAClC,OAAO5B,wBAAwByB;IACjC,OAAO,IAAIA,oBAAoBG,MAAM,KAAK,GAAG;QAC3C,OAAOH,mBAAmB,CAAC,EAAE;IAC/B;IAEA,OAAOI;AACT"}
@@ -1,12 +0,0 @@
1
- import type { CollectionSlug, Document } from '../../index.js';
2
- import type { FolderOrDocument } from '../types.js';
3
- type Args = {
4
- folderFieldName: string;
5
- isUpload: boolean;
6
- relationTo: CollectionSlug;
7
- useAsTitle?: string;
8
- value: Document;
9
- };
10
- export declare function formatFolderOrDocumentItem({ folderFieldName, isUpload, relationTo, useAsTitle, value, }: Args): FolderOrDocument;
11
- export {};
12
- //# sourceMappingURL=formatFolderOrDocumentItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatFolderOrDocumentItem.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/formatFolderOrDocumentItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKnD,KAAK,IAAI,GAAG;IACV,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,cAAc,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,QAAQ,CAAA;CAChB,CAAA;AACD,wBAAgB,0BAA0B,CAAC,EACzC,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,KAAK,GACN,EAAE,IAAI,GAAG,gBAAgB,CA+BzB"}
@@ -1,30 +0,0 @@
1
- import { isImage } from '../../uploads/isImage.js';
2
- import { getBestFitFromSizes } from '../../utilities/getBestFitFromSizes.js';
3
- export function formatFolderOrDocumentItem({ folderFieldName, isUpload, relationTo, useAsTitle, value }) {
4
- const itemValue = {
5
- id: value?.id,
6
- _folderOrDocumentTitle: String(useAsTitle && value?.[useAsTitle] || value['id']),
7
- createdAt: value?.createdAt,
8
- folderID: value?.[folderFieldName],
9
- folderType: value?.folderType || [],
10
- updatedAt: value?.updatedAt
11
- };
12
- if (isUpload) {
13
- itemValue.filename = value.filename;
14
- itemValue.mimeType = value.mimeType;
15
- itemValue.url = value.thumbnailURL || (isImage(value.mimeType) ? getBestFitFromSizes({
16
- sizes: value.sizes,
17
- targetSizeMax: 520,
18
- targetSizeMin: 300,
19
- url: value.url,
20
- width: value.width
21
- }) : undefined);
22
- }
23
- return {
24
- itemKey: `${relationTo}-${value.id}`,
25
- relationTo,
26
- value: itemValue
27
- };
28
- }
29
-
30
- //# sourceMappingURL=formatFolderOrDocumentItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/folders/utils/formatFolderOrDocumentItem.ts"],"sourcesContent":["import type { CollectionSlug, Document } from '../../index.js'\nimport type { FolderOrDocument } from '../types.js'\n\nimport { isImage } from '../../uploads/isImage.js'\nimport { getBestFitFromSizes } from '../../utilities/getBestFitFromSizes.js'\n\ntype Args = {\n folderFieldName: string\n isUpload: boolean\n relationTo: CollectionSlug\n useAsTitle?: string\n value: Document\n}\nexport function formatFolderOrDocumentItem({\n folderFieldName,\n isUpload,\n relationTo,\n useAsTitle,\n value,\n}: Args): FolderOrDocument {\n const itemValue: FolderOrDocument['value'] = {\n id: value?.id,\n _folderOrDocumentTitle: String((useAsTitle && value?.[useAsTitle]) || value['id']),\n createdAt: value?.createdAt,\n folderID: value?.[folderFieldName],\n folderType: value?.folderType || [],\n updatedAt: value?.updatedAt,\n }\n\n if (isUpload) {\n itemValue.filename = value.filename\n itemValue.mimeType = value.mimeType\n itemValue.url =\n value.thumbnailURL ||\n (isImage(value.mimeType)\n ? getBestFitFromSizes({\n sizes: value.sizes,\n targetSizeMax: 520,\n targetSizeMin: 300,\n url: value.url,\n width: value.width,\n })\n : undefined)\n }\n\n return {\n itemKey: `${relationTo}-${value.id}`,\n relationTo,\n value: itemValue,\n }\n}\n"],"names":["isImage","getBestFitFromSizes","formatFolderOrDocumentItem","folderFieldName","isUpload","relationTo","useAsTitle","value","itemValue","id","_folderOrDocumentTitle","String","createdAt","folderID","folderType","updatedAt","filename","mimeType","url","thumbnailURL","sizes","targetSizeMax","targetSizeMin","width","undefined","itemKey"],"mappings":"AAGA,SAASA,OAAO,QAAQ,2BAA0B;AAClD,SAASC,mBAAmB,QAAQ,yCAAwC;AAS5E,OAAO,SAASC,2BAA2B,EACzCC,eAAe,EACfC,QAAQ,EACRC,UAAU,EACVC,UAAU,EACVC,KAAK,EACA;IACL,MAAMC,YAAuC;QAC3CC,IAAIF,OAAOE;QACXC,wBAAwBC,OAAO,AAACL,cAAcC,OAAO,CAACD,WAAW,IAAKC,KAAK,CAAC,KAAK;QACjFK,WAAWL,OAAOK;QAClBC,UAAUN,OAAO,CAACJ,gBAAgB;QAClCW,YAAYP,OAAOO,cAAc,EAAE;QACnCC,WAAWR,OAAOQ;IACpB;IAEA,IAAIX,UAAU;QACZI,UAAUQ,QAAQ,GAAGT,MAAMS,QAAQ;QACnCR,UAAUS,QAAQ,GAAGV,MAAMU,QAAQ;QACnCT,UAAUU,GAAG,GACXX,MAAMY,YAAY,IACjBnB,CAAAA,QAAQO,MAAMU,QAAQ,IACnBhB,oBAAoB;YAClBmB,OAAOb,MAAMa,KAAK;YAClBC,eAAe;YACfC,eAAe;YACfJ,KAAKX,MAAMW,GAAG;YACdK,OAAOhB,MAAMgB,KAAK;QACpB,KACAC,SAAQ;IAChB;IAEA,OAAO;QACLC,SAAS,GAAGpB,WAAW,CAAC,EAAEE,MAAME,EAAE,EAAE;QACpCJ;QACAE,OAAOC;IACT;AACF"}
@@ -1,14 +0,0 @@
1
- import type { PayloadRequest } from '../../types/index.js';
2
- import type { FolderBreadcrumb } from '../types.js';
3
- type GetFolderBreadcrumbsArgs = {
4
- breadcrumbs?: FolderBreadcrumb[];
5
- folderID?: number | string;
6
- req: PayloadRequest;
7
- };
8
- /**
9
- * Builds breadcrumbs up from child folder
10
- * all the way up to root folder
11
- */
12
- export declare const getFolderBreadcrumbs: ({ breadcrumbs, folderID, req, }: GetFolderBreadcrumbsArgs) => Promise<FolderBreadcrumb[] | null>;
13
- export {};
14
- //# sourceMappingURL=getFolderBreadcrumbs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFolderBreadcrumbs.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/getFolderBreadcrumbs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,KAAK,wBAAwB,GAAG;IAC9B,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,oCAI9B,wBAAwB,KAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CA8C9D,CAAA"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Builds breadcrumbs up from child folder
3
- * all the way up to root folder
4
- */ export const getFolderBreadcrumbs = async ({ breadcrumbs = [], folderID, req })=>{
5
- const { payload, user } = req;
6
- if (folderID && payload.config.folders) {
7
- const folderFieldName = payload.config.folders.fieldName;
8
- const folderQuery = await payload.find({
9
- collection: payload.config.folders.slug,
10
- depth: 0,
11
- limit: 1,
12
- overrideAccess: false,
13
- req,
14
- select: {
15
- name: true,
16
- [folderFieldName]: true,
17
- folderType: true
18
- },
19
- user,
20
- where: {
21
- id: {
22
- equals: folderID
23
- }
24
- }
25
- });
26
- const folder = folderQuery.docs[0];
27
- if (folder) {
28
- breadcrumbs.push({
29
- id: folder.id,
30
- name: folder.name,
31
- folderType: folder.folderType
32
- });
33
- if (folder[folderFieldName]) {
34
- return getFolderBreadcrumbs({
35
- breadcrumbs,
36
- folderID: typeof folder[folderFieldName] === 'number' || typeof folder[folderFieldName] === 'string' ? folder[folderFieldName] : folder[folderFieldName].id,
37
- req
38
- });
39
- }
40
- }
41
- }
42
- return breadcrumbs.reverse();
43
- };
44
-
45
- //# sourceMappingURL=getFolderBreadcrumbs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/folders/utils/getFolderBreadcrumbs.ts"],"sourcesContent":["import type { Document, PayloadRequest } from '../../types/index.js'\nimport type { FolderBreadcrumb } from '../types.js'\n\ntype GetFolderBreadcrumbsArgs = {\n breadcrumbs?: FolderBreadcrumb[]\n folderID?: number | string\n req: PayloadRequest\n}\n/**\n * Builds breadcrumbs up from child folder\n * all the way up to root folder\n */\nexport const getFolderBreadcrumbs = async ({\n breadcrumbs = [],\n folderID,\n req,\n}: GetFolderBreadcrumbsArgs): Promise<FolderBreadcrumb[] | null> => {\n const { payload, user } = req\n if (folderID && payload.config.folders) {\n const folderFieldName: string = payload.config.folders.fieldName\n const folderQuery = await payload.find({\n collection: payload.config.folders.slug,\n depth: 0,\n limit: 1,\n overrideAccess: false,\n req,\n select: {\n name: true,\n [folderFieldName]: true,\n folderType: true,\n },\n user,\n where: {\n id: {\n equals: folderID,\n },\n },\n })\n\n const folder = folderQuery.docs[0] as Document\n\n if (folder) {\n breadcrumbs.push({\n id: folder.id,\n name: folder.name,\n folderType: folder.folderType,\n })\n if (folder[folderFieldName]) {\n return getFolderBreadcrumbs({\n breadcrumbs,\n folderID:\n typeof folder[folderFieldName] === 'number' ||\n typeof folder[folderFieldName] === 'string'\n ? folder[folderFieldName]\n : folder[folderFieldName].id,\n req,\n })\n }\n }\n }\n\n return breadcrumbs.reverse()\n}\n"],"names":["getFolderBreadcrumbs","breadcrumbs","folderID","req","payload","user","config","folders","folderFieldName","fieldName","folderQuery","find","collection","slug","depth","limit","overrideAccess","select","name","folderType","where","id","equals","folder","docs","push","reverse"],"mappings":"AAQA;;;CAGC,GACD,OAAO,MAAMA,uBAAuB,OAAO,EACzCC,cAAc,EAAE,EAChBC,QAAQ,EACRC,GAAG,EACsB;IACzB,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGF;IAC1B,IAAID,YAAYE,QAAQE,MAAM,CAACC,OAAO,EAAE;QACtC,MAAMC,kBAA0BJ,QAAQE,MAAM,CAACC,OAAO,CAACE,SAAS;QAChE,MAAMC,cAAc,MAAMN,QAAQO,IAAI,CAAC;YACrCC,YAAYR,QAAQE,MAAM,CAACC,OAAO,CAACM,IAAI;YACvCC,OAAO;YACPC,OAAO;YACPC,gBAAgB;YAChBb;YACAc,QAAQ;gBACNC,MAAM;gBACN,CAACV,gBAAgB,EAAE;gBACnBW,YAAY;YACd;YACAd;YACAe,OAAO;gBACLC,IAAI;oBACFC,QAAQpB;gBACV;YACF;QACF;QAEA,MAAMqB,SAASb,YAAYc,IAAI,CAAC,EAAE;QAElC,IAAID,QAAQ;YACVtB,YAAYwB,IAAI,CAAC;gBACfJ,IAAIE,OAAOF,EAAE;gBACbH,MAAMK,OAAOL,IAAI;gBACjBC,YAAYI,OAAOJ,UAAU;YAC/B;YACA,IAAII,MAAM,CAACf,gBAAgB,EAAE;gBAC3B,OAAOR,qBAAqB;oBAC1BC;oBACAC,UACE,OAAOqB,MAAM,CAACf,gBAAgB,KAAK,YACnC,OAAOe,MAAM,CAACf,gBAAgB,KAAK,WAC/Be,MAAM,CAACf,gBAAgB,GACvBe,MAAM,CAACf,gBAAgB,CAACa,EAAE;oBAChClB;gBACF;YACF;QACF;IACF;IAEA,OAAOF,YAAYyB,OAAO;AAC5B,EAAC"}
@@ -1,33 +0,0 @@
1
- import type { CollectionSlug } from '../../index.js';
2
- import type { PayloadRequest, Where } from '../../types/index.js';
3
- import type { FolderSortKeys, GetFolderDataResult } from '../types.js';
4
- type Args = {
5
- /**
6
- * Specify to query documents from a specific collection
7
- * @default undefined
8
- * @example 'posts'
9
- */
10
- collectionSlug?: CollectionSlug;
11
- /**
12
- * Optional where clause to filter documents by
13
- * @default undefined
14
- */
15
- documentWhere?: Where;
16
- /**
17
- * The ID of the folder to query documents from
18
- * @default undefined
19
- */
20
- folderID?: number | string;
21
- /** Optional where clause to filter subfolders by
22
- * @default undefined
23
- */
24
- folderWhere?: Where;
25
- req: PayloadRequest;
26
- sort: FolderSortKeys;
27
- };
28
- /**
29
- * Query for documents, subfolders and breadcrumbs for a given folder
30
- */
31
- export declare const getFolderData: ({ collectionSlug, documentWhere, folderID: _folderID, folderWhere, req, sort, }: Args) => Promise<GetFolderDataResult>;
32
- export {};
33
- //# sourceMappingURL=getFolderData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFolderData.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/getFolderData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAoB,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAOxF,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;CACrB,CAAA;AACD;;GAEG;AACH,eAAO,MAAM,aAAa,oFAOvB,IAAI,KAAG,OAAO,CAAC,mBAAmB,CAqDpC,CAAA"}
@@ -1,88 +0,0 @@
1
- import { parseDocumentID } from '../../index.js';
2
- import { getFolderBreadcrumbs } from './getFolderBreadcrumbs.js';
3
- import { queryDocumentsAndFoldersFromJoin } from './getFoldersAndDocumentsFromJoin.js';
4
- import { getOrphanedDocs } from './getOrphanedDocs.js';
5
- /**
6
- * Query for documents, subfolders and breadcrumbs for a given folder
7
- */ export const getFolderData = async ({ collectionSlug, documentWhere, folderID: _folderID, folderWhere, req, sort = 'name' })=>{
8
- const { payload } = req;
9
- if (payload.config.folders === false) {
10
- throw new Error('Folders are not enabled');
11
- }
12
- const parentFolderID = parseDocumentID({
13
- id: _folderID,
14
- collectionSlug: payload.config.folders.slug,
15
- payload
16
- });
17
- const breadcrumbsPromise = getFolderBreadcrumbs({
18
- folderID: parentFolderID,
19
- req
20
- });
21
- if (parentFolderID) {
22
- // subfolders and documents are queried together
23
- const documentAndSubfolderPromise = queryDocumentsAndFoldersFromJoin({
24
- documentWhere,
25
- folderWhere,
26
- parentFolderID,
27
- req
28
- });
29
- const [breadcrumbs, result] = await Promise.all([
30
- breadcrumbsPromise,
31
- documentAndSubfolderPromise
32
- ]);
33
- return {
34
- breadcrumbs,
35
- documents: sortDocs({
36
- docs: result.documents,
37
- sort
38
- }),
39
- folderAssignedCollections: result.folderAssignedCollections,
40
- subfolders: sortDocs({
41
- docs: result.subfolders,
42
- sort
43
- })
44
- };
45
- } else {
46
- const subfoldersPromise = getOrphanedDocs({
47
- collectionSlug: payload.config.folders.slug,
48
- folderFieldName: payload.config.folders.fieldName,
49
- req,
50
- where: folderWhere
51
- });
52
- const [breadcrumbs, subfolders] = await Promise.all([
53
- breadcrumbsPromise,
54
- subfoldersPromise
55
- ]);
56
- return {
57
- breadcrumbs,
58
- documents: [],
59
- folderAssignedCollections: collectionSlug ? [
60
- collectionSlug
61
- ] : undefined,
62
- subfolders: sortDocs({
63
- docs: subfolders,
64
- sort
65
- })
66
- };
67
- }
68
- };
69
- function sortDocs({ docs, sort }) {
70
- if (!sort) {
71
- return docs;
72
- }
73
- const isDesc = typeof sort === 'string' && sort.startsWith('-');
74
- const sortKey = isDesc ? sort.slice(1) : sort;
75
- return docs.sort((a, b)=>{
76
- let result = 0;
77
- if (sortKey === 'name') {
78
- result = a.value._folderOrDocumentTitle.localeCompare(b.value._folderOrDocumentTitle);
79
- } else if (sortKey === 'createdAt') {
80
- result = new Date(a.value.createdAt || '').getTime() - new Date(b.value.createdAt || '').getTime();
81
- } else if (sortKey === 'updatedAt') {
82
- result = new Date(a.value.updatedAt || '').getTime() - new Date(b.value.updatedAt || '').getTime();
83
- }
84
- return isDesc ? -result : result;
85
- });
86
- }
87
-
88
- //# sourceMappingURL=getFolderData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/folders/utils/getFolderData.ts"],"sourcesContent":["import type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { FolderOrDocument, FolderSortKeys, GetFolderDataResult } from '../types.js'\n\nimport { parseDocumentID } from '../../index.js'\nimport { getFolderBreadcrumbs } from './getFolderBreadcrumbs.js'\nimport { queryDocumentsAndFoldersFromJoin } from './getFoldersAndDocumentsFromJoin.js'\nimport { getOrphanedDocs } from './getOrphanedDocs.js'\n\ntype Args = {\n /**\n * Specify to query documents from a specific collection\n * @default undefined\n * @example 'posts'\n */\n collectionSlug?: CollectionSlug\n /**\n * Optional where clause to filter documents by\n * @default undefined\n */\n documentWhere?: Where\n /**\n * The ID of the folder to query documents from\n * @default undefined\n */\n folderID?: number | string\n /** Optional where clause to filter subfolders by\n * @default undefined\n */\n folderWhere?: Where\n req: PayloadRequest\n sort: FolderSortKeys\n}\n/**\n * Query for documents, subfolders and breadcrumbs for a given folder\n */\nexport const getFolderData = async ({\n collectionSlug,\n documentWhere,\n folderID: _folderID,\n folderWhere,\n req,\n sort = 'name',\n}: Args): Promise<GetFolderDataResult> => {\n const { payload } = req\n\n if (payload.config.folders === false) {\n throw new Error('Folders are not enabled')\n }\n\n const parentFolderID = parseDocumentID({\n id: _folderID,\n collectionSlug: payload.config.folders.slug,\n payload,\n })\n\n const breadcrumbsPromise = getFolderBreadcrumbs({\n folderID: parentFolderID,\n req,\n })\n\n if (parentFolderID) {\n // subfolders and documents are queried together\n const documentAndSubfolderPromise = queryDocumentsAndFoldersFromJoin({\n documentWhere,\n folderWhere,\n parentFolderID,\n req,\n })\n const [breadcrumbs, result] = await Promise.all([\n breadcrumbsPromise,\n documentAndSubfolderPromise,\n ])\n\n return {\n breadcrumbs,\n documents: sortDocs({ docs: result.documents, sort }),\n folderAssignedCollections: result.folderAssignedCollections,\n subfolders: sortDocs({ docs: result.subfolders, sort }),\n }\n } else {\n const subfoldersPromise = getOrphanedDocs({\n collectionSlug: payload.config.folders.slug,\n folderFieldName: payload.config.folders.fieldName,\n req,\n where: folderWhere,\n })\n const [breadcrumbs, subfolders] = await Promise.all([breadcrumbsPromise, subfoldersPromise])\n\n return {\n breadcrumbs,\n documents: [],\n folderAssignedCollections: collectionSlug ? [collectionSlug] : undefined,\n subfolders: sortDocs({ docs: subfolders, sort }),\n }\n }\n}\n\nfunction sortDocs({\n docs,\n sort,\n}: {\n docs: FolderOrDocument[]\n sort?: FolderSortKeys\n}): FolderOrDocument[] {\n if (!sort) {\n return docs\n }\n const isDesc = typeof sort === 'string' && sort.startsWith('-')\n const sortKey = (isDesc ? sort.slice(1) : sort) as FolderSortKeys\n\n return docs.sort((a, b) => {\n let result = 0\n if (sortKey === 'name') {\n result = a.value._folderOrDocumentTitle.localeCompare(b.value._folderOrDocumentTitle)\n } else if (sortKey === 'createdAt') {\n result =\n new Date(a.value.createdAt || '').getTime() - new Date(b.value.createdAt || '').getTime()\n } else if (sortKey === 'updatedAt') {\n result =\n new Date(a.value.updatedAt || '').getTime() - new Date(b.value.updatedAt || '').getTime()\n }\n return isDesc ? -result : result\n })\n}\n"],"names":["parseDocumentID","getFolderBreadcrumbs","queryDocumentsAndFoldersFromJoin","getOrphanedDocs","getFolderData","collectionSlug","documentWhere","folderID","_folderID","folderWhere","req","sort","payload","config","folders","Error","parentFolderID","id","slug","breadcrumbsPromise","documentAndSubfolderPromise","breadcrumbs","result","Promise","all","documents","sortDocs","docs","folderAssignedCollections","subfolders","subfoldersPromise","folderFieldName","fieldName","where","undefined","isDesc","startsWith","sortKey","slice","a","b","value","_folderOrDocumentTitle","localeCompare","Date","createdAt","getTime","updatedAt"],"mappings":"AAIA,SAASA,eAAe,QAAQ,iBAAgB;AAChD,SAASC,oBAAoB,QAAQ,4BAA2B;AAChE,SAASC,gCAAgC,QAAQ,sCAAqC;AACtF,SAASC,eAAe,QAAQ,uBAAsB;AA0BtD;;CAEC,GACD,OAAO,MAAMC,gBAAgB,OAAO,EAClCC,cAAc,EACdC,aAAa,EACbC,UAAUC,SAAS,EACnBC,WAAW,EACXC,GAAG,EACHC,OAAO,MAAM,EACR;IACL,MAAM,EAAEC,OAAO,EAAE,GAAGF;IAEpB,IAAIE,QAAQC,MAAM,CAACC,OAAO,KAAK,OAAO;QACpC,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,iBAAiBhB,gBAAgB;QACrCiB,IAAIT;QACJH,gBAAgBO,QAAQC,MAAM,CAACC,OAAO,CAACI,IAAI;QAC3CN;IACF;IAEA,MAAMO,qBAAqBlB,qBAAqB;QAC9CM,UAAUS;QACVN;IACF;IAEA,IAAIM,gBAAgB;QAClB,gDAAgD;QAChD,MAAMI,8BAA8BlB,iCAAiC;YACnEI;YACAG;YACAO;YACAN;QACF;QACA,MAAM,CAACW,aAAaC,OAAO,GAAG,MAAMC,QAAQC,GAAG,CAAC;YAC9CL;YACAC;SACD;QAED,OAAO;YACLC;YACAI,WAAWC,SAAS;gBAAEC,MAAML,OAAOG,SAAS;gBAAEd;YAAK;YACnDiB,2BAA2BN,OAAOM,yBAAyB;YAC3DC,YAAYH,SAAS;gBAAEC,MAAML,OAAOO,UAAU;gBAAElB;YAAK;QACvD;IACF,OAAO;QACL,MAAMmB,oBAAoB3B,gBAAgB;YACxCE,gBAAgBO,QAAQC,MAAM,CAACC,OAAO,CAACI,IAAI;YAC3Ca,iBAAiBnB,QAAQC,MAAM,CAACC,OAAO,CAACkB,SAAS;YACjDtB;YACAuB,OAAOxB;QACT;QACA,MAAM,CAACY,aAAaQ,WAAW,GAAG,MAAMN,QAAQC,GAAG,CAAC;YAACL;YAAoBW;SAAkB;QAE3F,OAAO;YACLT;YACAI,WAAW,EAAE;YACbG,2BAA2BvB,iBAAiB;gBAACA;aAAe,GAAG6B;YAC/DL,YAAYH,SAAS;gBAAEC,MAAME;gBAAYlB;YAAK;QAChD;IACF;AACF,EAAC;AAED,SAASe,SAAS,EAChBC,IAAI,EACJhB,IAAI,EAIL;IACC,IAAI,CAACA,MAAM;QACT,OAAOgB;IACT;IACA,MAAMQ,SAAS,OAAOxB,SAAS,YAAYA,KAAKyB,UAAU,CAAC;IAC3D,MAAMC,UAAWF,SAASxB,KAAK2B,KAAK,CAAC,KAAK3B;IAE1C,OAAOgB,KAAKhB,IAAI,CAAC,CAAC4B,GAAGC;QACnB,IAAIlB,SAAS;QACb,IAAIe,YAAY,QAAQ;YACtBf,SAASiB,EAAEE,KAAK,CAACC,sBAAsB,CAACC,aAAa,CAACH,EAAEC,KAAK,CAACC,sBAAsB;QACtF,OAAO,IAAIL,YAAY,aAAa;YAClCf,SACE,IAAIsB,KAAKL,EAAEE,KAAK,CAACI,SAAS,IAAI,IAAIC,OAAO,KAAK,IAAIF,KAAKJ,EAAEC,KAAK,CAACI,SAAS,IAAI,IAAIC,OAAO;QAC3F,OAAO,IAAIT,YAAY,aAAa;YAClCf,SACE,IAAIsB,KAAKL,EAAEE,KAAK,CAACM,SAAS,IAAI,IAAID,OAAO,KAAK,IAAIF,KAAKJ,EAAEC,KAAK,CAACM,SAAS,IAAI,IAAID,OAAO;QAC3F;QACA,OAAOX,SAAS,CAACb,SAASA;IAC5B;AACF"}
@@ -1,24 +0,0 @@
1
- import type { CollectionSlug } from '../../index.js';
2
- import type { PayloadRequest, Where } from '../../types/index.js';
3
- import type { FolderOrDocument } from '../types.js';
4
- type QueryDocumentsAndFoldersResults = {
5
- documents: FolderOrDocument[];
6
- folderAssignedCollections: CollectionSlug[];
7
- subfolders: FolderOrDocument[];
8
- };
9
- type QueryDocumentsAndFoldersArgs = {
10
- /**
11
- * Optional where clause to filter documents by
12
- * @default undefined
13
- */
14
- documentWhere?: Where;
15
- /** Optional where clause to filter subfolders by
16
- * @default undefined
17
- */
18
- folderWhere?: Where;
19
- parentFolderID: number | string;
20
- req: PayloadRequest;
21
- };
22
- export declare function queryDocumentsAndFoldersFromJoin({ documentWhere, folderWhere, parentFolderID, req, }: QueryDocumentsAndFoldersArgs): Promise<QueryDocumentsAndFoldersResults>;
23
- export {};
24
- //# sourceMappingURL=getFoldersAndDocumentsFromJoin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFoldersAndDocumentsFromJoin.d.ts","sourceRoot":"","sources":["../../../src/folders/utils/getFoldersAndDocumentsFromJoin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMnD,KAAK,+BAA+B,GAAG;IACrC,SAAS,EAAE,gBAAgB,EAAE,CAAA;IAC7B,yBAAyB,EAAE,cAAc,EAAE,CAAA;IAC3C,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B,CAAA;AACD,KAAK,4BAA4B,GAAG;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAA;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD,wBAAsB,gCAAgC,CAAC,EACrD,aAAa,EACb,WAAW,EACX,cAAc,EACd,GAAG,GACJ,EAAE,4BAA4B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAmEzE"}