payload 3.0.0-beta.70 → 3.0.0-beta.72

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 (192) hide show
  1. package/dist/admin/elements/Cell.d.ts +2 -1
  2. package/dist/admin/elements/Cell.d.ts.map +1 -1
  3. package/dist/admin/elements/Cell.js.map +1 -1
  4. package/dist/admin/fields/Array.d.ts +19 -0
  5. package/dist/admin/fields/Array.d.ts.map +1 -0
  6. package/dist/admin/fields/Array.js +3 -0
  7. package/dist/admin/fields/Array.js.map +1 -0
  8. package/dist/admin/fields/Blocks.d.ts +28 -0
  9. package/dist/admin/fields/Blocks.d.ts.map +1 -0
  10. package/dist/admin/fields/Blocks.js +3 -0
  11. package/dist/admin/fields/Blocks.js.map +1 -0
  12. package/dist/admin/fields/Checkbox.d.ts +16 -0
  13. package/dist/admin/fields/Checkbox.d.ts.map +1 -0
  14. package/dist/admin/fields/Checkbox.js +3 -0
  15. package/dist/admin/fields/Checkbox.js.map +1 -0
  16. package/dist/admin/fields/Code.d.ts +14 -0
  17. package/dist/admin/fields/Code.d.ts.map +1 -0
  18. package/dist/admin/fields/Code.js +3 -0
  19. package/dist/admin/fields/Code.js.map +1 -0
  20. package/dist/admin/fields/Collapsible.d.ts +12 -0
  21. package/dist/admin/fields/Collapsible.d.ts.map +1 -0
  22. package/dist/admin/fields/Collapsible.js +3 -0
  23. package/dist/admin/fields/Collapsible.js.map +1 -0
  24. package/dist/admin/fields/Date.d.ts +14 -0
  25. package/dist/admin/fields/Date.d.ts.map +1 -0
  26. package/dist/admin/fields/Date.js +3 -0
  27. package/dist/admin/fields/Date.js.map +1 -0
  28. package/dist/admin/fields/Email.d.ts +14 -0
  29. package/dist/admin/fields/Email.d.ts.map +1 -0
  30. package/dist/admin/fields/Email.js +3 -0
  31. package/dist/admin/fields/Email.js.map +1 -0
  32. package/dist/admin/fields/Group.d.ts +14 -0
  33. package/dist/admin/fields/Group.d.ts.map +1 -0
  34. package/dist/admin/fields/Group.js +3 -0
  35. package/dist/admin/fields/Group.js.map +1 -0
  36. package/dist/admin/fields/Hidden.d.ts +13 -0
  37. package/dist/admin/fields/Hidden.d.ts.map +1 -0
  38. package/dist/admin/fields/Hidden.js +3 -0
  39. package/dist/admin/fields/Hidden.js.map +1 -0
  40. package/dist/admin/fields/JSON.d.ts +14 -0
  41. package/dist/admin/fields/JSON.d.ts.map +1 -0
  42. package/dist/admin/fields/JSON.js +3 -0
  43. package/dist/admin/fields/JSON.js.map +1 -0
  44. package/dist/admin/fields/Number.d.ts +19 -0
  45. package/dist/admin/fields/Number.d.ts.map +1 -0
  46. package/dist/admin/fields/Number.js +3 -0
  47. package/dist/admin/fields/Number.js.map +1 -0
  48. package/dist/admin/fields/Point.d.ts +13 -0
  49. package/dist/admin/fields/Point.d.ts.map +1 -0
  50. package/dist/admin/fields/Point.js +3 -0
  51. package/dist/admin/fields/Point.js.map +1 -0
  52. package/dist/admin/fields/Radio.d.ts +17 -0
  53. package/dist/admin/fields/Radio.d.ts.map +1 -0
  54. package/dist/admin/fields/Radio.js +3 -0
  55. package/dist/admin/fields/Radio.js.map +1 -0
  56. package/dist/admin/fields/Relationship.d.ts +16 -0
  57. package/dist/admin/fields/Relationship.d.ts.map +1 -0
  58. package/dist/admin/fields/Relationship.js +3 -0
  59. package/dist/admin/fields/Relationship.js.map +1 -0
  60. package/dist/admin/fields/RichText.d.ts +12 -0
  61. package/dist/admin/fields/RichText.d.ts.map +1 -0
  62. package/dist/admin/fields/RichText.js +3 -0
  63. package/dist/admin/fields/RichText.js.map +1 -0
  64. package/dist/admin/fields/Row.d.ts +14 -0
  65. package/dist/admin/fields/Row.d.ts.map +1 -0
  66. package/dist/admin/fields/Row.js +3 -0
  67. package/dist/admin/fields/Row.js.map +1 -0
  68. package/dist/admin/fields/Select.d.ts +18 -0
  69. package/dist/admin/fields/Select.d.ts.map +1 -0
  70. package/dist/admin/fields/Select.js +3 -0
  71. package/dist/admin/fields/Select.js.map +1 -0
  72. package/dist/admin/fields/Tabs.d.ts +20 -0
  73. package/dist/admin/fields/Tabs.d.ts.map +1 -0
  74. package/dist/admin/fields/Tabs.js +3 -0
  75. package/dist/admin/fields/Tabs.js.map +1 -0
  76. package/dist/admin/fields/Text.d.ts +20 -0
  77. package/dist/admin/fields/Text.d.ts.map +1 -0
  78. package/dist/admin/fields/Text.js +3 -0
  79. package/dist/admin/fields/Text.js.map +1 -0
  80. package/dist/admin/fields/Textarea.d.ts +16 -0
  81. package/dist/admin/fields/Textarea.d.ts.map +1 -0
  82. package/dist/admin/fields/Textarea.js +3 -0
  83. package/dist/admin/fields/Textarea.js.map +1 -0
  84. package/dist/admin/fields/Upload.d.ts +13 -0
  85. package/dist/admin/fields/Upload.d.ts.map +1 -0
  86. package/dist/admin/fields/Upload.js +3 -0
  87. package/dist/admin/fields/Upload.js.map +1 -0
  88. package/dist/admin/fields/index.d.ts +65 -0
  89. package/dist/admin/fields/index.d.ts.map +1 -0
  90. package/dist/admin/fields/index.js +3 -0
  91. package/dist/admin/fields/index.js.map +1 -0
  92. package/dist/admin/forms/Error.d.ts +8 -1
  93. package/dist/admin/forms/Error.d.ts.map +1 -1
  94. package/dist/admin/forms/Error.js.map +1 -1
  95. package/dist/admin/forms/Field.d.ts +32 -0
  96. package/dist/admin/forms/Field.d.ts.map +1 -0
  97. package/dist/admin/forms/Field.js +3 -0
  98. package/dist/admin/forms/Field.js.map +1 -0
  99. package/dist/admin/forms/FieldDescription.d.ts +8 -5
  100. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  101. package/dist/admin/forms/FieldDescription.js.map +1 -1
  102. package/dist/admin/forms/FieldMap.d.ts +23 -0
  103. package/dist/admin/forms/FieldMap.d.ts.map +1 -0
  104. package/dist/admin/forms/FieldMap.js +3 -0
  105. package/dist/admin/forms/FieldMap.js.map +1 -0
  106. package/dist/admin/forms/Label.d.ts +11 -6
  107. package/dist/admin/forms/Label.d.ts.map +1 -1
  108. package/dist/admin/forms/Label.js.map +1 -1
  109. package/dist/admin/types.d.ts +30 -3
  110. package/dist/admin/types.d.ts.map +1 -1
  111. package/dist/admin/types.js.map +1 -1
  112. package/dist/auth/getAccessResults.d.ts.map +1 -1
  113. package/dist/auth/getAccessResults.js +2 -7
  114. package/dist/auth/getAccessResults.js.map +1 -1
  115. package/dist/auth/operations/access.d.ts.map +1 -1
  116. package/dist/auth/operations/access.js +1 -6
  117. package/dist/auth/operations/access.js.map +1 -1
  118. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  119. package/dist/auth/operations/resetPassword.js +2 -1
  120. package/dist/auth/operations/resetPassword.js.map +1 -1
  121. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts +3 -1
  122. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  123. package/dist/auth/strategies/local/generatePasswordSaltHash.js +14 -8
  124. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  125. package/dist/auth/strategies/local/register.js +2 -1
  126. package/dist/auth/strategies/local/register.js.map +1 -1
  127. package/dist/collections/config/client.d.ts.map +1 -1
  128. package/dist/collections/config/types.d.ts +3 -3
  129. package/dist/collections/config/types.d.ts.map +1 -1
  130. package/dist/collections/config/types.js.map +1 -1
  131. package/dist/collections/operations/count.d.ts.map +1 -1
  132. package/dist/collections/operations/count.js +0 -4
  133. package/dist/collections/operations/count.js.map +1 -1
  134. package/dist/collections/operations/delete.d.ts.map +1 -1
  135. package/dist/collections/operations/delete.js.map +1 -1
  136. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  137. package/dist/collections/operations/deleteByID.js.map +1 -1
  138. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  139. package/dist/collections/operations/docAccess.js +0 -4
  140. package/dist/collections/operations/docAccess.js.map +1 -1
  141. package/dist/collections/operations/find.d.ts.map +1 -1
  142. package/dist/collections/operations/find.js +0 -4
  143. package/dist/collections/operations/find.js.map +1 -1
  144. package/dist/collections/operations/findByID.d.ts.map +1 -1
  145. package/dist/collections/operations/findByID.js +0 -4
  146. package/dist/collections/operations/findByID.js.map +1 -1
  147. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  148. package/dist/collections/operations/findVersionByID.js +0 -4
  149. package/dist/collections/operations/findVersionByID.js.map +1 -1
  150. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  151. package/dist/collections/operations/findVersions.js +0 -4
  152. package/dist/collections/operations/findVersions.js.map +1 -1
  153. package/dist/collections/operations/restoreVersion.d.ts +1 -0
  154. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  155. package/dist/collections/operations/restoreVersion.js +5 -6
  156. package/dist/collections/operations/restoreVersion.js.map +1 -1
  157. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  158. package/dist/collections/operations/updateByID.js +2 -1
  159. package/dist/collections/operations/updateByID.js.map +1 -1
  160. package/dist/config/types.d.ts +1 -0
  161. package/dist/config/types.d.ts.map +1 -1
  162. package/dist/config/types.js.map +1 -1
  163. package/dist/fields/config/client.d.ts +207 -90
  164. package/dist/fields/config/client.d.ts.map +1 -1
  165. package/dist/fields/config/types.d.ts +59 -41
  166. package/dist/fields/config/types.d.ts.map +1 -1
  167. package/dist/fields/config/types.js.map +1 -1
  168. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  169. package/dist/fields/hooks/beforeChange/promise.js +2 -1
  170. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  171. package/dist/fields/validations.d.ts +5 -2
  172. package/dist/fields/validations.d.ts.map +1 -1
  173. package/dist/fields/validations.js +11 -1
  174. package/dist/fields/validations.js.map +1 -1
  175. package/dist/globals/operations/findOne.d.ts.map +1 -1
  176. package/dist/globals/operations/findOne.js +0 -7
  177. package/dist/globals/operations/findOne.js.map +1 -1
  178. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  179. package/dist/globals/operations/findVersionByID.js +0 -7
  180. package/dist/globals/operations/findVersionByID.js.map +1 -1
  181. package/dist/globals/operations/findVersions.d.ts +1 -0
  182. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  183. package/dist/globals/operations/findVersions.js +2 -5
  184. package/dist/globals/operations/findVersions.js.map +1 -1
  185. package/dist/globals/operations/restoreVersion.d.ts +1 -0
  186. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  187. package/dist/globals/operations/restoreVersion.js +15 -1
  188. package/dist/globals/operations/restoreVersion.js.map +1 -1
  189. package/dist/utilities/killTransaction.d.ts.map +1 -1
  190. package/dist/utilities/killTransaction.js +5 -1
  191. package/dist/utilities/killTransaction.js.map +1 -1
  192. package/package.json +2 -2
