payload 3.0.0-beta.127 → 3.0.0-beta.129

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 (294) hide show
  1. package/dist/admin/RichText.d.ts +8 -21
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/Cell.d.ts +7 -9
  5. package/dist/admin/elements/Cell.d.ts.map +1 -1
  6. package/dist/admin/elements/Cell.js.map +1 -1
  7. package/dist/admin/fields/Array.d.ts +3 -3
  8. package/dist/admin/fields/Array.d.ts.map +1 -1
  9. package/dist/admin/fields/Array.js.map +1 -1
  10. package/dist/admin/fields/Blocks.d.ts +2 -1
  11. package/dist/admin/fields/Blocks.d.ts.map +1 -1
  12. package/dist/admin/fields/Blocks.js.map +1 -1
  13. package/dist/admin/fields/Checkbox.d.ts +1 -0
  14. package/dist/admin/fields/Checkbox.d.ts.map +1 -1
  15. package/dist/admin/fields/Checkbox.js.map +1 -1
  16. package/dist/admin/fields/Code.d.ts +2 -1
  17. package/dist/admin/fields/Code.d.ts.map +1 -1
  18. package/dist/admin/fields/Code.js.map +1 -1
  19. package/dist/admin/fields/Collapsible.d.ts +5 -2
  20. package/dist/admin/fields/Collapsible.d.ts.map +1 -1
  21. package/dist/admin/fields/Collapsible.js.map +1 -1
  22. package/dist/admin/fields/Date.d.ts +1 -0
  23. package/dist/admin/fields/Date.d.ts.map +1 -1
  24. package/dist/admin/fields/Date.js.map +1 -1
  25. package/dist/admin/fields/Email.d.ts +1 -1
  26. package/dist/admin/fields/Email.d.ts.map +1 -1
  27. package/dist/admin/fields/Email.js.map +1 -1
  28. package/dist/admin/fields/Group.d.ts +5 -2
  29. package/dist/admin/fields/Group.d.ts.map +1 -1
  30. package/dist/admin/fields/Group.js.map +1 -1
  31. package/dist/admin/fields/Hidden.d.ts +7 -6
  32. package/dist/admin/fields/Hidden.d.ts.map +1 -1
  33. package/dist/admin/fields/Hidden.js.map +1 -1
  34. package/dist/admin/fields/JSON.d.ts +1 -0
  35. package/dist/admin/fields/JSON.d.ts.map +1 -1
  36. package/dist/admin/fields/JSON.js.map +1 -1
  37. package/dist/admin/fields/Join.d.ts +3 -1
  38. package/dist/admin/fields/Join.d.ts.map +1 -1
  39. package/dist/admin/fields/Join.js.map +1 -1
  40. package/dist/admin/fields/Number.d.ts +1 -0
  41. package/dist/admin/fields/Number.d.ts.map +1 -1
  42. package/dist/admin/fields/Number.js.map +1 -1
  43. package/dist/admin/fields/Point.d.ts +1 -0
  44. package/dist/admin/fields/Point.d.ts.map +1 -1
  45. package/dist/admin/fields/Point.js.map +1 -1
  46. package/dist/admin/fields/Radio.d.ts +1 -0
  47. package/dist/admin/fields/Radio.d.ts.map +1 -1
  48. package/dist/admin/fields/Radio.js.map +1 -1
  49. package/dist/admin/fields/Relationship.d.ts +1 -0
  50. package/dist/admin/fields/Relationship.d.ts.map +1 -1
  51. package/dist/admin/fields/Relationship.js.map +1 -1
  52. package/dist/admin/fields/RichText.d.ts +3 -2
  53. package/dist/admin/fields/RichText.d.ts.map +1 -1
  54. package/dist/admin/fields/RichText.js.map +1 -1
  55. package/dist/admin/fields/Row.d.ts +1 -2
  56. package/dist/admin/fields/Row.d.ts.map +1 -1
  57. package/dist/admin/fields/Row.js.map +1 -1
  58. package/dist/admin/fields/Select.d.ts +1 -0
  59. package/dist/admin/fields/Select.d.ts.map +1 -1
  60. package/dist/admin/fields/Select.js.map +1 -1
  61. package/dist/admin/fields/Tabs.d.ts +4 -2
  62. package/dist/admin/fields/Tabs.d.ts.map +1 -1
  63. package/dist/admin/fields/Tabs.js.map +1 -1
  64. package/dist/admin/fields/Text.d.ts +1 -0
  65. package/dist/admin/fields/Text.d.ts.map +1 -1
  66. package/dist/admin/fields/Text.js.map +1 -1
  67. package/dist/admin/fields/Textarea.d.ts +1 -0
  68. package/dist/admin/fields/Textarea.d.ts.map +1 -1
  69. package/dist/admin/fields/Textarea.js.map +1 -1
  70. package/dist/admin/fields/UI.d.ts +8 -0
  71. package/dist/admin/fields/UI.d.ts.map +1 -0
  72. package/dist/admin/fields/UI.js +3 -0
  73. package/dist/admin/fields/UI.js.map +1 -0
  74. package/dist/admin/fields/Upload.d.ts +1 -0
  75. package/dist/admin/fields/Upload.d.ts.map +1 -1
  76. package/dist/admin/fields/Upload.js.map +1 -1
  77. package/dist/admin/forms/Description.d.ts +1 -2
  78. package/dist/admin/forms/Description.d.ts.map +1 -1
  79. package/dist/admin/forms/Description.js.map +1 -1
  80. package/dist/admin/forms/Error.d.ts +0 -2
  81. package/dist/admin/forms/Error.d.ts.map +1 -1
  82. package/dist/admin/forms/Error.js.map +1 -1
  83. package/dist/admin/forms/Field.d.ts +53 -29
  84. package/dist/admin/forms/Field.d.ts.map +1 -1
  85. package/dist/admin/forms/Field.js.map +1 -1
  86. package/dist/admin/forms/Form.d.ts +46 -3
  87. package/dist/admin/forms/Form.d.ts.map +1 -1
  88. package/dist/admin/forms/Form.js.map +1 -1
  89. package/dist/admin/forms/Label.d.ts +1 -2
  90. package/dist/admin/forms/Label.d.ts.map +1 -1
  91. package/dist/admin/forms/Label.js.map +1 -1
  92. package/dist/admin/functions/index.d.ts +44 -0
  93. package/dist/admin/functions/index.d.ts.map +1 -0
  94. package/dist/admin/functions/index.js +3 -0
  95. package/dist/admin/functions/index.js.map +1 -0
  96. package/dist/admin/types.d.ts +63 -20
  97. package/dist/admin/types.d.ts.map +1 -1
  98. package/dist/admin/types.js +4 -1
  99. package/dist/admin/types.js.map +1 -1
  100. package/dist/admin/views/types.d.ts +9 -6
  101. package/dist/admin/views/types.d.ts.map +1 -1
  102. package/dist/admin/views/types.js.map +1 -1
  103. package/dist/assets/images/github-banner-nextjs-native.jpg +0 -0
  104. package/dist/auth/ensureUsernameOrEmail.js +4 -4
  105. package/dist/auth/ensureUsernameOrEmail.js.map +1 -1
  106. package/dist/auth/getFieldsToSign.js +13 -13
  107. package/dist/auth/getFieldsToSign.js.map +1 -1
  108. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  109. package/dist/auth/operations/local/auth.js +2 -2
  110. package/dist/auth/operations/local/auth.js.map +1 -1
  111. package/dist/auth/operations/login.js +10 -10
  112. package/dist/auth/operations/login.js.map +1 -1
  113. package/dist/auth/strategies/local/generatePasswordSaltHash.js +2 -2
  114. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  115. package/dist/auth/strategies/local/register.js +4 -4
  116. package/dist/auth/strategies/local/register.js.map +1 -1
  117. package/dist/bin/generateImportMap/index.d.ts.map +1 -1
  118. package/dist/bin/generateImportMap/index.js +32 -5
  119. package/dist/bin/generateImportMap/index.js.map +1 -1
  120. package/dist/bin/generateImportMap/parsePayloadComponent.d.ts +1 -1
  121. package/dist/bin/generateImportMap/parsePayloadComponent.js +5 -5
  122. package/dist/bin/generateImportMap/parsePayloadComponent.js.map +1 -1
  123. package/dist/bin/migrate.js +17 -17
  124. package/dist/bin/migrate.js.map +1 -1
  125. package/dist/collections/config/client.d.ts +23 -35
  126. package/dist/collections/config/client.d.ts.map +1 -1
  127. package/dist/collections/config/client.js +104 -1
  128. package/dist/collections/config/client.js.map +1 -1
  129. package/dist/collections/config/sanitize.d.ts.map +1 -1
  130. package/dist/collections/config/sanitize.js +4 -2
  131. package/dist/collections/config/sanitize.js.map +1 -1
  132. package/dist/collections/config/types.d.ts +3 -3
  133. package/dist/collections/config/types.d.ts.map +1 -1
  134. package/dist/collections/config/types.js.map +1 -1
  135. package/dist/collections/operations/countVersions.d.ts +14 -0
  136. package/dist/collections/operations/countVersions.d.ts.map +1 -0
  137. package/dist/collections/operations/countVersions.js +74 -0
  138. package/dist/collections/operations/countVersions.js.map +1 -0
  139. package/dist/collections/operations/local/count.d.ts.map +1 -1
  140. package/dist/collections/operations/local/count.js +1 -0
  141. package/dist/collections/operations/local/count.js.map +1 -1
  142. package/dist/collections/operations/local/countVersions.d.ts +20 -0
  143. package/dist/collections/operations/local/countVersions.d.ts.map +1 -0
  144. package/dist/collections/operations/local/countVersions.js +20 -0
  145. package/dist/collections/operations/local/countVersions.js.map +1 -0
  146. package/dist/collections/operations/local/index.d.ts +2 -0
  147. package/dist/collections/operations/local/index.d.ts.map +1 -1
  148. package/dist/collections/operations/local/index.js +2 -0
  149. package/dist/collections/operations/local/index.js.map +1 -1
  150. package/dist/collections/operations/utils.d.ts +6 -0
  151. package/dist/collections/operations/utils.d.ts.map +1 -1
  152. package/dist/collections/operations/utils.js.map +1 -1
  153. package/dist/config/client.d.ts +10 -13
  154. package/dist/config/client.d.ts.map +1 -1
  155. package/dist/config/client.js +36 -0
  156. package/dist/config/client.js.map +1 -1
  157. package/dist/config/types.d.ts +20 -15
  158. package/dist/config/types.d.ts.map +1 -1
  159. package/dist/config/types.js.map +1 -1
  160. package/dist/database/getLocalizedPaths.js +1 -1
  161. package/dist/database/getLocalizedPaths.js.map +1 -1
  162. package/dist/database/sanitizeJoinQuery.js +6 -6
  163. package/dist/database/sanitizeJoinQuery.js.map +1 -1
  164. package/dist/database/types.d.ts +14 -0
  165. package/dist/database/types.d.ts.map +1 -1
  166. package/dist/database/types.js.map +1 -1
  167. package/dist/errors/ValidationError.d.ts +1 -1
  168. package/dist/errors/ValidationError.d.ts.map +1 -1
  169. package/dist/errors/ValidationError.js +1 -1
  170. package/dist/errors/ValidationError.js.map +1 -1
  171. package/dist/exports/shared.d.ts +3 -1
  172. package/dist/exports/shared.d.ts.map +1 -1
  173. package/dist/exports/shared.js +3 -1
  174. package/dist/exports/shared.js.map +1 -1
  175. package/dist/fields/config/client.d.ts +16 -1
  176. package/dist/fields/config/client.d.ts.map +1 -1
  177. package/dist/fields/config/client.js +229 -1
  178. package/dist/fields/config/client.js.map +1 -1
  179. package/dist/fields/config/sanitize.d.ts +2 -2
  180. package/dist/fields/config/sanitize.d.ts.map +1 -1
  181. package/dist/fields/config/sanitize.js +7 -21
  182. package/dist/fields/config/sanitize.js.map +1 -1
  183. package/dist/fields/config/sanitizeJoinField.d.ts +2 -2
  184. package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
  185. package/dist/fields/config/sanitizeJoinField.js +2 -2
  186. package/dist/fields/config/sanitizeJoinField.js.map +1 -1
  187. package/dist/fields/config/types.d.ts +28 -171
  188. package/dist/fields/config/types.d.ts.map +1 -1
  189. package/dist/fields/config/types.js.map +1 -1
  190. package/dist/fields/getFieldPaths.d.ts +25 -8
  191. package/dist/fields/getFieldPaths.d.ts.map +1 -1
  192. package/dist/fields/getFieldPaths.js +9 -37
  193. package/dist/fields/getFieldPaths.js.map +1 -1
  194. package/dist/fields/hooks/afterChange/promise.d.ts +2 -1
  195. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  196. package/dist/fields/hooks/afterChange/promise.js +66 -62
  197. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  198. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  199. package/dist/fields/hooks/afterChange/traverseFields.js +2 -1
  200. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  201. package/dist/fields/hooks/afterRead/promise.d.ts +2 -1
  202. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  203. package/dist/fields/hooks/afterRead/promise.js +107 -103
  204. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  205. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  206. package/dist/fields/hooks/afterRead/traverseFields.js +2 -1
  207. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  208. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  209. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  210. package/dist/fields/hooks/beforeChange/promise.d.ts +8 -5
  211. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  212. package/dist/fields/hooks/beforeChange/promise.js +99 -110
  213. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  214. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -4
  215. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  216. package/dist/fields/hooks/beforeChange/traverseFields.js +2 -1
  217. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  218. package/dist/fields/hooks/beforeDuplicate/promise.d.ts +2 -1
  219. package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
  220. package/dist/fields/hooks/beforeDuplicate/promise.js +47 -43
  221. package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
  222. package/dist/fields/hooks/beforeDuplicate/traverseFields.d.ts.map +1 -1
  223. package/dist/fields/hooks/beforeDuplicate/traverseFields.js +2 -1
  224. package/dist/fields/hooks/beforeDuplicate/traverseFields.js.map +1 -1
  225. package/dist/fields/hooks/beforeValidate/promise.d.ts +2 -1
  226. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  227. package/dist/fields/hooks/beforeValidate/promise.js +105 -101
  228. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  229. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  230. package/dist/fields/hooks/beforeValidate/traverseFields.js +2 -1
  231. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  232. package/dist/globals/config/client.d.ts +18 -25
  233. package/dist/globals/config/client.d.ts.map +1 -1
  234. package/dist/globals/config/client.js +53 -1
  235. package/dist/globals/config/client.js.map +1 -1
  236. package/dist/globals/config/sanitize.d.ts.map +1 -1
  237. package/dist/globals/config/sanitize.js +3 -1
  238. package/dist/globals/config/sanitize.js.map +1 -1
  239. package/dist/globals/operations/countGlobalVersions.d.ts +13 -0
  240. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -0
  241. package/dist/globals/operations/countGlobalVersions.js +49 -0
  242. package/dist/globals/operations/countGlobalVersions.js.map +1 -0
  243. package/dist/globals/operations/local/countGlobalVersions.d.ts +20 -0
  244. package/dist/globals/operations/local/countGlobalVersions.d.ts.map +1 -0
  245. package/dist/globals/operations/local/countGlobalVersions.js +20 -0
  246. package/dist/globals/operations/local/countGlobalVersions.js.map +1 -0
  247. package/dist/globals/operations/local/index.d.ts +2 -0
  248. package/dist/globals/operations/local/index.d.ts.map +1 -1
  249. package/dist/globals/operations/local/index.js +2 -0
  250. package/dist/globals/operations/local/index.js.map +1 -1
  251. package/dist/index.d.ts +28 -12
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +21 -2
  254. package/dist/index.js.map +1 -1
  255. package/dist/queues/config/jobsCollection.d.ts.map +1 -1
  256. package/dist/queues/config/jobsCollection.js +2 -11
  257. package/dist/queues/config/jobsCollection.js.map +1 -1
  258. package/dist/queues/config/types/workflowTypes.d.ts +2 -1
  259. package/dist/queues/config/types/workflowTypes.d.ts.map +1 -1
  260. package/dist/queues/config/types/workflowTypes.js.map +1 -1
  261. package/dist/queues/localAPI.d.ts +2 -0
  262. package/dist/queues/localAPI.d.ts.map +1 -1
  263. package/dist/queues/localAPI.js +13 -0
  264. package/dist/queues/localAPI.js.map +1 -1
  265. package/dist/utilities/configToJSONSchema.js +232 -232
  266. package/dist/utilities/configToJSONSchema.js.map +1 -1
  267. package/dist/utilities/createLocalReq.d.ts +1 -1
  268. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  269. package/dist/utilities/createLocalReq.js +4 -4
  270. package/dist/utilities/createLocalReq.js.map +1 -1
  271. package/dist/utilities/deepCopyObject.d.ts +1 -0
  272. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  273. package/dist/utilities/deepCopyObject.js +23 -0
  274. package/dist/utilities/deepCopyObject.js.map +1 -1
  275. package/dist/utilities/fieldSchemaToJSON.js +17 -17
  276. package/dist/utilities/fieldSchemaToJSON.js.map +1 -1
  277. package/dist/utilities/formatErrors.d.ts +6 -0
  278. package/dist/utilities/formatErrors.d.ts.map +1 -0
  279. package/dist/utilities/formatErrors.js +56 -0
  280. package/dist/utilities/formatErrors.js.map +1 -0
  281. package/dist/utilities/telemetry/conf/index.js +2 -2
  282. package/dist/utilities/telemetry/conf/index.js.map +1 -1
  283. package/dist/versions/saveVersion.d.ts.map +1 -1
  284. package/dist/versions/saveVersion.js +1 -7
  285. package/dist/versions/saveVersion.js.map +1 -1
  286. package/dist/versions/types.d.ts +1 -1
  287. package/dist/versions/types.d.ts.map +1 -1
  288. package/dist/versions/types.js.map +1 -1
  289. package/license.md +22 -0
  290. package/package.json +3 -3
  291. package/dist/utilities/mergeListSearchAndWhere.d.ts +0 -12
  292. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +0 -1
  293. package/dist/utilities/mergeListSearchAndWhere.js +0 -57
  294. package/dist/utilities/mergeListSearchAndWhere.js.map +0 -1
