payload 3.66.0 → 3.67.0-internal.1ea538b

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 (121) hide show
  1. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  2. package/dist/auth/operations/forgotPassword.js +7 -12
  3. package/dist/auth/operations/forgotPassword.js.map +1 -1
  4. package/dist/auth/operations/login.d.ts.map +1 -1
  5. package/dist/auth/operations/login.js +7 -12
  6. package/dist/auth/operations/login.js.map +1 -1
  7. package/dist/auth/operations/refresh.d.ts.map +1 -1
  8. package/dist/auth/operations/refresh.js +7 -12
  9. package/dist/auth/operations/refresh.js.map +1 -1
  10. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  11. package/dist/auth/operations/resetPassword.js +7 -12
  12. package/dist/auth/operations/resetPassword.js.map +1 -1
  13. package/dist/auth/operations/unlock.d.ts.map +1 -1
  14. package/dist/auth/operations/unlock.js +14 -1
  15. package/dist/auth/operations/unlock.js.map +1 -1
  16. package/dist/collections/config/sanitize.d.ts.map +1 -1
  17. package/dist/collections/config/sanitize.js +2 -0
  18. package/dist/collections/config/sanitize.js.map +1 -1
  19. package/dist/collections/config/types.d.ts +7 -19
  20. package/dist/collections/config/types.d.ts.map +1 -1
  21. package/dist/collections/config/types.js.map +1 -1
  22. package/dist/collections/operations/count.d.ts.map +1 -1
  23. package/dist/collections/operations/count.js +7 -12
  24. package/dist/collections/operations/count.js.map +1 -1
  25. package/dist/collections/operations/countVersions.d.ts.map +1 -1
  26. package/dist/collections/operations/countVersions.js +7 -12
  27. package/dist/collections/operations/countVersions.js.map +1 -1
  28. package/dist/collections/operations/create.d.ts.map +1 -1
  29. package/dist/collections/operations/create.js +10 -14
  30. package/dist/collections/operations/create.js.map +1 -1
  31. package/dist/collections/operations/delete.d.ts.map +1 -1
  32. package/dist/collections/operations/delete.js +9 -13
  33. package/dist/collections/operations/delete.js.map +1 -1
  34. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  35. package/dist/collections/operations/deleteByID.js +9 -13
  36. package/dist/collections/operations/deleteByID.js.map +1 -1
  37. package/dist/collections/operations/find.d.ts.map +1 -1
  38. package/dist/collections/operations/find.js +9 -13
  39. package/dist/collections/operations/find.js.map +1 -1
  40. package/dist/collections/operations/findByID.d.ts.map +1 -1
  41. package/dist/collections/operations/findByID.js +22 -26
  42. package/dist/collections/operations/findByID.js.map +1 -1
  43. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  44. package/dist/collections/operations/findDistinct.js +7 -12
  45. package/dist/collections/operations/findDistinct.js.map +1 -1
  46. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  47. package/dist/collections/operations/findVersionByID.js +20 -1
  48. package/dist/collections/operations/findVersionByID.js.map +1 -1
  49. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  50. package/dist/collections/operations/findVersions.js +24 -5
  51. package/dist/collections/operations/findVersions.js.map +1 -1
  52. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  53. package/dist/collections/operations/restoreVersion.js +9 -13
  54. package/dist/collections/operations/restoreVersion.js.map +1 -1
  55. package/dist/collections/operations/update.d.ts.map +1 -1
  56. package/dist/collections/operations/update.js +9 -13
  57. package/dist/collections/operations/update.js.map +1 -1
  58. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  59. package/dist/collections/operations/updateByID.js +7 -12
  60. package/dist/collections/operations/updateByID.js.map +1 -1
  61. package/dist/collections/operations/utilities/buildAfterOperation.d.ts +6 -0
  62. package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -0
  63. package/dist/collections/operations/{utils.js → utilities/buildAfterOperation.js} +1 -1
  64. package/dist/collections/operations/utilities/buildAfterOperation.js.map +1 -0
  65. package/dist/collections/operations/utilities/buildBeforeOperation.d.ts +47 -0
  66. package/dist/collections/operations/utilities/buildBeforeOperation.d.ts.map +1 -0
  67. package/dist/collections/operations/utilities/buildBeforeOperation.js +25 -0
  68. package/dist/collections/operations/utilities/buildBeforeOperation.js.map +1 -0
  69. package/dist/collections/operations/utilities/types.d.ts +216 -0
  70. package/dist/collections/operations/utilities/types.d.ts.map +1 -0
  71. package/dist/collections/operations/utilities/types.js +23 -0
  72. package/dist/collections/operations/utilities/types.js.map +1 -0
  73. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  74. package/dist/collections/operations/utilities/update.js +4 -2
  75. package/dist/collections/operations/utilities/update.js.map +1 -1
  76. package/dist/config/sanitize.d.ts.map +1 -1
  77. package/dist/config/sanitize.js +2 -2
  78. package/dist/config/sanitize.js.map +1 -1
  79. package/dist/exports/shared.d.ts +1 -0
  80. package/dist/exports/shared.d.ts.map +1 -1
  81. package/dist/exports/shared.js +1 -0
  82. package/dist/exports/shared.js.map +1 -1
  83. package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
  84. package/dist/fields/baseFields/slug/generateSlug.js +2 -2
  85. package/dist/fields/baseFields/slug/generateSlug.js.map +1 -1
  86. package/dist/fields/config/types.d.ts +2 -0
  87. package/dist/fields/config/types.d.ts.map +1 -1
  88. package/dist/fields/config/types.js.map +1 -1
  89. package/dist/globals/config/types.d.ts +1 -1
  90. package/dist/globals/config/types.d.ts.map +1 -1
  91. package/dist/globals/config/types.js.map +1 -1
  92. package/dist/globals/operations/findOne.d.ts.map +1 -1
  93. package/dist/globals/operations/findOne.js +4 -3
  94. package/dist/globals/operations/findOne.js.map +1 -1
  95. package/dist/globals/operations/update.d.ts.map +1 -1
  96. package/dist/globals/operations/update.js +3 -2
  97. package/dist/globals/operations/update.js.map +1 -1
  98. package/dist/index.bundled.d.ts +200 -119
  99. package/dist/utilities/getVersionsConfig.d.ts +37 -0
  100. package/dist/utilities/getVersionsConfig.d.ts.map +1 -0
  101. package/dist/utilities/getVersionsConfig.js +44 -0
  102. package/dist/utilities/getVersionsConfig.js.map +1 -0
  103. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  104. package/dist/versions/buildCollectionFields.js +3 -2
  105. package/dist/versions/buildCollectionFields.js.map +1 -1
  106. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  107. package/dist/versions/buildGlobalFields.js +3 -2
  108. package/dist/versions/buildGlobalFields.js.map +1 -1
  109. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  110. package/dist/versions/getLatestCollectionVersion.js +3 -1
  111. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  112. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  113. package/dist/versions/getLatestGlobalVersion.js +3 -2
  114. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  115. package/dist/versions/saveVersion.d.ts.map +1 -1
  116. package/dist/versions/saveVersion.js +2 -1
  117. package/dist/versions/saveVersion.js.map +1 -1
  118. package/package.json +2 -2
  119. package/dist/collections/operations/utils.d.ts +0 -105
  120. package/dist/collections/operations/utils.d.ts.map +0 -1
  121. package/dist/collections/operations/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildAfterOperation.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/utilities/buildAfterOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAElF,eAAO,MAAM,mBAAmB,GAC9B,iBAAiB,SAAS,cAAc,EACxC,CAAC,SAAS,MAAM,YAAY,CAAC,iBAAiB,CAAC,yDAEhC;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,KAClF,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAsBrD,CAAA"}