@@ -2,16 +2,13 @@ import executeAccess from '../../auth/executeAccess.js';
2
2
  import { combineQueries } from '../../database/combineQueries.js';
3
3
  import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
4
4
  import { afterRead } from '../../fields/hooks/afterRead/index.js';
5
- import { commitTransaction } from '../../utilities/commitTransaction.js';
6
- import { initTransaction } from '../../utilities/initTransaction.js';
7
5
  import { killTransaction } from '../../utilities/killTransaction.js';
8
6
  import sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js';
9
7
  import { buildVersionGlobalFields } from '../../versions/buildGlobalFields.js';
10
8
  export const findVersionsOperation = async (args)=>{
11
- const { depth, globalConfig, limit, overrideAccess, page, req: { fallbackLocale, locale, payload }, req, showHiddenFields, sort, where } = args;
9
+ const { depth, globalConfig, limit, overrideAccess, page, pagination = true, req: { fallbackLocale, locale, payload }, req, showHiddenFields, sort, where } = args;
12
10
  const versionFields = buildVersionGlobalFields(globalConfig);
13
11
  try {
14
- const shouldCommit = await initTransaction(req);
15
12
  // /////////////////////////////////////
16
13
  // Access
17
14
  // /////////////////////////////////////
@@ -34,6 +31,7 @@ export const findVersionsOperation = async (args)=>{
34
31
  limit: limit ?? 10,
35
32
  locale,
36
33
  page: page || 1,
34
+ pagination,
37
35
  req,
38
36
  sort,
39
37
  where: fullWhere
@@ -93,7 +91,6 @@ export const findVersionsOperation = async (args)=>{
93
91
  ...result,
94
92
  docs: result.docs.map((doc)=>sanitizeInternalFields(doc))
95
93
  };
96
- if (shouldCommit) await commitTransaction(req);
97
94
  return result;
98
95
  } catch (error) {
99
96
  await killTransaction(req);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/globals/operations/findVersions.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../database/types.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { SanitizedGlobalConfig } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { buildVersionGlobalFields } from '../../versions/buildGlobalFields.js'\n\nexport type Arguments = {\n depth?: number\n globalConfig: SanitizedGlobalConfig\n limit?: number\n overrideAccess?: boolean\n page?: number\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: string\n where?: Where\n}\n\nexport const findVersionsOperation = async <T extends TypeWithVersion<T>>(\n args: Arguments,\n): Promise<PaginatedDocs<T>> => {\n const {\n depth,\n globalConfig,\n limit,\n overrideAccess,\n page,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n sort,\n where,\n } = args\n\n const versionFields = buildVersionGlobalFields(globalConfig)\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ req }, globalConfig.access.readVersions)\n : true\n\n await validateQueryPaths({\n globalConfig,\n overrideAccess,\n req,\n versionFields,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResults)\n\n // /////////////////////////////////////\n // Find\n // /////////////////////////////////////\n\n const paginatedDocs = await payload.db.findGlobalVersions<T>({\n global: globalConfig.slug,\n limit: limit ?? 10,\n locale,\n page: page || 1,\n req,\n sort,\n where: fullWhere,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n let result = {\n ...paginatedDocs,\n docs: await Promise.all(\n paginatedDocs.docs.map(async (data) => ({\n ...data,\n version: await afterRead<T>({\n collection: null,\n context: req.context,\n depth,\n doc: {\n ...data.version,\n // Patch globalType onto version doc\n globalType: globalConfig.slug,\n },\n draft: undefined,\n fallbackLocale,\n findMany: true,\n global: globalConfig,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n }),\n })),\n ),\n } as PaginatedDocs<T>\n\n // /////////////////////////////////////\n // afterRead - Global\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) => {\n const docRef = doc\n\n await globalConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef.version =\n (await hook({\n context: req.context,\n doc: doc.version,\n findMany: true,\n global: globalConfig,\n query: fullWhere,\n req,\n })) || doc.version\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n }\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: result.docs.map((doc) => sanitizeInternalFields<T>(doc)),\n }\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","afterRead","commitTransaction","initTransaction","killTransaction","sanitizeInternalFields","buildVersionGlobalFields","findVersionsOperation","args","depth","globalConfig","limit","overrideAccess","page","req","fallbackLocale","locale","payload","showHiddenFields","sort","where","versionFields","shouldCommit","accessResults","access","readVersions","fullWhere","paginatedDocs","db","findGlobalVersions","global","slug","result","docs","Promise","all","map","data","version","collection","context","doc","globalType","draft","undefined","findMany","docRef","hooks","reduce","priorHook","hook","query","resolve","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/globals/operations/findVersions.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../database/types.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { SanitizedGlobalConfig } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { buildVersionGlobalFields } from '../../versions/buildGlobalFields.js'\n\nexport type Arguments = {\n depth?: number\n globalConfig: SanitizedGlobalConfig\n limit?: number\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: string\n where?: Where\n}\n\nexport const findVersionsOperation = async <T extends TypeWithVersion<T>>(\n args: Arguments,\n): Promise<PaginatedDocs<T>> => {\n const {\n depth,\n globalConfig,\n limit,\n overrideAccess,\n page,\n pagination = true,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n sort,\n where,\n } = args\n\n const versionFields = buildVersionGlobalFields(globalConfig)\n\n try {\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ req }, globalConfig.access.readVersions)\n : true\n\n await validateQueryPaths({\n globalConfig,\n overrideAccess,\n req,\n versionFields,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResults)\n\n // /////////////////////////////////////\n // Find\n // /////////////////////////////////////\n\n const paginatedDocs = await payload.db.findGlobalVersions<T>({\n global: globalConfig.slug,\n limit: limit ?? 10,\n locale,\n page: page || 1,\n pagination,\n req,\n sort,\n where: fullWhere,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n let result = {\n ...paginatedDocs,\n docs: await Promise.all(\n paginatedDocs.docs.map(async (data) => ({\n ...data,\n version: await afterRead<T>({\n collection: null,\n context: req.context,\n depth,\n doc: {\n ...data.version,\n // Patch globalType onto version doc\n globalType: globalConfig.slug,\n },\n draft: undefined,\n fallbackLocale,\n findMany: true,\n global: globalConfig,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n }),\n })),\n ),\n } as PaginatedDocs<T>\n\n // /////////////////////////////////////\n // afterRead - Global\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: await Promise.all(\n result.docs.map(async (doc) => {\n const docRef = doc\n\n await globalConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n docRef.version =\n (await hook({\n context: req.context,\n doc: doc.version,\n findMany: true,\n global: globalConfig,\n query: fullWhere,\n req,\n })) || doc.version\n }, Promise.resolve())\n\n return docRef\n }),\n ),\n }\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n result = {\n ...result,\n docs: result.docs.map((doc) => sanitizeInternalFields<T>(doc)),\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","afterRead","killTransaction","sanitizeInternalFields","buildVersionGlobalFields","findVersionsOperation","args","depth","globalConfig","limit","overrideAccess","page","pagination","req","fallbackLocale","locale","payload","showHiddenFields","sort","where","versionFields","accessResults","access","readVersions","fullWhere","paginatedDocs","db","findGlobalVersions","global","slug","result","docs","Promise","all","map","data","version","collection","context","doc","globalType","draft","undefined","findMany","docRef","hooks","reduce","priorHook","hook","query","resolve","error"],"mappings":"AAKA,OAAOA,mBAAmB,8BAA6B;AACvD,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,kBAAkB,QAAQ,uDAAsD;AACzF,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,OAAOC,4BAA4B,4CAA2C;AAC9E,SAASC,wBAAwB,QAAQ,sCAAqC;AAe9E,OAAO,MAAMC,wBAAwB,OACnCC;IAEA,MAAM,EACJC,KAAK,EACLC,YAAY,EACZC,KAAK,EACLC,cAAc,EACdC,IAAI,EACJC,aAAa,IAAI,EACjBC,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,OAAO,EAAE,EACxCH,GAAG,EACHI,gBAAgB,EAChBC,IAAI,EACJC,KAAK,EACN,GAAGb;IAEJ,MAAMc,gBAAgBhB,yBAAyBI;IAE/C,IAAI;QACF,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,MAAMa,gBAAgB,CAACX,iBACnB,MAAMZ,cAAc;YAAEe;QAAI,GAAGL,aAAac,MAAM,CAACC,YAAY,IAC7D;QAEJ,MAAMvB,mBAAmB;YACvBQ;YACAE;YACAG;YACAO;YACAD;QACF;QAEA,MAAMK,YAAYzB,eAAeoB,OAAOE;QAExC,wCAAwC;QACxC,OAAO;QACP,wCAAwC;QAExC,MAAMI,gBAAgB,MAAMT,QAAQU,EAAE,CAACC,kBAAkB,CAAI;YAC3DC,QAAQpB,aAAaqB,IAAI;YACzBpB,OAAOA,SAAS;YAChBM;YACAJ,MAAMA,QAAQ;YACdC;YACAC;YACAK;YACAC,OAAOK;QACT;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExC,IAAIM,SAAS;YACX,GAAGL,aAAa;YAChBM,MAAM,MAAMC,QAAQC,GAAG,CACrBR,cAAcM,IAAI,CAACG,GAAG,CAAC,OAAOC,OAAU,CAAA;oBACtC,GAAGA,IAAI;oBACPC,SAAS,MAAMnC,UAAa;wBAC1BoC,YAAY;wBACZC,SAASzB,IAAIyB,OAAO;wBACpB/B;wBACAgC,KAAK;4BACH,GAAGJ,KAAKC,OAAO;4BACf,oCAAoC;4BACpCI,YAAYhC,aAAaqB,IAAI;wBAC/B;wBACAY,OAAOC;wBACP5B;wBACA6B,UAAU;wBACVf,QAAQpB;wBACRO;wBACAL;wBACAG;wBACAI;oBACF;gBACF,CAAA;QAEJ;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExCa,SAAS;YACP,GAAGA,MAAM;YACTC,MAAM,MAAMC,QAAQC,GAAG,CACrBH,OAAOC,IAAI,CAACG,GAAG,CAAC,OAAOK;gBACrB,MAAMK,SAASL;gBAEf,MAAM/B,aAAaqC,KAAK,CAAC5C,SAAS,CAAC6C,MAAM,CAAC,OAAOC,WAAWC;oBAC1D,MAAMD;oBAENH,OAAOR,OAAO,GACZ,AAAC,MAAMY,KAAK;wBACVV,SAASzB,IAAIyB,OAAO;wBACpBC,KAAKA,IAAIH,OAAO;wBAChBO,UAAU;wBACVf,QAAQpB;wBACRyC,OAAOzB;wBACPX;oBACF,MAAO0B,IAAIH,OAAO;gBACtB,GAAGJ,QAAQkB,OAAO;gBAElB,OAAON;YACT;QAEJ;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExCd,SAAS;YACP,GAAGA,MAAM;YACTC,MAAMD,OAAOC,IAAI,CAACG,GAAG,CAAC,CAACK,MAAQpC,uBAA0BoC;QAC3D;QAEA,OAAOT;IACT,EAAE,OAAOqB,OAAgB;QACvB,MAAMjD,gBAAgBW;QACtB,MAAMsC;IACR;AACF,EAAC"}
@@ -3,6 +3,7 @@ import type { TypeWithVersion } from '../../versions/types.js';
3
3
  import type { SanitizedGlobalConfig } from '../config/types.js';
4
4
  export type Arguments = {
5
5
  depth?: number;
6
+ draft?: boolean;
6
7
  globalConfig: SanitizedGlobalConfig;
7
8
  id: number | string;
8
9
  overrideAccess?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../src/globals/operations/restoreVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAU/D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,qBAAqB,CAAA;IACnC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,cAClE,SAAS,KACd,OAAO,CAAC,CAAC,CAsJX,CAAA"}
1
+ {"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../src/globals/operations/restoreVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAU/D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,qBAAqB,CAAA;IACnC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,cAClE,SAAS,KACd,OAAO,CAAC,CAAC,CAwKX,CAAA"}
@@ -6,7 +6,7 @@ import { commitTransaction } from '../../utilities/commitTransaction.js';
6
6
  import { initTransaction } from '../../utilities/initTransaction.js';
7
7
  import { killTransaction } from '../../utilities/killTransaction.js';
8
8
  export const restoreVersionOperation = async (args)=>{
9
- const { id, depth, globalConfig, overrideAccess, req: { fallbackLocale, locale, payload }, req, showHiddenFields } = args;
9
+ const { id, depth, draft, globalConfig, overrideAccess, req: { fallbackLocale, locale, payload }, req, showHiddenFields } = args;
10
10
  try {
11
11
  const shouldCommit = await initTransaction(req);
12
12
  // /////////////////////////////////////
@@ -36,6 +36,10 @@ export const restoreVersionOperation = async (args)=>{
36
36
  const rawVersion = versionDocs[0];
37
37
  // Patch globalType onto version doc
38
38
  rawVersion.version.globalType = globalConfig.slug;
39
+ // Overwrite draft status if draft is true
40
+ if (draft) {
41
+ rawVersion.version._status = 'draft';
42
+ }
39
43
  // /////////////////////////////////////
40
44
  // fetch previousDoc
41
45
  // /////////////////////////////////////
@@ -58,6 +62,16 @@ export const restoreVersionOperation = async (args)=>{
58
62
  data: result,
59
63
  req
60
64
  });
65
+ const now = new Date().toISOString();
66
+ result = await payload.db.createGlobalVersion({
67
+ autosave: false,
68
+ createdAt: result.createdAt ? new Date(result.createdAt).toISOString() : now,
69
+ globalSlug: globalConfig.slug,
70
+ parent: id,
71
+ req,
72
+ updatedAt: draft ? now : new Date(result.updatedAt).toISOString(),
73
+ versionData: result
74
+ });
61
75
  } else {
62
76
  result = await payload.db.createGlobal({
63
77
  slug: globalConfig.slug,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/globals/operations/restoreVersion.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { SanitizedGlobalConfig } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n depth?: number\n globalConfig: SanitizedGlobalConfig\n id: number | string\n overrideAccess?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const restoreVersionOperation = async <T extends TypeWithVersion<T> = any>(\n args: Arguments,\n): Promise<T> => {\n const {\n id,\n depth,\n globalConfig,\n overrideAccess,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n } = args\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ req }, globalConfig.access.update)\n }\n\n // /////////////////////////////////////\n // Retrieve original raw version\n // /////////////////////////////////////\n\n const { docs: versionDocs } = await payload.db.findGlobalVersions<any>({\n global: globalConfig.slug,\n limit: 1,\n req,\n where: { id: { equals: id } },\n })\n\n if (!versionDocs || versionDocs.length === 0) {\n throw new NotFound(req.t)\n }\n\n const rawVersion = versionDocs[0]\n\n // Patch globalType onto version doc\n rawVersion.version.globalType = globalConfig.slug\n\n // /////////////////////////////////////\n // fetch previousDoc\n // /////////////////////////////////////\n\n const previousDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth,\n req,\n })\n\n // /////////////////////////////////////\n // Update global\n // /////////////////////////////////////\n\n const global = await payload.db.findGlobal({\n slug: globalConfig.slug,\n req,\n })\n\n let result = rawVersion.version\n\n if (global) {\n result = await payload.db.updateGlobal({\n slug: globalConfig.slug,\n data: result,\n req,\n })\n } else {\n result = await payload.db.createGlobal({\n slug: globalConfig.slug,\n data: result,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: null,\n context: req.context,\n depth,\n doc: result,\n draft: undefined,\n fallbackLocale,\n global: globalConfig,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Global\n // /////////////////////////////////////\n\n await globalConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n context: req.context,\n doc: result,\n global: globalConfig,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: null,\n context: req.context,\n data: result,\n doc: result,\n global: globalConfig,\n operation: 'update',\n previousDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Global\n // /////////////////////////////////////\n\n await globalConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n context: req.context,\n doc: result,\n global: globalConfig,\n previousDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["executeAccess","NotFound","afterChange","afterRead","commitTransaction","initTransaction","killTransaction","restoreVersionOperation","args","id","depth","globalConfig","overrideAccess","req","fallbackLocale","locale","payload","showHiddenFields","shouldCommit","access","update","docs","versionDocs","db","findGlobalVersions","global","slug","limit","where","equals","length","t","rawVersion","version","globalType","previousDoc","findGlobal","result","updateGlobal","data","createGlobal","collection","context","doc","draft","undefined","hooks","reduce","priorHook","hook","Promise","resolve","operation","error"],"mappings":"AAIA,OAAOA,mBAAmB,8BAA6B;AACvD,SAASC,QAAQ,QAAQ,wBAAuB;AAChD,SAASC,WAAW,QAAQ,0CAAyC;AACrE,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AAWpE,OAAO,MAAMC,0BAA0B,OACrCC;IAEA,MAAM,EACJC,EAAE,EACFC,KAAK,EACLC,YAAY,EACZC,cAAc,EACdC,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,OAAO,EAAE,EACxCH,GAAG,EACHI,gBAAgB,EACjB,GAAGT;IAEJ,IAAI;QACF,MAAMU,eAAe,MAAMb,gBAAgBQ;QAE3C,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAI,CAACD,gBAAgB;YACnB,MAAMZ,cAAc;gBAAEa;YAAI,GAAGF,aAAaQ,MAAM,CAACC,MAAM;QACzD;QAEA,wCAAwC;QACxC,gCAAgC;QAChC,wCAAwC;QAExC,MAAM,EAAEC,MAAMC,WAAW,EAAE,GAAG,MAAMN,QAAQO,EAAE,CAACC,kBAAkB,CAAM;YACrEC,QAAQd,aAAae,IAAI;YACzBC,OAAO;YACPd;YACAe,OAAO;gBAAEnB,IAAI;oBAAEoB,QAAQpB;gBAAG;YAAE;QAC9B;QAEA,IAAI,CAACa,eAAeA,YAAYQ,MAAM,KAAK,GAAG;YAC5C,MAAM,IAAI7B,SAASY,IAAIkB,CAAC;QAC1B;QAEA,MAAMC,aAAaV,WAAW,CAAC,EAAE;QAEjC,oCAAoC;QACpCU,WAAWC,OAAO,CAACC,UAAU,GAAGvB,aAAae,IAAI;QAEjD,wCAAwC;QACxC,oBAAoB;QACpB,wCAAwC;QAExC,MAAMS,cAAc,MAAMnB,QAAQoB,UAAU,CAAC;YAC3CV,MAAMf,aAAae,IAAI;YACvBhB;YACAG;QACF;QAEA,wCAAwC;QACxC,gBAAgB;QAChB,wCAAwC;QAExC,MAAMY,SAAS,MAAMT,QAAQO,EAAE,CAACa,UAAU,CAAC;YACzCV,MAAMf,aAAae,IAAI;YACvBb;QACF;QAEA,IAAIwB,SAASL,WAAWC,OAAO;QAE/B,IAAIR,QAAQ;YACVY,SAAS,MAAMrB,QAAQO,EAAE,CAACe,YAAY,CAAC;gBACrCZ,MAAMf,aAAae,IAAI;gBACvBa,MAAMF;gBACNxB;YACF;QACF,OAAO;YACLwB,SAAS,MAAMrB,QAAQO,EAAE,CAACiB,YAAY,CAAC;gBACrCd,MAAMf,aAAae,IAAI;gBACvBa,MAAMF;gBACNxB;YACF;QACF;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExCwB,SAAS,MAAMlC,UAAU;YACvBsC,YAAY;YACZC,SAAS7B,IAAI6B,OAAO;YACpBhC;YACAiC,KAAKN;YACLO,OAAOC;YACP/B;YACAW,QAAQd;YACRI;YACAH;YACAC;YACAI;QACF;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExC,MAAMN,aAAamC,KAAK,CAAC3C,SAAS,CAAC4C,MAAM,CAAC,OAAOC,WAAWC;YAC1D,MAAMD;YAENX,SACE,AAAC,MAAMY,KAAK;gBACVP,SAAS7B,IAAI6B,OAAO;gBACpBC,KAAKN;gBACLZ,QAAQd;gBACRE;YACF,MAAOwB;QACX,GAAGa,QAAQC,OAAO;QAElB,wCAAwC;QACxC,uBAAuB;QACvB,wCAAwC;QAExCd,SAAS,MAAMnC,YAAY;YACzBuC,YAAY;YACZC,SAAS7B,IAAI6B,OAAO;YACpBH,MAAMF;YACNM,KAAKN;YACLZ,QAAQd;YACRyC,WAAW;YACXjB;YACAtB;QACF;QAEA,wCAAwC;QACxC,uBAAuB;QACvB,wCAAwC;QAExC,MAAMF,aAAamC,KAAK,CAAC5C,WAAW,CAAC6C,MAAM,CAAC,OAAOC,WAAWC;YAC5D,MAAMD;YAENX,SACE,AAAC,MAAMY,KAAK;gBACVP,SAAS7B,IAAI6B,OAAO;gBACpBC,KAAKN;gBACLZ,QAAQd;gBACRwB;gBACAtB;YACF,MAAOwB;QACX,GAAGa,QAAQC,OAAO;QAElB,IAAIjC,cAAc,MAAMd,kBAAkBS;QAE1C,OAAOwB;IACT,EAAE,OAAOgB,OAAgB;QACvB,MAAM/C,gBAAgBO;QACtB,MAAMwC;IACR;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/globals/operations/restoreVersion.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { SanitizedGlobalConfig } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n depth?: number\n draft?: boolean\n globalConfig: SanitizedGlobalConfig\n id: number | string\n overrideAccess?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const restoreVersionOperation = async <T extends TypeWithVersion<T> = any>(\n args: Arguments,\n): Promise<T> => {\n const {\n id,\n depth,\n draft,\n globalConfig,\n overrideAccess,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n } = args\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ req }, globalConfig.access.update)\n }\n\n // /////////////////////////////////////\n // Retrieve original raw version\n // /////////////////////////////////////\n\n const { docs: versionDocs } = await payload.db.findGlobalVersions<any>({\n global: globalConfig.slug,\n limit: 1,\n req,\n where: { id: { equals: id } },\n })\n\n if (!versionDocs || versionDocs.length === 0) {\n throw new NotFound(req.t)\n }\n\n const rawVersion = versionDocs[0]\n\n // Patch globalType onto version doc\n rawVersion.version.globalType = globalConfig.slug\n\n // Overwrite draft status if draft is true\n\n if (draft) {\n rawVersion.version._status = 'draft'\n }\n // /////////////////////////////////////\n // fetch previousDoc\n // /////////////////////////////////////\n\n const previousDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth,\n req,\n })\n\n // /////////////////////////////////////\n // Update global\n // /////////////////////////////////////\n\n const global = await payload.db.findGlobal({\n slug: globalConfig.slug,\n req,\n })\n\n let result = rawVersion.version\n\n if (global) {\n result = await payload.db.updateGlobal({\n slug: globalConfig.slug,\n data: result,\n req,\n })\n\n const now = new Date().toISOString()\n\n result = await payload.db.createGlobalVersion({\n autosave: false,\n createdAt: result.createdAt ? new Date(result.createdAt).toISOString() : now,\n globalSlug: globalConfig.slug,\n parent: id,\n req,\n updatedAt: draft ? now : new Date(result.updatedAt).toISOString(),\n versionData: result,\n })\n } else {\n result = await payload.db.createGlobal({\n slug: globalConfig.slug,\n data: result,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: null,\n context: req.context,\n depth,\n doc: result,\n draft: undefined,\n fallbackLocale,\n global: globalConfig,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Global\n // /////////////////////////////////////\n\n await globalConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n context: req.context,\n doc: result,\n global: globalConfig,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: null,\n context: req.context,\n data: result,\n doc: result,\n global: globalConfig,\n operation: 'update',\n previousDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Global\n // /////////////////////////////////////\n\n await globalConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n context: req.context,\n doc: result,\n global: globalConfig,\n previousDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["executeAccess","NotFound","afterChange","afterRead","commitTransaction","initTransaction","killTransaction","restoreVersionOperation","args","id","depth","draft","globalConfig","overrideAccess","req","fallbackLocale","locale","payload","showHiddenFields","shouldCommit","access","update","docs","versionDocs","db","findGlobalVersions","global","slug","limit","where","equals","length","t","rawVersion","version","globalType","_status","previousDoc","findGlobal","result","updateGlobal","data","now","Date","toISOString","createGlobalVersion","autosave","createdAt","globalSlug","parent","updatedAt","versionData","createGlobal","collection","context","doc","undefined","hooks","reduce","priorHook","hook","Promise","resolve","operation","error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"killTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/killTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxE"}
1
+ {"version":3,"file":"killTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/killTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxE"}
@@ -3,7 +3,11 @@
3
3
  */ export async function killTransaction(req) {
4
4
  const { payload, transactionID } = req;
5
5
  if (transactionID && !(transactionID instanceof Promise)) {
6
- await payload.db.rollbackTransaction(req.transactionID);
6
+ try {
7
+ await payload.db.rollbackTransaction(req.transactionID);
8
+ } catch (error) {
9
+ // swallow any errors while attempting to rollback
10
+ }
7
11
  delete req.transactionID;
8
12
  }
9
13
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/killTransaction.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\n/**\n * Rollback the transaction from the req using the db adapter and removes it from the req\n */\nexport async function killTransaction(req: PayloadRequest): Promise<void> {\n const { payload, transactionID } = req\n if (transactionID && !(transactionID instanceof Promise)) {\n await payload.db.rollbackTransaction(req.transactionID)\n delete req.transactionID\n }\n}\n"],"names":["killTransaction","req","payload","transactionID","Promise","db","rollbackTransaction"],"mappings":"AAEA;;CAEC,GACD,OAAO,eAAeA,gBAAgBC,GAAmB;IACvD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGF;IACnC,IAAIE,iBAAiB,CAAEA,CAAAA,yBAAyBC,OAAM,GAAI;QACxD,MAAMF,QAAQG,EAAE,CAACC,mBAAmB,CAACL,IAAIE,aAAa;QACtD,OAAOF,IAAIE,aAAa;IAC1B;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/killTransaction.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\n/**\n * Rollback the transaction from the req using the db adapter and removes it from the req\n */\nexport async function killTransaction(req: PayloadRequest): Promise<void> {\n const { payload, transactionID } = req\n if (transactionID && !(transactionID instanceof Promise)) {\n try {\n await payload.db.rollbackTransaction(req.transactionID)\n } catch (error) {\n // swallow any errors while attempting to rollback\n }\n delete req.transactionID\n }\n}\n"],"names":["killTransaction","req","payload","transactionID","Promise","db","rollbackTransaction","error"],"mappings":"AAEA;;CAEC,GACD,OAAO,eAAeA,gBAAgBC,GAAmB;IACvD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGF;IACnC,IAAIE,iBAAiB,CAAEA,CAAAA,yBAAyBC,OAAM,GAAI;QACxD,IAAI;YACF,MAAMF,QAAQG,EAAE,CAACC,mBAAmB,CAACL,IAAIE,aAAa;QACxD,EAAE,OAAOI,OAAO;QACd,kDAAkD;QACpD;QACA,OAAON,IAAIE,aAAa;IAC1B;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.0.0-beta.70",
3
+ "version": "3.0.0-beta.72",
4
4
  "description": "Node, React, Headless CMS and Application Framework built on Next.js",
5
5
  "keywords": [
6
6
  "admin panel",
@@ -96,7 +96,7 @@
96
96
  "scmp": "2.1.0",
97
97
  "ts-essentials": "7.0.3",
98
98
  "uuid": "10.0.0",
99
- "@payloadcms/translations": "3.0.0-beta.70"
99
+ "@payloadcms/translations": "3.0.0-beta.72"
100
100
  },
101
101
  "devDependencies": {
102
102
  "@hyrious/esbuild-plugin-commonjs": "^0.2.4",