@@ -46,23 +46,6 @@ export const migrate = async ({ config, parsedArgs })=>{
46
46
  case 'migrate':
47
47
  await adapter.migrate();
48
48
  break;
49
- case 'migrate:status':
50
- await adapter.migrateStatus();
51
- break;
52
- case 'migrate:down':
53
- await adapter.migrateDown();
54
- break;
55
- case 'migrate:refresh':
56
- await adapter.migrateRefresh();
57
- break;
58
- case 'migrate:reset':
59
- await adapter.migrateReset();
60
- break;
61
- case 'migrate:fresh':
62
- await adapter.migrateFresh({
63
- forceAcceptWarning
64
- });
65
- break;
66
49
  case 'migrate:create':
67
50
  try {
68
51
  await adapter.createMigration({
@@ -75,6 +58,23 @@ export const migrate = async ({ config, parsedArgs })=>{
75
58
  throw new Error(`Error creating migration: ${err.message}`);
76
59
  }
77
60
  break;
61
+ case 'migrate:down':
62
+ await adapter.migrateDown();
63
+ break;
64
+ case 'migrate:fresh':
65
+ await adapter.migrateFresh({
66
+ forceAcceptWarning
67
+ });
68
+ break;
69
+ case 'migrate:refresh':
70
+ await adapter.migrateRefresh();
71
+ break;
72
+ case 'migrate:reset':
73
+ await adapter.migrateReset();
74
+ break;
75
+ case 'migrate:status':
76
+ await adapter.migrateStatus();
77
+ break;
78
78
  default:
79
79
  payload.logger.error({
80
80
  msg: `Unknown migration command: ${args[0]}. ${availableCommandsMsg}`
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bin/migrate.ts"],"sourcesContent":["import type { ParsedArgs } from 'minimist'\n\nimport type { SanitizedConfig } from '../config/types.js'\n\nimport payload from '../index.js'\nimport { prettySyncLoggerDestination } from '../utilities/logger.js'\n\n/**\n * The default logger's options did not allow for forcing sync logging\n * Using these options, to force both pretty print and sync logging\n */\nconst prettySyncLogger = {\n loggerDestination: prettySyncLoggerDestination,\n loggerOptions: {},\n}\n\nconst availableCommands = [\n 'migrate',\n 'migrate:create',\n 'migrate:down',\n 'migrate:refresh',\n 'migrate:reset',\n 'migrate:status',\n 'migration:fresh',\n]\n\nconst availableCommandsMsg = `Available commands: ${availableCommands.join(', ')}`\n\ntype Args = {\n config: SanitizedConfig\n parsedArgs: ParsedArgs\n}\n\nexport const migrate = async ({ config, parsedArgs }: Args): Promise<void> => {\n const { _: args, file, forceAcceptWarning, help } = parsedArgs\n if (help) {\n // eslint-disable-next-line no-console\n console.log(`\\n\\n${availableCommandsMsg}\\n`) // Avoid having to init payload to get the logger\n process.exit(0)\n }\n\n process.env.PAYLOAD_MIGRATING = 'true'\n\n // Barebones instance to access database adapter\n await payload.init({\n config,\n disableOnInit: true,\n ...prettySyncLogger,\n })\n\n const adapter = payload.db\n\n if (!adapter) {\n throw new Error('No database adapter found')\n }\n\n if (!args.length) {\n payload.logger.error({\n msg: `No migration command provided. ${availableCommandsMsg}`,\n })\n process.exit(1)\n }\n\n switch (args[0]) {\n case 'migrate':\n await adapter.migrate()\n break\n case 'migrate:status':\n await adapter.migrateStatus()\n break\n case 'migrate:down':\n await adapter.migrateDown()\n break\n case 'migrate:refresh':\n await adapter.migrateRefresh()\n break\n case 'migrate:reset':\n await adapter.migrateReset()\n break\n case 'migrate:fresh':\n await adapter.migrateFresh({ forceAcceptWarning })\n break\n case 'migrate:create':\n try {\n await adapter.createMigration({\n file,\n forceAcceptWarning,\n migrationName: args[1],\n payload,\n })\n } catch (err) {\n throw new Error(`Error creating migration: ${err.message}`)\n }\n break\n\n default:\n payload.logger.error({\n msg: `Unknown migration command: ${args[0]}. ${availableCommandsMsg}`,\n })\n process.exit(1)\n }\n\n payload.logger.info('Done.')\n}\n"],"names":["payload","prettySyncLoggerDestination","prettySyncLogger","loggerDestination","loggerOptions","availableCommands","availableCommandsMsg","join","migrate","config","parsedArgs","_","args","file","forceAcceptWarning","help","console","log","process","exit","env","PAYLOAD_MIGRATING","init","disableOnInit","adapter","db","Error","length","logger","error","msg","migrateStatus","migrateDown","migrateRefresh","migrateReset","migrateFresh","createMigration","migrationName","err","message","info"],"mappings":"AAIA,OAAOA,aAAa,cAAa;AACjC,SAASC,2BAA2B,QAAQ,yBAAwB;AAEpE;;;CAGC,GACD,MAAMC,mBAAmB;IACvBC,mBAAmBF;IACnBG,eAAe,CAAC;AAClB;AAEA,MAAMC,oBAAoB;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,MAAMC,uBAAuB,CAAC,oBAAoB,EAAED,kBAAkBE,IAAI,CAAC,MAAM,CAAC;AAOlF,OAAO,MAAMC,UAAU,OAAO,EAAEC,MAAM,EAAEC,UAAU,EAAQ;IACxD,MAAM,EAAEC,GAAGC,IAAI,EAAEC,IAAI,EAAEC,kBAAkB,EAAEC,IAAI,EAAE,GAAGL;IACpD,IAAIK,MAAM;QACR,sCAAsC;QACtCC,QAAQC,GAAG,CAAC,CAAC,IAAI,EAAEX,qBAAqB,EAAE,CAAC,EAAE,iDAAiD;;QAC9FY,QAAQC,IAAI,CAAC;IACf;IAEAD,QAAQE,GAAG,CAACC,iBAAiB,GAAG;IAEhC,gDAAgD;IAChD,MAAMrB,QAAQsB,IAAI,CAAC;QACjBb;QACAc,eAAe;QACf,GAAGrB,gBAAgB;IACrB;IAEA,MAAMsB,UAAUxB,QAAQyB,EAAE;IAE1B,IAAI,CAACD,SAAS;QACZ,MAAM,IAAIE,MAAM;IAClB;IAEA,IAAI,CAACd,KAAKe,MAAM,EAAE;QAChB3B,QAAQ4B,MAAM,CAACC,KAAK,CAAC;YACnBC,KAAK,CAAC,+BAA+B,EAAExB,qBAAqB,CAAC;QAC/D;QACAY,QAAQC,IAAI,CAAC;IACf;IAEA,OAAQP,IAAI,CAAC,EAAE;QACb,KAAK;YACH,MAAMY,QAAQhB,OAAO;YACrB;QACF,KAAK;YACH,MAAMgB,QAAQO,aAAa;YAC3B;QACF,KAAK;YACH,MAAMP,QAAQQ,WAAW;YACzB;QACF,KAAK;YACH,MAAMR,QAAQS,cAAc;YAC5B;QACF,KAAK;YACH,MAAMT,QAAQU,YAAY;YAC1B;QACF,KAAK;YACH,MAAMV,QAAQW,YAAY,CAAC;gBAAErB;YAAmB;YAChD;QACF,KAAK;YACH,IAAI;gBACF,MAAMU,QAAQY,eAAe,CAAC;oBAC5BvB;oBACAC;oBACAuB,eAAezB,IAAI,CAAC,EAAE;oBACtBZ;gBACF;YACF,EAAE,OAAOsC,KAAK;gBACZ,MAAM,IAAIZ,MAAM,CAAC,0BAA0B,EAAEY,IAAIC,OAAO,CAAC,CAAC;YAC5D;YACA;QAEF;YACEvC,QAAQ4B,MAAM,CAACC,KAAK,CAAC;gBACnBC,KAAK,CAAC,2BAA2B,EAAElB,IAAI,CAAC,EAAE,CAAC,EAAE,EAAEN,qBAAqB,CAAC;YACvE;YACAY,QAAQC,IAAI,CAAC;IACjB;IAEAnB,QAAQ4B,MAAM,CAACY,IAAI,CAAC;AACtB,EAAC"}
1
+ {"version":3,"sources":["../../src/bin/migrate.ts"],"sourcesContent":["import type { ParsedArgs } from 'minimist'\n\nimport type { SanitizedConfig } from '../config/types.js'\n\nimport payload from '../index.js'\nimport { prettySyncLoggerDestination } from '../utilities/logger.js'\n\n/**\n * The default logger's options did not allow for forcing sync logging\n * Using these options, to force both pretty print and sync logging\n */\nconst prettySyncLogger = {\n loggerDestination: prettySyncLoggerDestination,\n loggerOptions: {},\n}\n\nconst availableCommands = [\n 'migrate',\n 'migrate:create',\n 'migrate:down',\n 'migrate:refresh',\n 'migrate:reset',\n 'migrate:status',\n 'migration:fresh',\n]\n\nconst availableCommandsMsg = `Available commands: ${availableCommands.join(', ')}`\n\ntype Args = {\n config: SanitizedConfig\n parsedArgs: ParsedArgs\n}\n\nexport const migrate = async ({ config, parsedArgs }: Args): Promise<void> => {\n const { _: args, file, forceAcceptWarning, help } = parsedArgs\n if (help) {\n // eslint-disable-next-line no-console\n console.log(`\\n\\n${availableCommandsMsg}\\n`) // Avoid having to init payload to get the logger\n process.exit(0)\n }\n\n process.env.PAYLOAD_MIGRATING = 'true'\n\n // Barebones instance to access database adapter\n await payload.init({\n config,\n disableOnInit: true,\n ...prettySyncLogger,\n })\n\n const adapter = payload.db\n\n if (!adapter) {\n throw new Error('No database adapter found')\n }\n\n if (!args.length) {\n payload.logger.error({\n msg: `No migration command provided. ${availableCommandsMsg}`,\n })\n process.exit(1)\n }\n\n switch (args[0]) {\n case 'migrate':\n await adapter.migrate()\n break\n case 'migrate:create':\n try {\n await adapter.createMigration({\n file,\n forceAcceptWarning,\n migrationName: args[1],\n payload,\n })\n } catch (err) {\n throw new Error(`Error creating migration: ${err.message}`)\n }\n break\n case 'migrate:down':\n await adapter.migrateDown()\n break\n case 'migrate:fresh':\n await adapter.migrateFresh({ forceAcceptWarning })\n break\n case 'migrate:refresh':\n await adapter.migrateRefresh()\n break\n case 'migrate:reset':\n await adapter.migrateReset()\n break\n case 'migrate:status':\n await adapter.migrateStatus()\n break\n\n default:\n payload.logger.error({\n msg: `Unknown migration command: ${args[0]}. ${availableCommandsMsg}`,\n })\n process.exit(1)\n }\n\n payload.logger.info('Done.')\n}\n"],"names":["payload","prettySyncLoggerDestination","prettySyncLogger","loggerDestination","loggerOptions","availableCommands","availableCommandsMsg","join","migrate","config","parsedArgs","_","args","file","forceAcceptWarning","help","console","log","process","exit","env","PAYLOAD_MIGRATING","init","disableOnInit","adapter","db","Error","length","logger","error","msg","createMigration","migrationName","err","message","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","info"],"mappings":"AAIA,OAAOA,aAAa,cAAa;AACjC,SAASC,2BAA2B,QAAQ,yBAAwB;AAEpE;;;CAGC,GACD,MAAMC,mBAAmB;IACvBC,mBAAmBF;IACnBG,eAAe,CAAC;AAClB;AAEA,MAAMC,oBAAoB;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,MAAMC,uBAAuB,CAAC,oBAAoB,EAAED,kBAAkBE,IAAI,CAAC,MAAM,CAAC;AAOlF,OAAO,MAAMC,UAAU,OAAO,EAAEC,MAAM,EAAEC,UAAU,EAAQ;IACxD,MAAM,EAAEC,GAAGC,IAAI,EAAEC,IAAI,EAAEC,kBAAkB,EAAEC,IAAI,EAAE,GAAGL;IACpD,IAAIK,MAAM;QACR,sCAAsC;QACtCC,QAAQC,GAAG,CAAC,CAAC,IAAI,EAAEX,qBAAqB,EAAE,CAAC,EAAE,iDAAiD;;QAC9FY,QAAQC,IAAI,CAAC;IACf;IAEAD,QAAQE,GAAG,CAACC,iBAAiB,GAAG;IAEhC,gDAAgD;IAChD,MAAMrB,QAAQsB,IAAI,CAAC;QACjBb;QACAc,eAAe;QACf,GAAGrB,gBAAgB;IACrB;IAEA,MAAMsB,UAAUxB,QAAQyB,EAAE;IAE1B,IAAI,CAACD,SAAS;QACZ,MAAM,IAAIE,MAAM;IAClB;IAEA,IAAI,CAACd,KAAKe,MAAM,EAAE;QAChB3B,QAAQ4B,MAAM,CAACC,KAAK,CAAC;YACnBC,KAAK,CAAC,+BAA+B,EAAExB,qBAAqB,CAAC;QAC/D;QACAY,QAAQC,IAAI,CAAC;IACf;IAEA,OAAQP,IAAI,CAAC,EAAE;QACb,KAAK;YACH,MAAMY,QAAQhB,OAAO;YACrB;QACF,KAAK;YACH,IAAI;gBACF,MAAMgB,QAAQO,eAAe,CAAC;oBAC5BlB;oBACAC;oBACAkB,eAAepB,IAAI,CAAC,EAAE;oBACtBZ;gBACF;YACF,EAAE,OAAOiC,KAAK;gBACZ,MAAM,IAAIP,MAAM,CAAC,0BAA0B,EAAEO,IAAIC,OAAO,CAAC,CAAC;YAC5D;YACA;QACF,KAAK;YACH,MAAMV,QAAQW,WAAW;YACzB;QACF,KAAK;YACH,MAAMX,QAAQY,YAAY,CAAC;gBAAEtB;YAAmB;YAChD;QACF,KAAK;YACH,MAAMU,QAAQa,cAAc;YAC5B;QACF,KAAK;YACH,MAAMb,QAAQc,YAAY;YAC1B;QACF,KAAK;YACH,MAAMd,QAAQe,aAAa;YAC3B;QAEF;YACEvC,QAAQ4B,MAAM,CAACC,KAAK,CAAC;gBACnBC,KAAK,CAAC,2BAA2B,EAAElB,IAAI,CAAC,EAAE,CAAC,EAAE,EAAEN,qBAAqB,CAAC;YACvE;YACAY,QAAQC,IAAI,CAAC;IACjB;IAEAnB,QAAQ4B,MAAM,CAACY,IAAI,CAAC;AACtB,EAAC"}
@@ -1,45 +1,33 @@
1
- import type { MappedComponent, StaticDescription } from '../../admin/types.js';
2
- import type { MappedView } from '../../admin/views/types.js';
3
- import type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js';
1
+ import type { I18nClient } from '@payloadcms/translations';
2
+ import type { StaticDescription } from '../../admin/types.js';
3
+ import type { LivePreviewConfig, ServerOnlyLivePreviewProperties, StaticLabel } from '../../config/types.js';
4
4
  import type { ClientField } from '../../fields/config/client.js';
5
+ import type { Payload } from '../../types/index.js';
5
6
  import type { SanitizedCollectionConfig } from './types.js';
6
7
  export type ServerOnlyCollectionProperties = keyof Pick<SanitizedCollectionConfig, 'access' | 'custom' | 'endpoints' | 'hooks' | 'joins'>;
7
- export type ServerOnlyCollectionAdminProperties = keyof Pick<SanitizedCollectionConfig['admin'], 'hidden' | 'preview'>;
8
+ export type ServerOnlyCollectionAdminProperties = keyof Pick<SanitizedCollectionConfig['admin'], 'hidden'>;
8
9
  export type ServerOnlyUploadProperties = keyof Pick<SanitizedCollectionConfig['upload'], 'adminThumbnail' | 'externalFileHeaderFilter' | 'handlers' | 'modifyResponseHeaders' | 'withMetadata'>;
9
10
  export type ClientCollectionConfig = {
10
- _isPreviewEnabled?: true;
11
11
  admin: {
12
- components: {
13
- afterList: MappedComponent[];
14
- afterListTable: MappedComponent[];
15
- beforeList: MappedComponent[];
16
- beforeListTable: MappedComponent[];
17
- Description: MappedComponent;
18
- edit: {
19
- PreviewButton: MappedComponent;
20
- PublishButton: MappedComponent;
21
- SaveButton: MappedComponent;
22
- SaveDraftButton: MappedComponent;
23
- Upload: MappedComponent;
24
- };
25
- views: {
26
- edit: {
27
- [key: string]: MappedView;
28
- api: MappedView;
29
- default: MappedView;
30
- livePreview: MappedView;
31
- version: MappedView;
32
- versions: MappedView;
33
- };
34
- list: {
35
- actions: MappedComponent[];
36
- Component: MappedComponent;
37
- };
38
- };
39
- };
12
+ components: null;
40
13
  description?: StaticDescription;
41
14
  livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>;
42
- } & Omit<SanitizedCollectionConfig['admin'], 'components' | 'description' | 'joins' | 'livePreview' | ServerOnlyCollectionAdminProperties>;
15
+ preview?: boolean;
16
+ } & Omit<SanitizedCollectionConfig['admin'], 'components' | 'description' | 'joins' | 'livePreview' | 'preview' | ServerOnlyCollectionAdminProperties>;
43
17
  fields: ClientField[];
44
- } & Omit<SanitizedCollectionConfig, 'admin' | 'fields' | ServerOnlyCollectionProperties>;
18
+ labels: {
19
+ plural: StaticLabel;
20
+ singular: StaticLabel;
21
+ };
22
+ } & Omit<SanitizedCollectionConfig, 'admin' | 'fields' | 'labels' | ServerOnlyCollectionProperties>;
23
+ export declare const createClientCollectionConfig: ({ collection, defaultIDType, i18n, }: {
24
+ collection: SanitizedCollectionConfig;
25
+ defaultIDType: Payload["config"]["db"]["defaultIDType"];
26
+ i18n: I18nClient;
27
+ }) => ClientCollectionConfig;
28
+ export declare const createClientCollectionConfigs: ({ collections, defaultIDType, i18n, }: {
29
+ collections: SanitizedCollectionConfig[];
30
+ defaultIDType: Payload["config"]["db"]["defaultIDType"];
31
+ i18n: I18nClient;
32
+ }) => ClientCollectionConfig[];
45
33
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAC/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAE3D,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CACtD,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,SAAS,CACrB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CACjD,yBAAyB,CAAC,QAAQ,CAAC,EACjC,gBAAgB,GAChB,0BAA0B,GAC1B,UAAU,GACV,uBAAuB,GACvB,cAAc,CACjB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,CAAC,EAAE,IAAI,CAAA;IACxB,KAAK,EAAE;QACL,UAAU,EAAE;YACV,SAAS,EAAE,eAAe,EAAE,CAAA;YAC5B,cAAc,EAAE,eAAe,EAAE,CAAA;YACjC,UAAU,EAAE,eAAe,EAAE,CAAA;YAC7B,eAAe,EAAE,eAAe,EAAE,CAAA;YAClC,WAAW,EAAE,eAAe,CAAA;YAC5B,IAAI,EAAE;gBACJ,aAAa,EAAE,eAAe,CAAA;gBAC9B,aAAa,EAAE,eAAe,CAAA;gBAC9B,UAAU,EAAE,eAAe,CAAA;gBAC3B,eAAe,EAAE,eAAe,CAAA;gBAChC,MAAM,EAAE,eAAe,CAAA;aACxB,CAAA;YACD,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;oBACzB,GAAG,EAAE,UAAU,CAAA;oBACf,OAAO,EAAE,UAAU,CAAA;oBACnB,WAAW,EAAE,UAAU,CAAA;oBACvB,OAAO,EAAE,UAAU,CAAA;oBACnB,QAAQ,EAAE,UAAU,CAAA;iBACrB,CAAA;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,eAAe,EAAE,CAAA;oBAC1B,SAAS,EAAE,eAAe,CAAA;iBAC3B,CAAA;aACF,CAAA;SACF,CAAA;QACD,WAAW,CAAC,EAAE,iBAAiB,CAAA;QAC/B,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,GAAG,IAAI,CACN,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,aAAa,GAAG,mCAAmC,CAC7F,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB,GAAG,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CAAC,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EACV,iBAAiB,EACjB,+BAA+B,EAC/B,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAK3D,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CACtD,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,CACT,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CACjD,yBAAyB,CAAC,QAAQ,CAAC,EACjC,gBAAgB,GAChB,0BAA0B,GAC1B,UAAU,GACV,uBAAuB,GACvB,cAAc,CACjB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE;QACL,UAAU,EAAE,IAAI,CAAA;QAChB,WAAW,CAAC,EAAE,iBAAiB,CAAA;QAC/B,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;QACtE,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,GAAG,IAAI,CACN,yBAAyB,CAAC,OAAO,CAAC,EAChC,YAAY,GACZ,aAAa,GACb,OAAO,GACP,aAAa,GACb,SAAS,GACT,mCAAmC,CACtC,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,MAAM,EAAE;QACN,MAAM,EAAE,WAAW,CAAA;QACnB,QAAQ,EAAE,WAAW,CAAA;KACtB,CAAA;CACF,GAAG,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,8BAA8B,CAAC,CAAA;AA2BnG,eAAO,MAAM,4BAA4B,yCAItC;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,sBAwFH,CAAA;AAED,eAAO,MAAM,6BAA6B,0CAIvC;IACD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,sBAAsB,EAczB,CAAA"}
@@ -1,3 +1,106 @@
1
- export { };
1
+ import { createClientFields } from '../../fields/config/client.js';
2
+ import { deepCopyObjectSimple } from '../../utilities/deepCopyObject.js';
3
+ const serverOnlyCollectionProperties = [
4
+ 'hooks',
5
+ 'access',
6
+ 'endpoints',
7
+ 'custom',
8
+ 'joins'
9
+ ];
10
+ const serverOnlyUploadProperties = [
11
+ 'adminThumbnail',
12
+ 'externalFileHeaderFilter',
13
+ 'handlers',
14
+ 'modifyResponseHeaders',
15
+ 'withMetadata'
16
+ ];
17
+ const serverOnlyCollectionAdminProperties = [
18
+ 'hidden'
19
+ ];
20
+ export const createClientCollectionConfig = ({ collection, defaultIDType, i18n })=>{
21
+ const clientCollection = deepCopyObjectSimple(collection);
22
+ clientCollection.fields = createClientFields({
23
+ clientFields: clientCollection?.fields || [],
24
+ defaultIDType,
25
+ fields: collection.fields,
26
+ i18n
27
+ });
28
+ serverOnlyCollectionProperties.forEach((key)=>{
29
+ if (key in clientCollection) {
30
+ delete clientCollection[key];
31
+ }
32
+ });
33
+ if ('upload' in clientCollection && typeof clientCollection.upload === 'object') {
34
+ serverOnlyUploadProperties.forEach((key)=>{
35
+ if (key in clientCollection.upload) {
36
+ delete clientCollection.upload[key];
37
+ }
38
+ });
39
+ if ('imageSizes' in clientCollection.upload && clientCollection.upload.imageSizes.length) {
40
+ clientCollection.upload.imageSizes = clientCollection.upload.imageSizes.map((size)=>{
41
+ const sanitizedSize = {
42
+ ...size
43
+ };
44
+ if ('generateImageName' in sanitizedSize) {
45
+ delete sanitizedSize.generateImageName;
46
+ }
47
+ return sanitizedSize;
48
+ });
49
+ }
50
+ }
51
+ if ('auth' in clientCollection && typeof clientCollection.auth === 'object') {
52
+ delete clientCollection.auth.strategies;
53
+ delete clientCollection.auth.forgotPassword;
54
+ delete clientCollection.auth.verify;
55
+ }
56
+ if (collection.labels) {
57
+ Object.entries(collection.labels).forEach(([labelType, collectionLabel])=>{
58
+ if (typeof collectionLabel === 'function') {
59
+ clientCollection.labels[labelType] = collectionLabel({
60
+ t: i18n.t
61
+ });
62
+ }
63
+ });
64
+ }
65
+ if (!clientCollection.admin) {
66
+ clientCollection.admin = {};
67
+ }
68
+ serverOnlyCollectionAdminProperties.forEach((key)=>{
69
+ if (key in clientCollection.admin) {
70
+ delete clientCollection.admin[key];
71
+ }
72
+ });
73
+ if (collection.admin.preview) {
74
+ clientCollection.admin.preview = true;
75
+ }
76
+ clientCollection.admin.components = null;
77
+ let description = undefined;
78
+ if (collection.admin?.description) {
79
+ if (typeof collection.admin?.description === 'string' || typeof collection.admin?.description === 'object') {
80
+ description = collection.admin.description;
81
+ } else if (typeof collection.admin?.description === 'function') {
82
+ description = collection.admin?.description({
83
+ t: i18n.t
84
+ });
85
+ }
86
+ }
87
+ clientCollection.admin.description = description;
88
+ if ('livePreview' in clientCollection.admin && clientCollection.admin.livePreview && 'url' in clientCollection.admin.livePreview) {
89
+ delete clientCollection.admin.livePreview.url;
90
+ }
91
+ return clientCollection;
92
+ };
93
+ export const createClientCollectionConfigs = ({ collections, defaultIDType, i18n })=>{
94
+ const clientCollections = new Array(collections.length);
95
+ for(let i = 0; i < collections.length; i++){
96
+ const collection = collections[i];
97
+ clientCollections[i] = createClientCollectionConfig({
98
+ collection,
99
+ defaultIDType,
100
+ i18n
101
+ });
102
+ }
103
+ return clientCollections;
104
+ };
2
105
 
3
106
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/client.ts"],"sourcesContent":["import type { MappedComponent, StaticDescription } from '../../admin/types.js'\nimport type { MappedView } from '../../admin/views/types.js'\nimport type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js'\nimport type { ClientField } from '../../fields/config/client.js'\nimport type { SanitizedCollectionConfig } from './types.js'\n\nexport type ServerOnlyCollectionProperties = keyof Pick<\n SanitizedCollectionConfig,\n 'access' | 'custom' | 'endpoints' | 'hooks' | 'joins'\n>\n\nexport type ServerOnlyCollectionAdminProperties = keyof Pick<\n SanitizedCollectionConfig['admin'],\n 'hidden' | 'preview'\n>\n\nexport type ServerOnlyUploadProperties = keyof Pick<\n SanitizedCollectionConfig['upload'],\n | 'adminThumbnail'\n | 'externalFileHeaderFilter'\n | 'handlers'\n | 'modifyResponseHeaders'\n | 'withMetadata'\n>\n\nexport type ClientCollectionConfig = {\n _isPreviewEnabled?: true\n admin: {\n components: {\n afterList: MappedComponent[]\n afterListTable: MappedComponent[]\n beforeList: MappedComponent[]\n beforeListTable: MappedComponent[]\n Description: MappedComponent\n edit: {\n PreviewButton: MappedComponent\n PublishButton: MappedComponent\n SaveButton: MappedComponent\n SaveDraftButton: MappedComponent\n Upload: MappedComponent\n }\n views: {\n edit: {\n [key: string]: MappedView\n api: MappedView\n default: MappedView\n livePreview: MappedView\n version: MappedView\n versions: MappedView\n }\n list: {\n actions: MappedComponent[]\n Component: MappedComponent\n }\n }\n }\n description?: StaticDescription\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n } & Omit<\n SanitizedCollectionConfig['admin'],\n 'components' | 'description' | 'joins' | 'livePreview' | ServerOnlyCollectionAdminProperties\n >\n fields: ClientField[]\n} & Omit<SanitizedCollectionConfig, 'admin' | 'fields' | ServerOnlyCollectionProperties>\n"],"names":[],"mappings":"AAyBA,WAsCwF"}
1
+ {"version":3,"sources":["../../../src/collections/config/client.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport type { StaticDescription } from '../../admin/types.js'\nimport type {\n LivePreviewConfig,\n ServerOnlyLivePreviewProperties,\n StaticLabel,\n} from '../../config/types.js'\nimport type { ClientField } from '../../fields/config/client.js'\nimport type { Payload } from '../../types/index.js'\nimport type { SanitizedCollectionConfig } from './types.js'\n\nimport { createClientFields } from '../../fields/config/client.js'\nimport { deepCopyObjectSimple } from '../../utilities/deepCopyObject.js'\n\nexport type ServerOnlyCollectionProperties = keyof Pick<\n SanitizedCollectionConfig,\n 'access' | 'custom' | 'endpoints' | 'hooks' | 'joins'\n>\n\nexport type ServerOnlyCollectionAdminProperties = keyof Pick<\n SanitizedCollectionConfig['admin'],\n 'hidden'\n>\n\nexport type ServerOnlyUploadProperties = keyof Pick<\n SanitizedCollectionConfig['upload'],\n | 'adminThumbnail'\n | 'externalFileHeaderFilter'\n | 'handlers'\n | 'modifyResponseHeaders'\n | 'withMetadata'\n>\n\nexport type ClientCollectionConfig = {\n admin: {\n components: null\n description?: StaticDescription\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n preview?: boolean\n } & Omit<\n SanitizedCollectionConfig['admin'],\n | 'components'\n | 'description'\n | 'joins'\n | 'livePreview'\n | 'preview'\n | ServerOnlyCollectionAdminProperties\n >\n fields: ClientField[]\n labels: {\n plural: StaticLabel\n singular: StaticLabel\n }\n} & Omit<SanitizedCollectionConfig, 'admin' | 'fields' | 'labels' | ServerOnlyCollectionProperties>\n\nconst serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n 'joins',\n // `upload`\n // `admin`\n // are all handled separately\n]\n\nconst serverOnlyUploadProperties: Partial<ServerOnlyUploadProperties>[] = [\n 'adminThumbnail',\n 'externalFileHeaderFilter',\n 'handlers',\n 'modifyResponseHeaders',\n 'withMetadata',\n]\n\nconst serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'hidden',\n // 'preview' is handled separately\n // `livePreview` is handled separately\n]\n\nexport const createClientCollectionConfig = ({\n collection,\n defaultIDType,\n i18n,\n}: {\n collection: SanitizedCollectionConfig\n defaultIDType: Payload['config']['db']['defaultIDType']\n i18n: I18nClient\n}): ClientCollectionConfig => {\n const clientCollection = deepCopyObjectSimple(collection) as unknown as ClientCollectionConfig\n\n clientCollection.fields = createClientFields({\n clientFields: clientCollection?.fields || [],\n defaultIDType,\n fields: collection.fields,\n i18n,\n })\n\n serverOnlyCollectionProperties.forEach((key) => {\n if (key in clientCollection) {\n delete clientCollection[key]\n }\n })\n\n if ('upload' in clientCollection && typeof clientCollection.upload === 'object') {\n serverOnlyUploadProperties.forEach((key) => {\n if (key in clientCollection.upload) {\n delete clientCollection.upload[key]\n }\n })\n\n if ('imageSizes' in clientCollection.upload && clientCollection.upload.imageSizes.length) {\n clientCollection.upload.imageSizes = clientCollection.upload.imageSizes.map((size) => {\n const sanitizedSize = { ...size }\n if ('generateImageName' in sanitizedSize) {\n delete sanitizedSize.generateImageName\n }\n return sanitizedSize\n })\n }\n }\n\n if ('auth' in clientCollection && typeof clientCollection.auth === 'object') {\n delete clientCollection.auth.strategies\n delete clientCollection.auth.forgotPassword\n delete clientCollection.auth.verify\n }\n\n if (collection.labels) {\n Object.entries(collection.labels).forEach(([labelType, collectionLabel]) => {\n if (typeof collectionLabel === 'function') {\n clientCollection.labels[labelType] = collectionLabel({ t: i18n.t })\n }\n })\n }\n\n if (!clientCollection.admin) {\n clientCollection.admin = {} as ClientCollectionConfig['admin']\n }\n\n serverOnlyCollectionAdminProperties.forEach((key) => {\n if (key in clientCollection.admin) {\n delete clientCollection.admin[key]\n }\n })\n\n if (collection.admin.preview) {\n clientCollection.admin.preview = true\n }\n\n clientCollection.admin.components = null\n\n let description = undefined\n\n if (collection.admin?.description) {\n if (\n typeof collection.admin?.description === 'string' ||\n typeof collection.admin?.description === 'object'\n ) {\n description = collection.admin.description\n } else if (typeof collection.admin?.description === 'function') {\n description = collection.admin?.description({ t: i18n.t })\n }\n }\n\n clientCollection.admin.description = description\n\n if (\n 'livePreview' in clientCollection.admin &&\n clientCollection.admin.livePreview &&\n 'url' in clientCollection.admin.livePreview\n ) {\n delete clientCollection.admin.livePreview.url\n }\n\n return clientCollection\n}\n\nexport const createClientCollectionConfigs = ({\n collections,\n defaultIDType,\n i18n,\n}: {\n collections: SanitizedCollectionConfig[]\n defaultIDType: Payload['config']['db']['defaultIDType']\n i18n: I18nClient\n}): ClientCollectionConfig[] => {\n const clientCollections = new Array(collections.length)\n\n for (let i = 0; i < collections.length; i++) {\n const collection = collections[i]\n\n clientCollections[i] = createClientCollectionConfig({\n collection,\n defaultIDType,\n i18n,\n })\n }\n\n return clientCollections\n}\n"],"names":["createClientFields","deepCopyObjectSimple","serverOnlyCollectionProperties","serverOnlyUploadProperties","serverOnlyCollectionAdminProperties","createClientCollectionConfig","collection","defaultIDType","i18n","clientCollection","fields","clientFields","forEach","key","upload","imageSizes","length","map","size","sanitizedSize","generateImageName","auth","strategies","forgotPassword","verify","labels","Object","entries","labelType","collectionLabel","t","admin","preview","components","description","undefined","livePreview","url","createClientCollectionConfigs","collections","clientCollections","Array","i"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/collections/config/sanitize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAkB,MAAM,YAAY,CAAA;AAgB7F,eAAO,MAAM,kBAAkB,WACrB,MAAM,cACF,gBAAgB,iCAKG,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,KAC/E,OAAO,CAAC,yBAAyB,CA+KnC,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/collections/config/sanitize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAkB,MAAM,YAAY,CAAA;AAgB7F,eAAO,MAAM,kBAAkB,WACrB,MAAM,cACF,gBAAgB,iCAKG,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,KAC/E,OAAO,CAAC,yBAAyB,CAkLnC,CAAA"}
@@ -28,10 +28,10 @@ export const sanitizeCollection = async (config, collection, /**
28
28
  collectionConfig: sanitized,
29
29
  config,
30
30
  fields: sanitized.fields,
31
+ joinPath: '',
31
32
  joins,
32
33
  parentIsLocalized: false,
33
34
  richTextSanitizationPromises,
34
- schemaPath: '',
35
35
  validRelationships
36
36
  });
37
37
  if (sanitized.timestamps !== false) {
@@ -79,12 +79,14 @@ export const sanitizeCollection = async (config, collection, /**
79
79
  if (sanitized.versions) {
80
80
  if (sanitized.versions === true) {
81
81
  sanitized.versions = {
82
- drafts: false
82
+ drafts: false,
83
+ maxPerDoc: 100
83
84
  };
84
85
  }
85
86
  if (sanitized.timestamps === false) {
86
87
  throw new TimestampsRequired(collection);
87
88
  }
89
+ sanitized.versions.maxPerDoc = typeof sanitized.versions.maxPerDoc === 'number' ? sanitized.versions.maxPerDoc : 100;
88
90
  if (sanitized.versions.drafts) {
89
91
  if (sanitized.versions.drafts === true) {
90
92
  sanitized.versions.drafts = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import type { LoginWithUsernameOptions } from '../../auth/types.js'\nimport type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig, SanitizedJoins } from './types.js'\n\nimport { getBaseAuthFields } from '../../auth/getAuthFields.js'\nimport { TimestampsRequired } from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { deepMergeWithReactComponents } from '../../utilities/deepMerge.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { versionDefaults } from '../../versions/defaults.js'\nimport { authDefaults, defaults, loginWithUsernameDefaults } from './defaults.js'\nimport { sanitizeAuthFields, sanitizeUploadFields } from './reservedFieldNames.js'\nimport { validateUseAsTitle } from './useAsTitle.js'\n\nexport const sanitizeCollection = async (\n config: Config,\n collection: CollectionConfig,\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>,\n): Promise<SanitizedCollectionConfig> => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = deepMergeWithReactComponents(defaults, collection)\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n const joins: SanitizedJoins = {}\n sanitized.fields = await sanitizeFields({\n collectionConfig: sanitized,\n config,\n fields: sanitized.fields,\n joins,\n parentIsLocalized: false,\n richTextSanitizationPromises,\n schemaPath: '',\n validRelationships,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') {\n hasUpdatedAt = true\n }\n if (field.name === 'createdAt') {\n hasCreatedAt = true\n }\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n index: true,\n label: ({ t }) => t('general:updatedAt'),\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) {\n sanitized.versions = { drafts: false }\n }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n validate: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: versionDefaults.autosaveInterval,\n }\n }\n\n if (sanitized.versions.drafts.validate === undefined) {\n sanitized.versions.drafts.validate = false\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) {\n sanitized.upload = {}\n }\n\n // sanitize fields for reserved names\n sanitizeUploadFields(sanitized.fields, sanitized)\n\n sanitized.upload.bulkUpload = sanitized.upload?.bulkUpload ?? true\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n // sanitize fields for reserved names\n sanitizeAuthFields(sanitized.fields, sanitized)\n\n sanitized.auth = deepMergeWithReactComponents(\n authDefaults,\n typeof sanitized.auth === 'object' ? sanitized.auth : {},\n )\n\n if (!sanitized.auth.disableLocalStrategy && sanitized.auth.verify === true) {\n sanitized.auth.verify = {}\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate ?? true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n if (sanitized.auth.loginWithUsername) {\n if (sanitized.auth.loginWithUsername === true) {\n sanitized.auth.loginWithUsername = loginWithUsernameDefaults\n } else {\n const loginWithUsernameWithDefaults = {\n ...loginWithUsernameDefaults,\n ...sanitized.auth.loginWithUsername,\n } as LoginWithUsernameOptions\n\n // if allowEmailLogin is false, requireUsername must be true\n if (loginWithUsernameWithDefaults.allowEmailLogin === false) {\n loginWithUsernameWithDefaults.requireUsername = true\n }\n sanitized.auth.loginWithUsername = loginWithUsernameWithDefaults\n }\n } else {\n sanitized.auth.loginWithUsername = false\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, getBaseAuthFields(sanitized.auth))\n }\n\n if (collection?.admin?.pagination?.limits?.length) {\n sanitized.admin.pagination.limits = collection.admin.pagination.limits\n }\n\n validateUseAsTitle(sanitized)\n\n const sanitizedConfig = sanitized as SanitizedCollectionConfig\n\n sanitizedConfig.joins = joins\n\n return sanitizedConfig\n}\n"],"names":["getBaseAuthFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","deepMergeWithReactComponents","formatLabels","baseVersionFields","versionDefaults","authDefaults","defaults","loginWithUsernameDefaults","sanitizeAuthFields","sanitizeUploadFields","validateUseAsTitle","sanitizeCollection","config","collection","richTextSanitizationPromises","sanitized","validRelationships","collections","map","c","slug","joins","fields","collectionConfig","parentIsLocalized","schemaPath","timestamps","hasUpdatedAt","hasCreatedAt","some","field","name","push","type","admin","disableBulkEdit","hidden","index","label","t","labels","versions","drafts","autosave","validate","interval","autosaveInterval","undefined","upload","bulkUpload","staticDir","useAsTitle","uploadFields","auth","disableLocalStrategy","verify","disableDuplicate","strategies","loginWithUsername","loginWithUsernameWithDefaults","allowEmailLogin","requireUsername","pagination","limits","length","sanitizedConfig"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import type { LoginWithUsernameOptions } from '../../auth/types.js'\nimport type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig, SanitizedJoins } from './types.js'\n\nimport { getBaseAuthFields } from '../../auth/getAuthFields.js'\nimport { TimestampsRequired } from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { deepMergeWithReactComponents } from '../../utilities/deepMerge.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { versionDefaults } from '../../versions/defaults.js'\nimport { authDefaults, defaults, loginWithUsernameDefaults } from './defaults.js'\nimport { sanitizeAuthFields, sanitizeUploadFields } from './reservedFieldNames.js'\nimport { validateUseAsTitle } from './useAsTitle.js'\n\nexport const sanitizeCollection = async (\n config: Config,\n collection: CollectionConfig,\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>,\n): Promise<SanitizedCollectionConfig> => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = deepMergeWithReactComponents(defaults, collection)\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n const joins: SanitizedJoins = {}\n sanitized.fields = await sanitizeFields({\n collectionConfig: sanitized,\n config,\n fields: sanitized.fields,\n joinPath: '',\n joins,\n parentIsLocalized: false,\n richTextSanitizationPromises,\n validRelationships,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') {\n hasUpdatedAt = true\n }\n if (field.name === 'createdAt') {\n hasCreatedAt = true\n }\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n index: true,\n label: ({ t }) => t('general:updatedAt'),\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) {\n sanitized.versions = { drafts: false, maxPerDoc: 100 }\n }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n sanitized.versions.maxPerDoc =\n typeof sanitized.versions.maxPerDoc === 'number' ? sanitized.versions.maxPerDoc : 100\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n validate: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: versionDefaults.autosaveInterval,\n }\n }\n\n if (sanitized.versions.drafts.validate === undefined) {\n sanitized.versions.drafts.validate = false\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) {\n sanitized.upload = {}\n }\n\n // sanitize fields for reserved names\n sanitizeUploadFields(sanitized.fields, sanitized)\n\n sanitized.upload.bulkUpload = sanitized.upload?.bulkUpload ?? true\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n // sanitize fields for reserved names\n sanitizeAuthFields(sanitized.fields, sanitized)\n\n sanitized.auth = deepMergeWithReactComponents(\n authDefaults,\n typeof sanitized.auth === 'object' ? sanitized.auth : {},\n )\n\n if (!sanitized.auth.disableLocalStrategy && sanitized.auth.verify === true) {\n sanitized.auth.verify = {}\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate ?? true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n if (sanitized.auth.loginWithUsername) {\n if (sanitized.auth.loginWithUsername === true) {\n sanitized.auth.loginWithUsername = loginWithUsernameDefaults\n } else {\n const loginWithUsernameWithDefaults = {\n ...loginWithUsernameDefaults,\n ...sanitized.auth.loginWithUsername,\n } as LoginWithUsernameOptions\n\n // if allowEmailLogin is false, requireUsername must be true\n if (loginWithUsernameWithDefaults.allowEmailLogin === false) {\n loginWithUsernameWithDefaults.requireUsername = true\n }\n sanitized.auth.loginWithUsername = loginWithUsernameWithDefaults\n }\n } else {\n sanitized.auth.loginWithUsername = false\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, getBaseAuthFields(sanitized.auth))\n }\n\n if (collection?.admin?.pagination?.limits?.length) {\n sanitized.admin.pagination.limits = collection.admin.pagination.limits\n }\n\n validateUseAsTitle(sanitized)\n\n const sanitizedConfig = sanitized as SanitizedCollectionConfig\n\n sanitizedConfig.joins = joins\n\n return sanitizedConfig\n}\n"],"names":["getBaseAuthFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","deepMergeWithReactComponents","formatLabels","baseVersionFields","versionDefaults","authDefaults","defaults","loginWithUsernameDefaults","sanitizeAuthFields","sanitizeUploadFields","validateUseAsTitle","sanitizeCollection","config","collection","richTextSanitizationPromises","sanitized","validRelationships","collections","map","c","slug","joins","fields","collectionConfig","joinPath","parentIsLocalized","timestamps","hasUpdatedAt","hasCreatedAt","some","field","name","push","type","admin","disableBulkEdit","hidden","index","label","t","labels","versions","drafts","maxPerDoc","autosave","validate","interval","autosaveInterval","undefined","upload","bulkUpload","staticDir","useAsTitle","uploadFields","auth","disableLocalStrategy","verify","disableDuplicate","strategies","loginWithUsername","loginWithUsernameWithDefaults","allowEmailLogin","requireUsername","pagination","limits","length","sanitizedConfig"],"mappings":"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"}
@@ -17,7 +17,7 @@ export type SelectFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollec
17
17
  export type AuthOperationsFromCollectionSlug<TSlug extends CollectionSlug> = TypedAuthOperations[TSlug];
18
18
  export type RequiredDataFromCollection<TData extends JsonObject> = MarkOptional<TData, 'createdAt' | 'id' | 'sizes' | 'updatedAt'>;
19
19
  export type RequiredDataFromCollectionSlug<TSlug extends CollectionSlug> = RequiredDataFromCollection<DataFromCollectionSlug<TSlug>>;
20
- export type HookOperationType = 'autosave' | 'count' | 'create' | 'delete' | 'forgotPassword' | 'login' | 'read' | 'refresh' | 'update';
20
+ export type HookOperationType = 'autosave' | 'count' | 'countVersions' | 'create' | 'delete' | 'forgotPassword' | 'login' | 'read' | 'refresh' | 'update';
21
21
  type CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>;
22
22
  export type BeforeOperationHook = (args: {
23
23
  args?: any;
@@ -411,9 +411,9 @@ export type SanitizedJoin = {
411
411
  */
412
412
  field: JoinField;
413
413
  /**
414
- * The schemaPath of the join field in dot notation
414
+ * The path of the join field in dot notation
415
415
  */
416
- schemaPath: string;
416
+ joinPath: string;
417
417
  targetField: RelationshipField | UploadField;
418
418
  };
419
419
  export type SanitizedJoins = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/collections/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/collections/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired, IsAny, MarkOptional } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomPublishButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n CustomUpload,\n} from '../../admin/types.js'\nimport type { Arguments as MeArguments } from '../../auth/operations/me.js'\nimport type {\n Arguments as RefreshArguments,\n Result as RefreshResult,\n} from '../../auth/operations/refresh.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n AfterErrorHookArgs,\n AfterErrorResult,\n CustomComponent,\n EditConfig,\n Endpoint,\n EntityDescription,\n EntityDescriptionComponent,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n MetaConfig,\n PayloadComponent,\n StaticLabel,\n} from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type { Field, JoinField, RelationshipField, UploadField } from '../../fields/config/types.js'\nimport type {\n CollectionSlug,\n JsonObject,\n RequestContext,\n TypedAuthOperations,\n TypedCollection,\n TypedCollectionSelect,\n} from '../../index.js'\nimport type {\n PayloadRequest,\n SelectType,\n Sort,\n TransformCollectionWithSelect,\n} from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type DataFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollection[TSlug]\n\nexport type SelectFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollectionSelect[TSlug]\n\nexport type AuthOperationsFromCollectionSlug<TSlug extends CollectionSlug> =\n TypedAuthOperations[TSlug]\n\nexport type RequiredDataFromCollection<TData extends JsonObject> = MarkOptional<\n TData,\n 'createdAt' | 'id' | 'sizes' | 'updatedAt'\n>\n\nexport type RequiredDataFromCollectionSlug<TSlug extends CollectionSlug> =\n RequiredDataFromCollection<DataFromCollectionSlug<TSlug>>\n\nexport type HookOperationType =\n | 'autosave'\n | 'count'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<TOperationGeneric extends CollectionSlug = string> = (\n arg: AfterOperationArg<TOperationGeneric>,\n) =>\n | Awaited<\n ReturnType<AfterOperationMap<TOperationGeneric>[keyof AfterOperationMap<TOperationGeneric>]>\n >\n | Promise<\n Awaited<\n ReturnType<AfterOperationMap<TOperationGeneric>[keyof AfterOperationMap<TOperationGeneric>]>\n >\n >\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type RefreshHook<T extends TypeWithID = any> = (args: {\n args: RefreshArguments\n user: T\n}) => Promise<RefreshResult | void> | (RefreshResult | void)\n\nexport type MeHook<T extends TypeWithID = any> = (args: {\n args: MeArguments\n user: T\n}) => ({ exp: number; user: T } | void) | Promise<{ exp: number; user: T } | void>\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterErrorHook = (\n args: { collection: SanitizedCollectionConfig } & AfterErrorHookArgs,\n) => AfterErrorResult | Promise<AfterErrorResult>\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n afterList?: CustomComponent[]\n afterListTable?: CustomComponent[]\n beforeList?: CustomComponent[]\n beforeListTable?: CustomComponent[]\n Description?: EntityDescriptionComponent\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButton\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n /**\n * Replaces the \"Upload\" section\n * + upload must be enabled\n */\n Upload?: CustomUpload\n }\n views?: {\n /**\n * Set to a React component to replace the entire Edit View, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n edit?: EditConfig\n list?: {\n actions?: CustomComponent[]\n Component?: PayloadComponent\n }\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: ClientUser }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n meta?: MetaConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit View and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig<TSlug extends CollectionSlug = any> = {\n /**\n * Access control\n */\n access?: {\n admin?: ({ req }: { req: PayloadRequest }) => boolean | Promise<boolean>\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: boolean | IncomingAuthType\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Used to override the default naming of the database table or collection with your using a function or string\n * @WARNING: If you change this property with existing data, you will need to handle the renaming of the table in your database or by using migrations\n */\n dbName?: DBIdentifierName\n defaultPopulate?: IsAny<SelectFromCollectionSlug<TSlug>> extends true\n ? SelectType\n : SelectFromCollectionSlug<TSlug>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: Sort\n /**\n * When true, do not show the \"Duplicate\" button while editing documents within this collection and prevent `duplicate` from all APIs\n */\n disableDuplicate?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: false | Omit<Endpoint, 'root'>[]\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook[]\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook<TSlug>[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n /**\n /**\n * Use the `me` hook to control the `me` operation.\n * Here, you can optionally instruct the me operation to return early,\n * and skip its default logic.\n */\n me?: MeHook[]\n /**\n * Use the `refresh` hook to control the refresh operation.\n * Here, you can optionally instruct the refresh operation to return early,\n * and skip its default logic.\n */\n refresh?: RefreshHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: LabelFunction | StaticLabel\n singular?: LabelFunction | StaticLabel\n }\n /**\n * Enables / Disables the ability to lock documents while editing\n * @default true\n */\n lockDocuments?:\n | {\n duration: number\n }\n | false\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: boolean | UploadConfig\n /**\n * Enable versioning. Set it to true to enable default versions settings,\n * or customize versions options by setting the property equal to an object\n * containing the version options.\n *\n * @default false // disable versioning\n */\n versions?: boolean | IncomingCollectionVersions\n}\n\nexport type SanitizedJoin = {\n /**\n * The field configuration defining the join\n */\n field: JoinField\n /**\n * The schemaPath of the join field in dot notation\n */\n schemaPath: string\n targetField: RelationshipField | UploadField\n}\n\nexport type SanitizedJoins = {\n [collectionSlug: string]: SanitizedJoin[]\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n /**\n * Object of collections to join 'Join Fields object keyed by collection\n */\n joins: SanitizedJoins\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n customIDType?: 'number' | 'text'\n graphQL?: {\n countType: GraphQLObjectType\n JWT: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends CollectionSlug, TSelect extends SelectType> = {\n docs: TransformCollectionWithSelect<TSlug, TSelect>[]\n errors: {\n id: DataFromCollectionSlug<TSlug>['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n docId?: any\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"mappings":"AA2iBA,WAKC"}
1
+ {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired, IsAny, MarkOptional } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomPublishButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n CustomUpload,\n} from '../../admin/types.js'\nimport type { Arguments as MeArguments } from '../../auth/operations/me.js'\nimport type {\n Arguments as RefreshArguments,\n Result as RefreshResult,\n} from '../../auth/operations/refresh.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n AfterErrorHookArgs,\n AfterErrorResult,\n CustomComponent,\n EditConfig,\n Endpoint,\n EntityDescription,\n EntityDescriptionComponent,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n MetaConfig,\n PayloadComponent,\n StaticLabel,\n} from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type { Field, JoinField, RelationshipField, UploadField } from '../../fields/config/types.js'\nimport type {\n CollectionSlug,\n JsonObject,\n RequestContext,\n TypedAuthOperations,\n TypedCollection,\n TypedCollectionSelect,\n} from '../../index.js'\nimport type {\n PayloadRequest,\n SelectType,\n Sort,\n TransformCollectionWithSelect,\n} from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type DataFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollection[TSlug]\n\nexport type SelectFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollectionSelect[TSlug]\n\nexport type AuthOperationsFromCollectionSlug<TSlug extends CollectionSlug> =\n TypedAuthOperations[TSlug]\n\nexport type RequiredDataFromCollection<TData extends JsonObject> = MarkOptional<\n TData,\n 'createdAt' | 'id' | 'sizes' | 'updatedAt'\n>\n\nexport type RequiredDataFromCollectionSlug<TSlug extends CollectionSlug> =\n RequiredDataFromCollection<DataFromCollectionSlug<TSlug>>\n\nexport type HookOperationType =\n | 'autosave'\n | 'count'\n | 'countVersions'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<TOperationGeneric extends CollectionSlug = string> = (\n arg: AfterOperationArg<TOperationGeneric>,\n) =>\n | Awaited<\n ReturnType<AfterOperationMap<TOperationGeneric>[keyof AfterOperationMap<TOperationGeneric>]>\n >\n | Promise<\n Awaited<\n ReturnType<AfterOperationMap<TOperationGeneric>[keyof AfterOperationMap<TOperationGeneric>]>\n >\n >\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type RefreshHook<T extends TypeWithID = any> = (args: {\n args: RefreshArguments\n user: T\n}) => Promise<RefreshResult | void> | (RefreshResult | void)\n\nexport type MeHook<T extends TypeWithID = any> = (args: {\n args: MeArguments\n user: T\n}) => ({ exp: number; user: T } | void) | Promise<{ exp: number; user: T } | void>\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterErrorHook = (\n args: { collection: SanitizedCollectionConfig } & AfterErrorHookArgs,\n) => AfterErrorResult | Promise<AfterErrorResult>\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n afterList?: CustomComponent[]\n afterListTable?: CustomComponent[]\n beforeList?: CustomComponent[]\n beforeListTable?: CustomComponent[]\n Description?: EntityDescriptionComponent\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButton\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n /**\n * Replaces the \"Upload\" section\n * + upload must be enabled\n */\n Upload?: CustomUpload\n }\n views?: {\n /**\n * Set to a React component to replace the entire Edit View, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n edit?: EditConfig\n list?: {\n actions?: CustomComponent[]\n Component?: PayloadComponent\n }\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: ClientUser }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n meta?: MetaConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit View and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig<TSlug extends CollectionSlug = any> = {\n /**\n * Access control\n */\n access?: {\n admin?: ({ req }: { req: PayloadRequest }) => boolean | Promise<boolean>\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: boolean | IncomingAuthType\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Used to override the default naming of the database table or collection with your using a function or string\n * @WARNING: If you change this property with existing data, you will need to handle the renaming of the table in your database or by using migrations\n */\n dbName?: DBIdentifierName\n defaultPopulate?: IsAny<SelectFromCollectionSlug<TSlug>> extends true\n ? SelectType\n : SelectFromCollectionSlug<TSlug>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: Sort\n /**\n * When true, do not show the \"Duplicate\" button while editing documents within this collection and prevent `duplicate` from all APIs\n */\n disableDuplicate?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: false | Omit<Endpoint, 'root'>[]\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook[]\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook<TSlug>[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n /**\n /**\n * Use the `me` hook to control the `me` operation.\n * Here, you can optionally instruct the me operation to return early,\n * and skip its default logic.\n */\n me?: MeHook[]\n /**\n * Use the `refresh` hook to control the refresh operation.\n * Here, you can optionally instruct the refresh operation to return early,\n * and skip its default logic.\n */\n refresh?: RefreshHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: LabelFunction | StaticLabel\n singular?: LabelFunction | StaticLabel\n }\n /**\n * Enables / Disables the ability to lock documents while editing\n * @default true\n */\n lockDocuments?:\n | {\n duration: number\n }\n | false\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: boolean | UploadConfig\n /**\n * Enable versioning. Set it to true to enable default versions settings,\n * or customize versions options by setting the property equal to an object\n * containing the version options.\n *\n * @default false // disable versioning\n */\n versions?: boolean | IncomingCollectionVersions\n}\n\nexport type SanitizedJoin = {\n /**\n * The field configuration defining the join\n */\n field: JoinField\n /**\n * The path of the join field in dot notation\n */\n joinPath: string\n targetField: RelationshipField | UploadField\n}\n\nexport type SanitizedJoins = {\n [collectionSlug: string]: SanitizedJoin[]\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n /**\n * Object of collections to join 'Join Fields object keyed by collection\n */\n joins: SanitizedJoins\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n customIDType?: 'number' | 'text'\n graphQL?: {\n countType: GraphQLObjectType\n JWT: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends CollectionSlug, TSelect extends SelectType> = {\n docs: TransformCollectionWithSelect<TSlug, TSelect>[]\n errors: {\n id: DataFromCollectionSlug<TSlug>['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n docId?: any\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"mappings":"AA4iBA,WAKC"}
@@ -0,0 +1,14 @@
1
+ import type { PayloadRequest, Where } from '../../types/index.js';
2
+ import type { Collection } from '../config/types.js';
3
+ import { type CollectionSlug } from '../../index.js';
4
+ export type Arguments = {
5
+ collection: Collection;
6
+ disableErrors?: boolean;
7
+ overrideAccess?: boolean;
8
+ req?: PayloadRequest;
9
+ where?: Where;
10
+ };
11
+ export declare const countVersionsOperation: <TSlug extends CollectionSlug>(incomingArgs: Arguments) => Promise<{
12
+ totalDocs: number;
13
+ }>;
14
+ //# sourceMappingURL=countVersions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countVersions.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/countVersions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKpD,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIlF,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAU,KAAK,SAAS,cAAc,gBACzD,SAAS,KACtB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CA0F/B,CAAA"}