@@ -18,4 +18,4 @@ export const buildAfterOperation = async (operationArgs)=>{
18
18
  return newResult;
19
19
  };
20
20
 
21
- //# sourceMappingURL=utils.js.map
21
+ //# sourceMappingURL=buildAfterOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/operations/utilities/buildAfterOperation.ts"],"sourcesContent":["import type { CollectionSlug } from '../../../index.js'\nimport type { AfterOperationArg, OperationMap, OperationResult } from './types.js'\n\nexport const buildAfterOperation = async <\n TOperationGeneric extends CollectionSlug,\n O extends keyof OperationMap<TOperationGeneric> = keyof OperationMap<TOperationGeneric>,\n>(\n operationArgs: { operation: O } & Omit<AfterOperationArg<TOperationGeneric>, 'req'>,\n): Promise<any | OperationResult<TOperationGeneric, O>> => {\n const { args, collection, operation, result } = operationArgs\n\n let newResult = result as OperationResult<TOperationGeneric, O>\n\n if (args.collection.config.hooks?.afterOperation?.length) {\n for (const hook of args.collection.config.hooks.afterOperation) {\n const hookResult = await hook({\n args,\n collection,\n operation,\n req: args.req,\n result: newResult,\n } as AfterOperationArg<TOperationGeneric>)\n\n if (hookResult !== undefined) {\n newResult = hookResult as OperationResult<TOperationGeneric, O>\n }\n }\n }\n\n return newResult\n}\n"],"names":["buildAfterOperation","operationArgs","args","collection","operation","result","newResult","config","hooks","afterOperation","length","hook","hookResult","req","undefined"],"mappings":"AAGA,OAAO,MAAMA,sBAAsB,OAIjCC;IAEA,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGJ;IAEhD,IAAIK,YAAYD;IAEhB,IAAIH,KAAKC,UAAU,CAACI,MAAM,CAACC,KAAK,EAAEC,gBAAgBC,QAAQ;QACxD,KAAK,MAAMC,QAAQT,KAAKC,UAAU,CAACI,MAAM,CAACC,KAAK,CAACC,cAAc,CAAE;YAC9D,MAAMG,aAAa,MAAMD,KAAK;gBAC5BT;gBACAC;gBACAC;gBACAS,KAAKX,KAAKW,GAAG;gBACbR,QAAQC;YACV;YAEA,IAAIM,eAAeE,WAAW;gBAC5BR,YAAYM;YACd;QACF;IACF;IAEA,OAAON;AACT,EAAC"}
@@ -0,0 +1,47 @@
1
+ import type { CollectionSlug } from '../../../index.js';
2
+ import type { BeforeOperationArg, OperationArgs, OperationMap } from './types.js';
3
+ /**
4
+ * TODO V4: remove overloads and operations should be the literal operation that was called
5
+ *
6
+ * - `read`: replace with `find` and `findByID` in both operations
7
+ * - `delete`: replace with `deleteByID` in deleteByID operation
8
+ * - `update`: replace with `updateByID` in updateByID operation
9
+ */
10
+ /**
11
+ * @deprecated
12
+ *
13
+ * Should use `find` or `findByID`
14
+ */
15
+ export declare function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(operationArgs: {
16
+ args: TArgs;
17
+ operation: 'read';
18
+ } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>): Promise<TArgs>;
19
+ /**
20
+ * Overload for 'readDistinct' operation
21
+ *
22
+ * @deprecated - use `findDistinct`
23
+ */
24
+ export declare function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(operationArgs: {
25
+ args: TArgs;
26
+ operation: 'readDistinct';
27
+ } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>): Promise<TArgs>;
28
+ export declare function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(operationArgs: {
29
+ args: TArgs;
30
+ operation: 'update';
31
+ } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>): Promise<TArgs>;
32
+ export declare function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(operationArgs: {
33
+ args: TArgs;
34
+ operation: 'updateByID';
35
+ } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>): Promise<TArgs>;
36
+ export declare function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(operationArgs: {
37
+ args: TArgs;
38
+ operation: 'delete';
39
+ } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>): Promise<TArgs>;
40
+ export declare function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(operationArgs: {
41
+ args: TArgs;
42
+ operation: 'deleteByID';
43
+ } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>): Promise<TArgs>;
44
+ export declare function buildBeforeOperation<TOperationGeneric extends CollectionSlug, O extends keyof OperationMap<TOperationGeneric>>(operationArgs: {
45
+ operation: O;
46
+ } & Omit<BeforeOperationArg<TOperationGeneric>, 'context' | 'req'>): Promise<OperationArgs<TOperationGeneric, O>>;
47
+ //# sourceMappingURL=buildBeforeOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildBeforeOperation.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/utilities/buildBeforeOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAMjF;;;;;;GAMG;AAEH;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,iBAAiB,SAAS,cAAc,EAAE,KAAK,EACxF,aAAa,EAAE;IACb,IAAI,EAAE,KAAK,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,GACxF,OAAO,CAAC,KAAK,CAAC,CAAA;AAEjB;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,iBAAiB,SAAS,cAAc,EAAE,KAAK,EACxF,aAAa,EAAE;IACb,IAAI,EAAE,KAAK,CAAA;IACX,SAAS,EAAE,cAAc,CAAA;CAC1B,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,GACxF,OAAO,CAAC,KAAK,CAAC,CAAA;AAGjB,wBAAsB,oBAAoB,CAAC,iBAAiB,SAAS,cAAc,EAAE,KAAK,EACxF,aAAa,EAAE;IACb,IAAI,EAAE,KAAK,CAAA;IACX,SAAS,EAAE,QAAQ,CAAA;CACpB,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,GACxF,OAAO,CAAC,KAAK,CAAC,CAAA;AAGjB,wBAAsB,oBAAoB,CAAC,iBAAiB,SAAS,cAAc,EAAE,KAAK,EACxF,aAAa,EAAE;IACb,IAAI,EAAE,KAAK,CAAA;IACX,SAAS,EAAE,YAAY,CAAA;CACxB,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,GACxF,OAAO,CAAC,KAAK,CAAC,CAAA;AAEjB,wBAAsB,oBAAoB,CAAC,iBAAiB,SAAS,cAAc,EAAE,KAAK,EACxF,aAAa,EAAE;IACb,IAAI,EAAE,KAAK,CAAA;IACX,SAAS,EAAE,QAAQ,CAAA;CACpB,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,GACxF,OAAO,CAAC,KAAK,CAAC,CAAA;AAGjB,wBAAsB,oBAAoB,CAAC,iBAAiB,SAAS,cAAc,EAAE,KAAK,EACxF,aAAa,EAAE;IACb,IAAI,EAAE,KAAK,CAAA;IACX,SAAS,EAAE,YAAY,CAAA;CACxB,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,GACxF,OAAO,CAAC,KAAK,CAAC,CAAA;AAGjB,wBAAsB,oBAAoB,CACxC,iBAAiB,SAAS,cAAc,EACxC,CAAC,SAAS,MAAM,YAAY,CAAC,iBAAiB,CAAC,EAE/C,aAAa,EAAE;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,GAC/F,OAAO,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { operationToHookOperation } from './types.js';
2
+ // Implementation
3
+ export async function buildBeforeOperation(operationArgs) {
4
+ const { args, collection, operation } = operationArgs;
5
+ let newArgs = args;
6
+ if (args.collection.config.hooks?.beforeOperation?.length) {
7
+ // Map the operation to the hook operation type for backward compatibility
8
+ const hookOperation = operationToHookOperation[operation];
9
+ for (const hook of args.collection.config.hooks.beforeOperation){
10
+ const hookResult = await hook({
11
+ args: newArgs,
12
+ collection,
13
+ context: args.req.context,
14
+ operation: hookOperation,
15
+ req: args.req
16
+ });
17
+ if (hookResult !== undefined) {
18
+ newArgs = hookResult;
19
+ }
20
+ }
21
+ }
22
+ return newArgs;
23
+ }
24
+
25
+ //# sourceMappingURL=buildBeforeOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/operations/utilities/buildBeforeOperation.ts"],"sourcesContent":["import type { CollectionSlug } from '../../../index.js'\nimport type { BeforeOperationArg, OperationArgs, OperationMap } from './types.js'\n\nimport { operationToHookOperation } from './types.js'\n// Specific overloads with TArgs (these take priority over the general overload)\n// Overload for 'read' operation (deprecated, backward compatibility)\n\n/**\n * TODO V4: remove overloads and operations should be the literal operation that was called\n *\n * - `read`: replace with `find` and `findByID` in both operations\n * - `delete`: replace with `deleteByID` in deleteByID operation\n * - `update`: replace with `updateByID` in updateByID operation\n */\n\n/**\n * @deprecated\n *\n * Should use `find` or `findByID`\n */\nexport async function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(\n operationArgs: {\n args: TArgs\n operation: 'read'\n } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>,\n): Promise<TArgs>\n\n/**\n * Overload for 'readDistinct' operation\n *\n * @deprecated - use `findDistinct`\n */\nexport async function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(\n operationArgs: {\n args: TArgs\n operation: 'readDistinct'\n } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>,\n): Promise<TArgs>\n\n// Overload for 'update' operation (can be called by both update and updateByID)\nexport async function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(\n operationArgs: {\n args: TArgs\n operation: 'update'\n } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>,\n): Promise<TArgs>\n\n// Overload for 'updateByID' operation\nexport async function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(\n operationArgs: {\n args: TArgs\n operation: 'updateByID'\n } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>,\n): Promise<TArgs>\n\nexport async function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(\n operationArgs: {\n args: TArgs\n operation: 'delete'\n } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>,\n): Promise<TArgs>\n\n// Overload for 'deleteByID' operation\nexport async function buildBeforeOperation<TOperationGeneric extends CollectionSlug, TArgs>(\n operationArgs: {\n args: TArgs\n operation: 'deleteByID'\n } & Omit<BeforeOperationArg<TOperationGeneric>, 'args' | 'context' | 'operation' | 'req'>,\n): Promise<TArgs>\n\n// General overload for operations that exist in OperationMap (fallback)\nexport async function buildBeforeOperation<\n TOperationGeneric extends CollectionSlug,\n O extends keyof OperationMap<TOperationGeneric>,\n>(\n operationArgs: { operation: O } & Omit<BeforeOperationArg<TOperationGeneric>, 'context' | 'req'>,\n): Promise<OperationArgs<TOperationGeneric, O>>\n\n// Implementation\nexport async function buildBeforeOperation<TOperationGeneric extends CollectionSlug>(\n operationArgs: Omit<BeforeOperationArg<TOperationGeneric>, 'context' | 'req'>,\n): Promise<unknown> {\n const { args, collection, operation } = operationArgs\n\n let newArgs = args\n\n if (args.collection.config.hooks?.beforeOperation?.length) {\n // Map the operation to the hook operation type for backward compatibility\n const hookOperation =\n operationToHookOperation[operation as keyof typeof operationToHookOperation]\n\n for (const hook of args.collection.config.hooks.beforeOperation) {\n const hookResult = await hook({\n args: newArgs,\n collection,\n context: args.req!.context,\n operation: hookOperation,\n req: args.req!,\n } as BeforeOperationArg<TOperationGeneric>)\n\n if (hookResult !== undefined) {\n newArgs = hookResult\n }\n }\n }\n\n return newArgs\n}\n"],"names":["operationToHookOperation","buildBeforeOperation","operationArgs","args","collection","operation","newArgs","config","hooks","beforeOperation","length","hookOperation","hook","hookResult","context","req","undefined"],"mappings":"AAGA,SAASA,wBAAwB,QAAQ,aAAY;AA2ErD,iBAAiB;AACjB,OAAO,eAAeC,qBACpBC,aAA6E;IAE7E,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGH;IAExC,IAAII,UAAUH;IAEd,IAAIA,KAAKC,UAAU,CAACG,MAAM,CAACC,KAAK,EAAEC,iBAAiBC,QAAQ;QACzD,0EAA0E;QAC1E,MAAMC,gBACJX,wBAAwB,CAACK,UAAmD;QAE9E,KAAK,MAAMO,QAAQT,KAAKC,UAAU,CAACG,MAAM,CAACC,KAAK,CAACC,eAAe,CAAE;YAC/D,MAAMI,aAAa,MAAMD,KAAK;gBAC5BT,MAAMG;gBACNF;gBACAU,SAASX,KAAKY,GAAG,CAAED,OAAO;gBAC1BT,WAAWM;gBACXI,KAAKZ,KAAKY,GAAG;YACf;YAEA,IAAIF,eAAeG,WAAW;gBAC5BV,UAAUO;YACZ;QACF;IACF;IAEA,OAAOP;AACT"}
@@ -0,0 +1,216 @@
1
+ import type { forgotPasswordOperation } from '../../../auth/operations/forgotPassword.js';
2
+ import type { loginOperation } from '../../../auth/operations/login.js';
3
+ import type { refreshOperation } from '../../../auth/operations/refresh.js';
4
+ import type { resetPasswordOperation } from '../../../auth/operations/resetPassword.js';
5
+ import type { unlockOperation } from '../../../auth/operations/unlock.js';
6
+ import type { CollectionSlug, RequestContext, restoreVersionOperation } from '../../../index.js';
7
+ import type { PayloadRequest } from '../../../types/index.js';
8
+ import type { SanitizedCollectionConfig, SelectFromCollectionSlug } from '../../config/types.js';
9
+ import type { countOperation } from '../count.js';
10
+ import type { countVersionsOperation } from '../countVersions.js';
11
+ import type { createOperation } from '../create.js';
12
+ import type { deleteOperation } from '../delete.js';
13
+ import type { deleteByIDOperation } from '../deleteByID.js';
14
+ import type { findOperation } from '../find.js';
15
+ import type { findByIDOperation } from '../findByID.js';
16
+ import type { findDistinctOperation } from '../findDistinct.js';
17
+ import type { findVersionByIDOperation } from '../findVersionByID.js';
18
+ import type { findVersionsOperation } from '../findVersions.js';
19
+ import type { updateOperation } from '../update.js';
20
+ import type { updateByIDOperation } from '../updateByID.js';
21
+ export type OperationMap<TOperationGeneric extends CollectionSlug> = {
22
+ count: typeof countOperation<TOperationGeneric>;
23
+ countVersions: typeof countVersionsOperation<TOperationGeneric>;
24
+ create: typeof createOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>;
25
+ delete: typeof deleteOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>;
26
+ deleteByID: typeof deleteByIDOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>;
27
+ find: typeof findOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>;
28
+ findByID: typeof findByIDOperation<TOperationGeneric, boolean, SelectFromCollectionSlug<TOperationGeneric>>;
29
+ findDistinct: typeof findDistinctOperation;
30
+ findVersionByID: typeof findVersionByIDOperation;
31
+ findVersions: typeof findVersionsOperation;
32
+ forgotPassword: typeof forgotPasswordOperation;
33
+ login: typeof loginOperation<TOperationGeneric>;
34
+ refresh: typeof refreshOperation;
35
+ resetPassword: typeof resetPasswordOperation<TOperationGeneric>;
36
+ restoreVersion: typeof restoreVersionOperation;
37
+ unlock: typeof unlockOperation<TOperationGeneric>;
38
+ update: typeof updateOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>;
39
+ updateByID: typeof updateByIDOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>;
40
+ };
41
+ export type AfterOperationArg<TOperationGeneric extends CollectionSlug> = {
42
+ /** The collection which this hook is being run on */
43
+ collection: SanitizedCollectionConfig;
44
+ req: PayloadRequest;
45
+ } & ({
46
+ args: Parameters<OperationMap<TOperationGeneric>['count']>[0];
47
+ operation: 'count';
48
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['count']>>;
49
+ } | {
50
+ args: Parameters<OperationMap<TOperationGeneric>['countVersions']>[0];
51
+ operation: 'countVersions';
52
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['countVersions']>>;
53
+ } | {
54
+ args: Parameters<OperationMap<TOperationGeneric>['create']>[0];
55
+ operation: 'create';
56
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['create']>>;
57
+ } | {
58
+ args: Parameters<OperationMap<TOperationGeneric>['delete']>[0];
59
+ operation: 'delete';
60
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['delete']>>;
61
+ } | {
62
+ args: Parameters<OperationMap<TOperationGeneric>['deleteByID']>[0];
63
+ operation: 'deleteByID';
64
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['deleteByID']>>;
65
+ } | {
66
+ args: Parameters<OperationMap<TOperationGeneric>['find']>[0];
67
+ /**
68
+ * @deprecated Use 'find' or 'findByID' operation instead
69
+ */
70
+ operation: 'read';
71
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['find']>>;
72
+ } | {
73
+ args: Parameters<OperationMap<TOperationGeneric>['find']>[0];
74
+ operation: 'find';
75
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['find']>>;
76
+ } | {
77
+ args: Parameters<OperationMap<TOperationGeneric>['findByID']>[0];
78
+ operation: 'findByID';
79
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['findByID']>>;
80
+ } | {
81
+ args: Parameters<OperationMap<TOperationGeneric>['findDistinct']>[0];
82
+ operation: 'findDistinct';
83
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['findDistinct']>>;
84
+ } | {
85
+ args: Parameters<OperationMap<TOperationGeneric>['findVersionByID']>[0];
86
+ operation: 'findVersionByID';
87
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['findVersionByID']>>;
88
+ } | {
89
+ args: Parameters<OperationMap<TOperationGeneric>['findVersions']>[0];
90
+ operation: 'findVersions';
91
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['findVersions']>>;
92
+ } | {
93
+ args: Parameters<OperationMap<TOperationGeneric>['forgotPassword']>[0];
94
+ operation: 'forgotPassword';
95
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['forgotPassword']>>;
96
+ } | {
97
+ args: Parameters<OperationMap<TOperationGeneric>['login']>[0];
98
+ operation: 'login';
99
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['login']>>;
100
+ } | {
101
+ args: Parameters<OperationMap<TOperationGeneric>['refresh']>[0];
102
+ operation: 'refresh';
103
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['refresh']>>;
104
+ } | {
105
+ args: Parameters<OperationMap<TOperationGeneric>['resetPassword']>[0];
106
+ operation: 'resetPassword';
107
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['resetPassword']>>;
108
+ } | {
109
+ args: Parameters<OperationMap<TOperationGeneric>['restoreVersion']>[0];
110
+ operation: 'restoreVersion';
111
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['restoreVersion']>>;
112
+ } | {
113
+ args: Parameters<OperationMap<TOperationGeneric>['unlock']>[0];
114
+ operation: 'unlock';
115
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['unlock']>>;
116
+ } | {
117
+ args: Parameters<OperationMap<TOperationGeneric>['update']>[0];
118
+ operation: 'update';
119
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['update']>>;
120
+ } | {
121
+ args: Parameters<OperationMap<TOperationGeneric>['updateByID']>[0];
122
+ operation: 'updateByID';
123
+ result: Awaited<ReturnType<OperationMap<TOperationGeneric>['updateByID']>>;
124
+ });
125
+ export type OperationResult<TOperationGeneric extends CollectionSlug, O extends keyof OperationMap<TOperationGeneric>> = Awaited<ReturnType<OperationMap<TOperationGeneric>[O]>>;
126
+ export type OperationArgs<TOperationGeneric extends CollectionSlug, O extends keyof OperationMap<TOperationGeneric>> = Parameters<OperationMap<TOperationGeneric>[O]>[0];
127
+ export declare const operationToHookOperation: {
128
+ readonly count: "count";
129
+ readonly countVersions: "countVersions";
130
+ readonly create: "create";
131
+ readonly delete: "delete";
132
+ readonly deleteByID: "delete";
133
+ readonly find: "read";
134
+ readonly findByID: "read";
135
+ readonly findDistinct: "readDistinct";
136
+ readonly findVersionByID: "read";
137
+ readonly findVersions: "read";
138
+ readonly forgotPassword: "forgotPassword";
139
+ readonly login: "login";
140
+ readonly refresh: "refresh";
141
+ readonly resetPassword: "resetPassword";
142
+ readonly restoreVersion: "restoreVersion";
143
+ readonly unlock: "unlock";
144
+ readonly update: "update";
145
+ readonly updateByID: "update";
146
+ };
147
+ export type BeforeOperationArg<TOperationGeneric extends CollectionSlug> = {
148
+ /** The collection which this hook is being run on */
149
+ collection: SanitizedCollectionConfig;
150
+ context: RequestContext;
151
+ req: PayloadRequest;
152
+ } & ({
153
+ args: Parameters<OperationMap<TOperationGeneric>['find']>[0] | Parameters<OperationMap<TOperationGeneric>['findByID']>[0];
154
+ /**
155
+ * @deprecated Use 'find' or 'findByID' operation instead
156
+ */
157
+ operation: 'read';
158
+ } | {
159
+ args: Parameters<OperationMap<TOperationGeneric>['count']>[0];
160
+ operation: 'count';
161
+ } | {
162
+ args: Parameters<OperationMap<TOperationGeneric>['countVersions']>[0];
163
+ operation: 'countVersions';
164
+ } | {
165
+ args: Parameters<OperationMap<TOperationGeneric>['create']>[0];
166
+ operation: 'create';
167
+ } | {
168
+ args: Parameters<OperationMap<TOperationGeneric>['delete']>[0];
169
+ operation: 'delete';
170
+ } | {
171
+ args: Parameters<OperationMap<TOperationGeneric>['deleteByID']>[0];
172
+ operation: 'deleteByID';
173
+ } | {
174
+ args: Parameters<OperationMap<TOperationGeneric>['find']>[0];
175
+ operation: 'find';
176
+ } | {
177
+ args: Parameters<OperationMap<TOperationGeneric>['findByID']>[0];
178
+ operation: 'findByID';
179
+ } | {
180
+ args: Parameters<OperationMap<TOperationGeneric>['findDistinct']>[0];
181
+ operation: 'findDistinct';
182
+ } | {
183
+ args: Parameters<OperationMap<TOperationGeneric>['findDistinct']>[0];
184
+ operation: 'readDistinct';
185
+ } | {
186
+ args: Parameters<OperationMap<TOperationGeneric>['findVersionByID']>[0];
187
+ operation: 'findVersionByID';
188
+ } | {
189
+ args: Parameters<OperationMap<TOperationGeneric>['findVersions']>[0];
190
+ operation: 'findVersions';
191
+ } | {
192
+ args: Parameters<OperationMap<TOperationGeneric>['forgotPassword']>[0];
193
+ operation: 'forgotPassword';
194
+ } | {
195
+ args: Parameters<OperationMap<TOperationGeneric>['login']>[0];
196
+ operation: 'login';
197
+ } | {
198
+ args: Parameters<OperationMap<TOperationGeneric>['refresh']>[0];
199
+ operation: 'refresh';
200
+ } | {
201
+ args: Parameters<OperationMap<TOperationGeneric>['resetPassword']>[0];
202
+ operation: 'resetPassword';
203
+ } | {
204
+ args: Parameters<OperationMap<TOperationGeneric>['restoreVersion']>[0];
205
+ operation: 'restoreVersion';
206
+ } | {
207
+ args: Parameters<OperationMap<TOperationGeneric>['unlock']>[0];
208
+ operation: 'unlock';
209
+ } | {
210
+ args: Parameters<OperationMap<TOperationGeneric>['update']>[0];
211
+ operation: 'update';
212
+ } | {
213
+ args: Parameters<OperationMap<TOperationGeneric>['updateByID']>[0];
214
+ operation: 'updateByID';
215
+ });
216
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/utilities/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ // Map internal operation names to HookOperationType
2
+ export const operationToHookOperation = {
3
+ count: 'count',
4
+ countVersions: 'countVersions',
5
+ create: 'create',
6
+ delete: 'delete',
7
+ deleteByID: 'delete',
8
+ find: 'read',
9
+ findByID: 'read',
10
+ findDistinct: 'readDistinct',
11
+ findVersionByID: 'read',
12
+ findVersions: 'read',
13
+ forgotPassword: 'forgotPassword',
14
+ login: 'login',
15
+ refresh: 'refresh',
16
+ resetPassword: 'resetPassword',
17
+ restoreVersion: 'restoreVersion',
18
+ unlock: 'unlock',
19
+ update: 'update',
20
+ updateByID: 'update'
21
+ };
22
+
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/operations/utilities/types.ts"],"sourcesContent":["import type { forgotPasswordOperation } from '../../../auth/operations/forgotPassword.js'\nimport type { loginOperation } from '../../../auth/operations/login.js'\nimport type { refreshOperation } from '../../../auth/operations/refresh.js'\nimport type { resetPasswordOperation } from '../../../auth/operations/resetPassword.js'\nimport type { unlockOperation } from '../../../auth/operations/unlock.js'\nimport type { CollectionSlug, RequestContext, restoreVersionOperation } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { SanitizedCollectionConfig, SelectFromCollectionSlug } from '../../config/types.js'\nimport type { countOperation } from '../count.js'\nimport type { countVersionsOperation } from '../countVersions.js'\nimport type { createOperation } from '../create.js'\nimport type { deleteOperation } from '../delete.js'\nimport type { deleteByIDOperation } from '../deleteByID.js'\nimport type { findOperation } from '../find.js'\nimport type { findByIDOperation } from '../findByID.js'\nimport type { findDistinctOperation } from '../findDistinct.js'\nimport type { findVersionByIDOperation } from '../findVersionByID.js'\nimport type { findVersionsOperation } from '../findVersions.js'\nimport type { updateOperation } from '../update.js'\nimport type { updateByIDOperation } from '../updateByID.js'\n\nexport type OperationMap<TOperationGeneric extends CollectionSlug> = {\n count: typeof countOperation<TOperationGeneric>\n countVersions: typeof countVersionsOperation<TOperationGeneric>\n create: typeof createOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>\n delete: typeof deleteOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>\n deleteByID: typeof deleteByIDOperation<\n TOperationGeneric,\n SelectFromCollectionSlug<TOperationGeneric>\n >\n find: typeof findOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>\n findByID: typeof findByIDOperation<\n TOperationGeneric,\n boolean,\n SelectFromCollectionSlug<TOperationGeneric>\n >\n findDistinct: typeof findDistinctOperation\n findVersionByID: typeof findVersionByIDOperation\n findVersions: typeof findVersionsOperation\n forgotPassword: typeof forgotPasswordOperation\n login: typeof loginOperation<TOperationGeneric>\n refresh: typeof refreshOperation\n resetPassword: typeof resetPasswordOperation<TOperationGeneric>\n restoreVersion: typeof restoreVersionOperation\n unlock: typeof unlockOperation<TOperationGeneric>\n update: typeof updateOperation<TOperationGeneric, SelectFromCollectionSlug<TOperationGeneric>>\n updateByID: typeof updateByIDOperation<\n TOperationGeneric,\n SelectFromCollectionSlug<TOperationGeneric>\n >\n}\n\nexport type AfterOperationArg<TOperationGeneric extends CollectionSlug> = {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n req: PayloadRequest\n} & (\n | {\n args: Parameters<OperationMap<TOperationGeneric>['count']>[0]\n operation: 'count'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['count']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['countVersions']>[0]\n operation: 'countVersions'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['countVersions']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['create']>[0]\n operation: 'create'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['create']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['delete']>[0]\n operation: 'delete'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['delete']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['deleteByID']>[0]\n operation: 'deleteByID'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['deleteByID']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['find']>[0]\n /**\n * @deprecated Use 'find' or 'findByID' operation instead\n */\n operation: 'read'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['find']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['find']>[0]\n operation: 'find'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['find']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findByID']>[0]\n operation: 'findByID'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['findByID']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findDistinct']>[0]\n operation: 'findDistinct'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['findDistinct']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findVersionByID']>[0]\n operation: 'findVersionByID'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['findVersionByID']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findVersions']>[0]\n operation: 'findVersions'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['findVersions']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['forgotPassword']>[0]\n operation: 'forgotPassword'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['forgotPassword']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['login']>[0]\n operation: 'login'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['login']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['refresh']>[0]\n operation: 'refresh'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['refresh']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['resetPassword']>[0]\n operation: 'resetPassword'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['resetPassword']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['restoreVersion']>[0]\n operation: 'restoreVersion'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['restoreVersion']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['unlock']>[0]\n operation: 'unlock'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['unlock']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['update']>[0]\n operation: 'update'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['update']>>\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['updateByID']>[0]\n operation: 'updateByID'\n result: Awaited<ReturnType<OperationMap<TOperationGeneric>['updateByID']>>\n }\n)\n\nexport type OperationResult<\n TOperationGeneric extends CollectionSlug,\n O extends keyof OperationMap<TOperationGeneric>,\n> = Awaited<ReturnType<OperationMap<TOperationGeneric>[O]>>\n\nexport type OperationArgs<\n TOperationGeneric extends CollectionSlug,\n O extends keyof OperationMap<TOperationGeneric>,\n> = Parameters<OperationMap<TOperationGeneric>[O]>[0]\n\n// Map internal operation names to HookOperationType\nexport const operationToHookOperation = {\n count: 'count',\n countVersions: 'countVersions',\n create: 'create',\n delete: 'delete',\n deleteByID: 'delete',\n find: 'read',\n findByID: 'read',\n findDistinct: 'readDistinct',\n findVersionByID: 'read',\n findVersions: 'read',\n forgotPassword: 'forgotPassword',\n login: 'login',\n refresh: 'refresh',\n resetPassword: 'resetPassword',\n restoreVersion: 'restoreVersion',\n unlock: 'unlock',\n update: 'update',\n updateByID: 'update',\n} as const\n\nexport type BeforeOperationArg<TOperationGeneric extends CollectionSlug> = {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n} & (\n | {\n args:\n | Parameters<OperationMap<TOperationGeneric>['find']>[0]\n | Parameters<OperationMap<TOperationGeneric>['findByID']>[0]\n /**\n * @deprecated Use 'find' or 'findByID' operation instead\n */\n operation: 'read'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['count']>[0]\n operation: 'count'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['countVersions']>[0]\n operation: 'countVersions'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['create']>[0]\n operation: 'create'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['delete']>[0]\n operation: 'delete'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['deleteByID']>[0]\n operation: 'deleteByID'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['find']>[0]\n operation: 'find'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findByID']>[0]\n operation: 'findByID'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findDistinct']>[0]\n operation: 'findDistinct'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findDistinct']>[0]\n operation: 'readDistinct'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findVersionByID']>[0]\n operation: 'findVersionByID'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['findVersions']>[0]\n operation: 'findVersions'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['forgotPassword']>[0]\n operation: 'forgotPassword'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['login']>[0]\n operation: 'login'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['refresh']>[0]\n operation: 'refresh'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['resetPassword']>[0]\n operation: 'resetPassword'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['restoreVersion']>[0]\n operation: 'restoreVersion'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['unlock']>[0]\n operation: 'unlock'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['update']>[0]\n operation: 'update'\n }\n | {\n args: Parameters<OperationMap<TOperationGeneric>['updateByID']>[0]\n operation: 'updateByID'\n }\n)\n"],"names":["operationToHookOperation","count","countVersions","create","delete","deleteByID","find","findByID","findDistinct","findVersionByID","findVersions","forgotPassword","login","refresh","resetPassword","restoreVersion","unlock","update","updateByID"],"mappings":"AAuKA,oDAAoD;AACpD,OAAO,MAAMA,2BAA2B;IACtCC,OAAO;IACPC,eAAe;IACfC,QAAQ;IACRC,QAAQ;IACRC,YAAY;IACZC,MAAM;IACNC,UAAU;IACVC,cAAc;IACdC,iBAAiB;IACjBC,cAAc;IACdC,gBAAgB;IAChBC,OAAO;IACPC,SAAS;IACTC,eAAe;IACfC,gBAAgB;IAChBC,QAAQ;IACRC,QAAQ;IACRC,YAAY;AACd,EAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/utilities/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAU,EACV,6BAA6B,EAC9B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,UAAU,EACX,MAAM,uBAAuB,CAAA;AAe9B,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS,cAAc,IAAI;IACnE,aAAa,EAAE,YAAY,CAAA;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,GAAG,UAAU,CAAA;IACvC,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,mBAAmB,CAAA;IACnC,aAAa,EAAE,UAAU,EAAE,CAAA;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GACzB,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gQAsB9C,wBAAwB,CAAC,KAAK,CAAC,KAAG,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CA4SzF,CAAA"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/utilities/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAU,EACV,6BAA6B,EAC9B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,UAAU,EACX,MAAM,uBAAuB,CAAA;AAmB9B,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS,cAAc,IAAI;IACnE,aAAa,EAAE,YAAY,CAAA;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,GAAG,UAAU,CAAA;IACvC,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,mBAAmB,CAAA;IACnC,aAAa,EAAE,UAAU,EAAE,CAAA;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GACzB,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gQAsB9C,wBAAwB,CAAC,KAAK,CAAC,KAAG,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CA2SzF,CAAA"}
@@ -9,6 +9,7 @@ import { deepCopyObjectSimple, saveVersion } from '../../../index.js';
9
9
  import { deleteAssociatedFiles } from '../../../uploads/deleteAssociatedFiles.js';
10
10
  import { uploadFiles } from '../../../uploads/uploadFiles.js';
11
11
  import { checkDocumentLockStatus } from '../../../utilities/checkDocumentLockStatus.js';
12
+ import { hasDraftsEnabled, hasDraftValidationEnabled } from '../../../utilities/getVersionsConfig.js';
12
13
  import { getLatestCollectionVersion } from '../../../versions/getLatestCollectionVersion.js';
13
14
  /**
14
15
  * This function is used to update a document in the DB and return the result.
@@ -24,7 +25,7 @@ import { getLatestCollectionVersion } from '../../../versions/getLatestCollectio
24
25
  * - afterChange - Collection
25
26
  */ export const updateDocument = async ({ id, accessResults, autosave, collectionConfig, config, data, depth, docWithLocales, draftArg, fallbackLocale, filesToUpload, locale, overrideAccess, overrideLock, payload, populate, publishSpecificLocale, req, select, showHiddenFields })=>{
26
27
  const password = data?.password;
27
- const isSavingDraft = Boolean(draftArg && collectionConfig.versions.drafts) && data._status !== 'published';
28
+ const isSavingDraft = Boolean(draftArg && hasDraftsEnabled(collectionConfig)) && data._status !== 'published';
28
29
  const shouldSavePassword = Boolean(password && collectionConfig.auth && (!collectionConfig.auth.disableLocalStrategy || typeof collectionConfig.auth.disableLocalStrategy === 'object' && collectionConfig.auth.disableLocalStrategy.enableFields) && !isSavingDraft);
29
30
  // /////////////////////////////////////
30
31
  // Handle potentially locked documents
@@ -138,7 +139,8 @@ import { getLatestCollectionVersion } from '../../../versions/getLatestCollectio
138
139
  operation: 'update',
139
140
  overrideAccess,
140
141
  req,
141
- skipValidation: isSavingDraft && collectionConfig.versions.drafts && !collectionConfig.versions.drafts.validate || // Skip validation for trash operations since they're just metadata updates
142
+ skipValidation: // only skip validation for drafts when draft validation is false
143
+ isSavingDraft && !hasDraftValidationEnabled(collectionConfig) || // Skip validation for trash operations since they're just metadata updates
142
144
  collectionConfig.trash && (Boolean(data?.deletedAt) || isRestoringDraftFromTrash)
143
145
  };
144
146
  let result = await beforeChange(beforeChangeArgs);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/operations/utilities/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport type { Args } from '../../../fields/hooks/beforeChange/index.js'\nimport type {\n AccessResult,\n CollectionSlug,\n FileToSave,\n SanitizedConfig,\n TypedFallbackLocale,\n} from '../../../index.js'\nimport type {\n JsonObject,\n Payload,\n PayloadRequest,\n PopulateType,\n SelectType,\n TransformCollectionWithSelect,\n} from '../../../types/index.js'\nimport type {\n DataFromCollectionSlug,\n SanitizedCollectionConfig,\n SelectFromCollectionSlug,\n TypeWithID,\n} from '../../config/types.js'\n\nimport { ensureUsernameOrEmail } from '../../../auth/ensureUsernameOrEmail.js'\nimport { generatePasswordSaltHash } from '../../../auth/strategies/local/generatePasswordSaltHash.js'\nimport { combineQueries } from '../../../database/combineQueries.js'\nimport { afterChange } from '../../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../../fields/hooks/beforeValidate/index.js'\nimport { deepCopyObjectSimple, saveVersion } from '../../../index.js'\nimport { deleteAssociatedFiles } from '../../../uploads/deleteAssociatedFiles.js'\nimport { uploadFiles } from '../../../uploads/uploadFiles.js'\nimport { checkDocumentLockStatus } from '../../../utilities/checkDocumentLockStatus.js'\nimport { getLatestCollectionVersion } from '../../../versions/getLatestCollectionVersion.js'\n\nexport type SharedUpdateDocumentArgs<TSlug extends CollectionSlug> = {\n accessResults: AccessResult\n autosave: boolean\n collectionConfig: SanitizedCollectionConfig\n config: SanitizedConfig\n data: DeepPartial<DataFromCollectionSlug<TSlug>>\n depth: number\n docWithLocales: JsonObject & TypeWithID\n draftArg: boolean\n fallbackLocale: TypedFallbackLocale\n filesToUpload: FileToSave[]\n id: number | string\n locale: string\n overrideAccess: boolean\n overrideLock: boolean\n payload: Payload\n populate?: PopulateType\n publishSpecificLocale?: string\n req: PayloadRequest\n select: SelectType\n showHiddenFields: boolean\n}\n\n/**\n * This function is used to update a document in the DB and return the result.\n *\n * It runs the following hooks in order:\n * - beforeValidate - Fields\n * - beforeValidate - Collection\n * - beforeChange - Collection\n * - beforeChange - Fields\n * - afterRead - Fields\n * - afterRead - Collection\n * - afterChange - Fields\n * - afterChange - Collection\n */\nexport const updateDocument = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug> = SelectType,\n>({\n id,\n accessResults,\n autosave,\n collectionConfig,\n config,\n data,\n depth,\n docWithLocales,\n draftArg,\n fallbackLocale,\n filesToUpload,\n locale,\n overrideAccess,\n overrideLock,\n payload,\n populate,\n publishSpecificLocale,\n req,\n select,\n showHiddenFields,\n}: SharedUpdateDocumentArgs<TSlug>): Promise<TransformCollectionWithSelect<TSlug, TSelect>> => {\n const password = data?.password\n const isSavingDraft =\n Boolean(draftArg && collectionConfig.versions.drafts) && data._status !== 'published'\n const shouldSavePassword = Boolean(\n password &&\n collectionConfig.auth &&\n (!collectionConfig.auth.disableLocalStrategy ||\n (typeof collectionConfig.auth.disableLocalStrategy === 'object' &&\n collectionConfig.auth.disableLocalStrategy.enableFields)) &&\n !isSavingDraft,\n )\n\n // /////////////////////////////////////\n // Handle potentially locked documents\n // /////////////////////////////////////\n\n await checkDocumentLockStatus({\n id,\n collectionSlug: collectionConfig.slug,\n lockErrorMessage: `Document with ID ${id} is currently locked by another user and cannot be updated.`,\n overrideLock,\n req,\n })\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc: deepCopyObjectSimple(docWithLocales),\n draft: draftArg,\n fallbackLocale: id ? null : fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n const isRestoringDraftFromTrash = Boolean(originalDoc?.deletedAt) && data?._status !== 'published'\n\n if (collectionConfig.auth) {\n ensureUsernameOrEmail<TSlug>({\n authOptions: collectionConfig.auth,\n collectionSlug: collectionConfig.slug,\n data,\n operation: 'update',\n originalDoc,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete any associated files\n // /////////////////////////////////////\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docWithLocales,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<DataFromCollectionSlug<TSlug>>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.beforeValidate?.length) {\n for (const hook of collectionConfig.hooks.beforeValidate) {\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }\n }\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.beforeChange?.length) {\n for (const hook of collectionConfig.hooks.beforeChange) {\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }\n }\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const beforeChangeArgs: Args<DataFromCollectionSlug<TSlug>> = {\n id,\n collection: collectionConfig,\n context: req.context,\n data: { ...data, id },\n doc: originalDoc,\n docWithLocales,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n skipValidation:\n (isSavingDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate) ||\n // Skip validation for trash operations since they're just metadata updates\n (collectionConfig.trash && (Boolean(data?.deletedAt) || isRestoringDraftFromTrash)),\n }\n\n let result: JsonObject = await beforeChange(beforeChangeArgs)\n let snapshotToSave: JsonObject | undefined\n\n if (config.localization && collectionConfig.versions) {\n if (publishSpecificLocale) {\n snapshotToSave = deepCopyObjectSimple(result)\n\n // the published data to save to the main document\n result = await beforeChange({\n ...beforeChangeArgs,\n docWithLocales:\n (await getLatestCollectionVersion({\n id,\n config: collectionConfig,\n payload,\n published: true,\n query: {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n },\n req,\n })) || {},\n })\n }\n }\n\n // /////////////////////////////////////\n // Handle potential password update\n // /////////////////////////////////////\n\n const dataToUpdate: JsonObject = { ...result }\n\n if (shouldSavePassword && typeof password === 'string') {\n const { hash, salt } = await generatePasswordSaltHash({\n collection: collectionConfig,\n password,\n req,\n })\n dataToUpdate.salt = salt\n dataToUpdate.hash = hash\n delete dataToUpdate.password\n delete data.password\n }\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!isSavingDraft) {\n // Ensure updatedAt date is always updated\n dataToUpdate.updatedAt = new Date().toISOString()\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: dataToUpdate,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n draft: isSavingDraft,\n operation: 'update',\n payload,\n publishSpecificLocale,\n req,\n snapshot: snapshotToSave,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n populate,\n req,\n select,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.afterRead?.length) {\n for (const hook of collectionConfig.hooks.afterRead) {\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }\n }\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.afterChange?.length) {\n for (const hook of collectionConfig.hooks.afterChange) {\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }\n }\n\n return result as TransformCollectionWithSelect<TSlug, TSelect>\n}\n"],"names":["ensureUsernameOrEmail","generatePasswordSaltHash","combineQueries","afterChange","afterRead","beforeChange","beforeValidate","deepCopyObjectSimple","saveVersion","deleteAssociatedFiles","uploadFiles","checkDocumentLockStatus","getLatestCollectionVersion","updateDocument","id","accessResults","autosave","collectionConfig","config","data","depth","docWithLocales","draftArg","fallbackLocale","filesToUpload","locale","overrideAccess","overrideLock","payload","populate","publishSpecificLocale","req","select","showHiddenFields","password","isSavingDraft","Boolean","versions","drafts","_status","shouldSavePassword","auth","disableLocalStrategy","enableFields","collectionSlug","slug","lockErrorMessage","originalDoc","collection","context","doc","draft","global","isRestoringDraftFromTrash","deletedAt","authOptions","operation","files","overrideDelete","hooks","length","hook","upload","disableLocalStorage","beforeChangeArgs","skipValidation","validate","trash","result","snapshotToSave","localization","published","query","where","equals","dataToUpdate","hash","salt","updatedAt","Date","toISOString","db","updateOne","snapshot","previousDoc"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/collections/operations/utilities/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport type { Args } from '../../../fields/hooks/beforeChange/index.js'\nimport type {\n AccessResult,\n CollectionSlug,\n FileToSave,\n SanitizedConfig,\n TypedFallbackLocale,\n} from '../../../index.js'\nimport type {\n JsonObject,\n Payload,\n PayloadRequest,\n PopulateType,\n SelectType,\n TransformCollectionWithSelect,\n} from '../../../types/index.js'\nimport type {\n DataFromCollectionSlug,\n SanitizedCollectionConfig,\n SelectFromCollectionSlug,\n TypeWithID,\n} from '../../config/types.js'\n\nimport { ensureUsernameOrEmail } from '../../../auth/ensureUsernameOrEmail.js'\nimport { generatePasswordSaltHash } from '../../../auth/strategies/local/generatePasswordSaltHash.js'\nimport { combineQueries } from '../../../database/combineQueries.js'\nimport { afterChange } from '../../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../../fields/hooks/beforeValidate/index.js'\nimport { deepCopyObjectSimple, saveVersion } from '../../../index.js'\nimport { deleteAssociatedFiles } from '../../../uploads/deleteAssociatedFiles.js'\nimport { uploadFiles } from '../../../uploads/uploadFiles.js'\nimport { checkDocumentLockStatus } from '../../../utilities/checkDocumentLockStatus.js'\nimport {\n hasDraftsEnabled,\n hasDraftValidationEnabled,\n} from '../../../utilities/getVersionsConfig.js'\nimport { getLatestCollectionVersion } from '../../../versions/getLatestCollectionVersion.js'\n\nexport type SharedUpdateDocumentArgs<TSlug extends CollectionSlug> = {\n accessResults: AccessResult\n autosave: boolean\n collectionConfig: SanitizedCollectionConfig\n config: SanitizedConfig\n data: DeepPartial<DataFromCollectionSlug<TSlug>>\n depth: number\n docWithLocales: JsonObject & TypeWithID\n draftArg: boolean\n fallbackLocale: TypedFallbackLocale\n filesToUpload: FileToSave[]\n id: number | string\n locale: string\n overrideAccess: boolean\n overrideLock: boolean\n payload: Payload\n populate?: PopulateType\n publishSpecificLocale?: string\n req: PayloadRequest\n select: SelectType\n showHiddenFields: boolean\n}\n\n/**\n * This function is used to update a document in the DB and return the result.\n *\n * It runs the following hooks in order:\n * - beforeValidate - Fields\n * - beforeValidate - Collection\n * - beforeChange - Collection\n * - beforeChange - Fields\n * - afterRead - Fields\n * - afterRead - Collection\n * - afterChange - Fields\n * - afterChange - Collection\n */\nexport const updateDocument = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug> = SelectType,\n>({\n id,\n accessResults,\n autosave,\n collectionConfig,\n config,\n data,\n depth,\n docWithLocales,\n draftArg,\n fallbackLocale,\n filesToUpload,\n locale,\n overrideAccess,\n overrideLock,\n payload,\n populate,\n publishSpecificLocale,\n req,\n select,\n showHiddenFields,\n}: SharedUpdateDocumentArgs<TSlug>): Promise<TransformCollectionWithSelect<TSlug, TSelect>> => {\n const password = data?.password\n const isSavingDraft =\n Boolean(draftArg && hasDraftsEnabled(collectionConfig)) && data._status !== 'published'\n const shouldSavePassword = Boolean(\n password &&\n collectionConfig.auth &&\n (!collectionConfig.auth.disableLocalStrategy ||\n (typeof collectionConfig.auth.disableLocalStrategy === 'object' &&\n collectionConfig.auth.disableLocalStrategy.enableFields)) &&\n !isSavingDraft,\n )\n\n // /////////////////////////////////////\n // Handle potentially locked documents\n // /////////////////////////////////////\n\n await checkDocumentLockStatus({\n id,\n collectionSlug: collectionConfig.slug,\n lockErrorMessage: `Document with ID ${id} is currently locked by another user and cannot be updated.`,\n overrideLock,\n req,\n })\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc: deepCopyObjectSimple(docWithLocales),\n draft: draftArg,\n fallbackLocale: id ? null : fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n const isRestoringDraftFromTrash = Boolean(originalDoc?.deletedAt) && data?._status !== 'published'\n\n if (collectionConfig.auth) {\n ensureUsernameOrEmail<TSlug>({\n authOptions: collectionConfig.auth,\n collectionSlug: collectionConfig.slug,\n data,\n operation: 'update',\n originalDoc,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete any associated files\n // /////////////////////////////////////\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docWithLocales,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<DataFromCollectionSlug<TSlug>>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.beforeValidate?.length) {\n for (const hook of collectionConfig.hooks.beforeValidate) {\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }\n }\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.beforeChange?.length) {\n for (const hook of collectionConfig.hooks.beforeChange) {\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }\n }\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const beforeChangeArgs: Args<DataFromCollectionSlug<TSlug>> = {\n id,\n collection: collectionConfig,\n context: req.context,\n data: { ...data, id },\n doc: originalDoc,\n docWithLocales,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n skipValidation:\n // only skip validation for drafts when draft validation is false\n (isSavingDraft && !hasDraftValidationEnabled(collectionConfig)) ||\n // Skip validation for trash operations since they're just metadata updates\n (collectionConfig.trash && (Boolean(data?.deletedAt) || isRestoringDraftFromTrash)),\n }\n\n let result: JsonObject = await beforeChange(beforeChangeArgs)\n let snapshotToSave: JsonObject | undefined\n\n if (config.localization && collectionConfig.versions) {\n if (publishSpecificLocale) {\n snapshotToSave = deepCopyObjectSimple(result)\n\n // the published data to save to the main document\n result = await beforeChange({\n ...beforeChangeArgs,\n docWithLocales:\n (await getLatestCollectionVersion({\n id,\n config: collectionConfig,\n payload,\n published: true,\n query: {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n },\n req,\n })) || {},\n })\n }\n }\n\n // /////////////////////////////////////\n // Handle potential password update\n // /////////////////////////////////////\n\n const dataToUpdate: JsonObject = { ...result }\n\n if (shouldSavePassword && typeof password === 'string') {\n const { hash, salt } = await generatePasswordSaltHash({\n collection: collectionConfig,\n password,\n req,\n })\n dataToUpdate.salt = salt\n dataToUpdate.hash = hash\n delete dataToUpdate.password\n delete data.password\n }\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!isSavingDraft) {\n // Ensure updatedAt date is always updated\n dataToUpdate.updatedAt = new Date().toISOString()\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: dataToUpdate,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n draft: isSavingDraft,\n operation: 'update',\n payload,\n publishSpecificLocale,\n req,\n snapshot: snapshotToSave,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n populate,\n req,\n select,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.afterRead?.length) {\n for (const hook of collectionConfig.hooks.afterRead) {\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }\n }\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.afterChange?.length) {\n for (const hook of collectionConfig.hooks.afterChange) {\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }\n }\n\n return result as TransformCollectionWithSelect<TSlug, TSelect>\n}\n"],"names":["ensureUsernameOrEmail","generatePasswordSaltHash","combineQueries","afterChange","afterRead","beforeChange","beforeValidate","deepCopyObjectSimple","saveVersion","deleteAssociatedFiles","uploadFiles","checkDocumentLockStatus","hasDraftsEnabled","hasDraftValidationEnabled","getLatestCollectionVersion","updateDocument","id","accessResults","autosave","collectionConfig","config","data","depth","docWithLocales","draftArg","fallbackLocale","filesToUpload","locale","overrideAccess","overrideLock","payload","populate","publishSpecificLocale","req","select","showHiddenFields","password","isSavingDraft","Boolean","_status","shouldSavePassword","auth","disableLocalStrategy","enableFields","collectionSlug","slug","lockErrorMessage","originalDoc","collection","context","doc","draft","global","isRestoringDraftFromTrash","deletedAt","authOptions","operation","files","overrideDelete","hooks","length","hook","upload","disableLocalStorage","beforeChangeArgs","skipValidation","trash","result","snapshotToSave","localization","versions","published","query","where","equals","dataToUpdate","hash","salt","updatedAt","Date","toISOString","db","updateOne","snapshot","previousDoc"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAEhB,MAAM,YAAY,CAAA;AA6FnB,eAAO,MAAM,cAAc,mBAA0B,MAAM,KAAG,OAAO,CAAC,eAAe,CAiXpF,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAEhB,MAAM,YAAY,CAAA;AA8FnB,eAAO,MAAM,cAAc,mBAA0B,MAAM,KAAG,OAAO,CAAC,eAAe,CA+WpF,CAAA"}
@@ -16,6 +16,7 @@ import { getQueryPresetsConfig, queryPresetsCollectionSlug } from '../query-pres
16
16
  import { getDefaultJobsCollection, jobsCollectionSlug } from '../queues/config/collection.js';
17
17
  import { getJobStatsGlobal } from '../queues/config/global.js';
18
18
  import { flattenBlock } from '../utilities/flattenAllFields.js';
19
+ import { hasScheduledPublishEnabled } from '../utilities/getVersionsConfig.js';
19
20
  import { getSchedulePublishTask } from '../versions/schedule/job.js';
20
21
  import { addDefaultsToConfig } from './defaults.js';
21
22
  import { setupOrderable } from './orderable/index.js';
@@ -195,8 +196,7 @@ export const sanitizeConfig = async (incomingConfig)=>{
195
196
  }
196
197
  if (config.globals.length > 0) {
197
198
  for(let i = 0; i < config.globals.length; i++){
198
- const draftsConfig = config.globals[i]?.versions?.drafts;
199
- if (typeof draftsConfig === 'object' && draftsConfig.schedulePublish) {
199
+ if (hasScheduledPublishEnabled(config.globals[i])) {
200
200
  schedulePublishGlobals.push(config.globals[i].slug);
201
201
  }
202
202
  config.globals[i] = await sanitizeGlobal(config, config.globals[i], richTextSanitizationPromises, validRelationships);