payload 3.0.0-beta.60 → 3.0.0-beta.62

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 (190) hide show
  1. package/dist/admin/RichText.d.ts +6 -6
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/Cell.d.ts +2 -2
  5. package/dist/admin/elements/Cell.d.ts.map +1 -1
  6. package/dist/admin/elements/Cell.js.map +1 -1
  7. package/dist/admin/elements/DatePicker.d.ts +7 -7
  8. package/dist/admin/elements/DatePicker.d.ts.map +1 -1
  9. package/dist/admin/elements/DatePicker.js.map +1 -1
  10. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  11. package/dist/auth/getFieldsToSign.js +1 -1
  12. package/dist/auth/getFieldsToSign.js.map +1 -1
  13. package/dist/auth/index.d.ts +2 -2
  14. package/dist/auth/index.d.ts.map +1 -1
  15. package/dist/auth/index.js +2 -2
  16. package/dist/auth/index.js.map +1 -1
  17. package/dist/auth/operations/local/login.d.ts +2 -2
  18. package/dist/auth/operations/local/login.d.ts.map +1 -1
  19. package/dist/auth/operations/local/login.js.map +1 -1
  20. package/dist/auth/operations/login.d.ts +2 -2
  21. package/dist/auth/operations/login.d.ts.map +1 -1
  22. package/dist/auth/operations/login.js.map +1 -1
  23. package/dist/auth/operations/registerFirstUser.d.ts +1 -1
  24. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  25. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  26. package/dist/auth/strategies/jwt.js.map +1 -1
  27. package/dist/auth/strategies/local/authenticate.d.ts +1 -1
  28. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  29. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  30. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +1 -1
  31. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  32. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  33. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +1 -1
  34. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  35. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  36. package/dist/bin/loader/compile.d.ts +2 -2
  37. package/dist/bin/loader/compile.d.ts.map +1 -1
  38. package/dist/bin/loader/compile.js.map +1 -1
  39. package/dist/collections/config/client.d.ts +21 -21
  40. package/dist/collections/config/client.d.ts.map +1 -1
  41. package/dist/collections/config/client.js.map +1 -1
  42. package/dist/collections/config/sanitize.js +10 -10
  43. package/dist/collections/config/sanitize.js.map +1 -1
  44. package/dist/collections/operations/delete.d.ts.map +1 -1
  45. package/dist/collections/operations/delete.js +1 -1
  46. package/dist/collections/operations/delete.js.map +1 -1
  47. package/dist/collections/operations/findByID.d.ts.map +1 -1
  48. package/dist/collections/operations/findByID.js +1 -1
  49. package/dist/collections/operations/findByID.js.map +1 -1
  50. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  51. package/dist/collections/operations/findVersionByID.js +1 -1
  52. package/dist/collections/operations/findVersionByID.js.map +1 -1
  53. package/dist/collections/operations/local/delete.d.ts +4 -4
  54. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  55. package/dist/collections/operations/local/delete.js.map +1 -1
  56. package/dist/collections/operations/local/update.d.ts +4 -4
  57. package/dist/collections/operations/local/update.d.ts.map +1 -1
  58. package/dist/collections/operations/local/update.js.map +1 -1
  59. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  60. package/dist/collections/operations/restoreVersion.js +1 -1
  61. package/dist/collections/operations/restoreVersion.js.map +1 -1
  62. package/dist/collections/operations/utils.d.ts +2 -2
  63. package/dist/collections/operations/utils.d.ts.map +1 -1
  64. package/dist/collections/operations/utils.js.map +1 -1
  65. package/dist/config/client.d.ts +4 -4
  66. package/dist/config/client.d.ts.map +1 -1
  67. package/dist/config/client.js.map +1 -1
  68. package/dist/config/find.d.ts.map +1 -1
  69. package/dist/config/find.js +0 -1
  70. package/dist/config/find.js.map +1 -1
  71. package/dist/config/types.d.ts +13 -13
  72. package/dist/config/types.d.ts.map +1 -1
  73. package/dist/config/types.js.map +1 -1
  74. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  75. package/dist/database/createDatabaseAdapter.js +1 -1
  76. package/dist/database/createDatabaseAdapter.js.map +1 -1
  77. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  78. package/dist/database/getLocalizedPaths.js +0 -1
  79. package/dist/database/getLocalizedPaths.js.map +1 -1
  80. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  81. package/dist/database/migrations/createMigration.js +1 -1
  82. package/dist/database/migrations/createMigration.js.map +1 -1
  83. package/dist/database/migrations/migrate.d.ts.map +1 -1
  84. package/dist/database/migrations/migrate.js +2 -2
  85. package/dist/database/migrations/migrate.js.map +1 -1
  86. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  87. package/dist/database/migrations/migrateDown.js +1 -1
  88. package/dist/database/migrations/migrateDown.js.map +1 -1
  89. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  90. package/dist/database/migrations/migrateRefresh.js +1 -1
  91. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  92. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  93. package/dist/database/migrations/migrateReset.js +1 -1
  94. package/dist/database/migrations/migrateReset.js.map +1 -1
  95. package/dist/database/migrations/migrateStatus.js +0 -1
  96. package/dist/database/migrations/migrateStatus.js.map +1 -1
  97. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  98. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  99. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  100. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  101. package/dist/database/queryValidation/validateSearchParams.js +0 -3
  102. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  103. package/dist/database/types.d.ts +6 -6
  104. package/dist/database/types.d.ts.map +1 -1
  105. package/dist/database/types.js.map +1 -1
  106. package/dist/errors/APIError.d.ts.map +1 -1
  107. package/dist/errors/APIError.js +1 -1
  108. package/dist/errors/APIError.js.map +1 -1
  109. package/dist/errors/ReservedFieldName.d.ts +6 -0
  110. package/dist/errors/ReservedFieldName.d.ts.map +1 -0
  111. package/dist/errors/ReservedFieldName.js +8 -0
  112. package/dist/errors/ReservedFieldName.js.map +1 -0
  113. package/dist/errors/index.d.ts +1 -0
  114. package/dist/errors/index.d.ts.map +1 -1
  115. package/dist/errors/index.js +1 -0
  116. package/dist/errors/index.js.map +1 -1
  117. package/dist/exports/shared.d.ts +1 -1
  118. package/dist/exports/shared.d.ts.map +1 -1
  119. package/dist/exports/shared.js +1 -1
  120. package/dist/exports/shared.js.map +1 -1
  121. package/dist/fields/config/client.d.ts +448 -448
  122. package/dist/fields/config/client.d.ts.map +1 -1
  123. package/dist/fields/config/sanitize.d.ts +1 -0
  124. package/dist/fields/config/sanitize.d.ts.map +1 -1
  125. package/dist/fields/config/sanitize.js +11 -1
  126. package/dist/fields/config/sanitize.js.map +1 -1
  127. package/dist/fields/config/sanitize.spec.js +71 -55
  128. package/dist/fields/config/sanitize.spec.js.map +1 -1
  129. package/dist/fields/config/types.d.ts +98 -92
  130. package/dist/fields/config/types.d.ts.map +1 -1
  131. package/dist/fields/config/types.js +1 -1
  132. package/dist/fields/config/types.js.map +1 -1
  133. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  134. package/dist/fields/hooks/afterChange/promise.js +1 -1
  135. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  136. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  137. package/dist/fields/hooks/afterRead/promise.js +1 -1
  138. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  139. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  140. package/dist/fields/hooks/beforeValidate/promise.js +1 -1
  141. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  142. package/dist/fields/validations.d.ts +12 -12
  143. package/dist/fields/validations.d.ts.map +1 -1
  144. package/dist/fields/validations.js +1 -1
  145. package/dist/fields/validations.js.map +1 -1
  146. package/dist/fields/validations.spec.js +15 -15
  147. package/dist/fields/validations.spec.js.map +1 -1
  148. package/dist/globals/config/client.d.ts +4 -4
  149. package/dist/globals/config/client.d.ts.map +1 -1
  150. package/dist/globals/config/client.js.map +1 -1
  151. package/dist/globals/config/sanitize.d.ts.map +1 -1
  152. package/dist/globals/config/sanitize.js +8 -7
  153. package/dist/globals/config/sanitize.js.map +1 -1
  154. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  155. package/dist/globals/operations/findVersionByID.js +1 -1
  156. package/dist/globals/operations/findVersionByID.js.map +1 -1
  157. package/dist/index.d.ts +78 -78
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +60 -59
  160. package/dist/index.js.map +1 -1
  161. package/dist/preferences/types.d.ts +2 -2
  162. package/dist/preferences/types.d.ts.map +1 -1
  163. package/dist/preferences/types.js.map +1 -1
  164. package/dist/types/index.d.ts +1 -1
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/dist/types/index.js.map +1 -1
  167. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  168. package/dist/uploads/deleteAssociatedFiles.js +0 -2
  169. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  170. package/dist/uploads/generateFileData.js +3 -3
  171. package/dist/uploads/generateFileData.js.map +1 -1
  172. package/dist/uploads/getBaseFields.js +2 -2
  173. package/dist/uploads/getBaseFields.js.map +1 -1
  174. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  175. package/dist/uploads/getSafeFilename.js +0 -1
  176. package/dist/uploads/getSafeFilename.js.map +1 -1
  177. package/dist/uploads/types.d.ts +4 -4
  178. package/dist/uploads/types.d.ts.map +1 -1
  179. package/dist/uploads/types.js.map +1 -1
  180. package/dist/utilities/configToJSONSchema.spec.js +37 -37
  181. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  182. package/dist/utilities/convertData.d.ts.map +1 -1
  183. package/dist/utilities/convertData.js +1 -1
  184. package/dist/utilities/convertData.js.map +1 -1
  185. package/dist/utilities/getEntityPolicies.js.map +1 -1
  186. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  187. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  188. package/dist/versions/getLatestGlobalVersion.js +0 -1
  189. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  190. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/strategies/local/resetLoginAttempts.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../../../collections/config/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig\n doc: TypeWithID & Record<string, unknown>\n payload: Payload\n req: PayloadRequest\n}\n\nexport const resetLoginAttempts = async ({\n collection,\n doc,\n payload,\n req,\n}: Args): Promise<void> => {\n if (!('lockUntil' in doc && typeof doc.lockUntil === 'string') || doc.loginAttempts === 0) return\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n lockUntil: null,\n loginAttempts: 0,\n },\n depth: 0,\n overrideAccess: true,\n req,\n })\n}\n"],"names":["resetLoginAttempts","collection","doc","payload","req","lockUntil","loginAttempts","update","id","slug","data","depth","overrideAccess"],"mappings":"AAWA,OAAO,MAAMA,qBAAqB,OAAO,EACvCC,UAAU,EACVC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,IAAI,CAAE,CAAA,eAAeF,OAAO,OAAOA,IAAIG,SAAS,KAAK,QAAO,KAAMH,IAAII,aAAa,KAAK,GAAG;IAC3F,MAAMH,QAAQI,MAAM,CAAC;QACnBC,IAAIN,IAAIM,EAAE;QACVP,YAAYA,WAAWQ,IAAI;QAC3BC,MAAM;YACJL,WAAW;YACXC,eAAe;QACjB;QACAK,OAAO;QACPC,gBAAgB;QAChBR;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/auth/strategies/local/resetLoginAttempts.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../../../collections/config/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig\n doc: Record<string, unknown> & TypeWithID\n payload: Payload\n req: PayloadRequest\n}\n\nexport const resetLoginAttempts = async ({\n collection,\n doc,\n payload,\n req,\n}: Args): Promise<void> => {\n if (!('lockUntil' in doc && typeof doc.lockUntil === 'string') || doc.loginAttempts === 0) return\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n lockUntil: null,\n loginAttempts: 0,\n },\n depth: 0,\n overrideAccess: true,\n req,\n })\n}\n"],"names":["resetLoginAttempts","collection","doc","payload","req","lockUntil","loginAttempts","update","id","slug","data","depth","overrideAccess"],"mappings":"AAWA,OAAO,MAAMA,qBAAqB,OAAO,EACvCC,UAAU,EACVC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,IAAI,CAAE,CAAA,eAAeF,OAAO,OAAOA,IAAIG,SAAS,KAAK,QAAO,KAAMH,IAAII,aAAa,KAAK,GAAG;IAC3F,MAAMH,QAAQI,MAAM,CAAC;QACnBC,IAAIN,IAAIM,EAAE;QACVP,YAAYA,WAAWQ,IAAI;QAC3BC,MAAM;YACJL,WAAW;YACXC,eAAe;QACjB;QACAK,OAAO;QACPC,gBAAgB;QAChBR;IACF;AACF,EAAC"}
@@ -1,5 +1,5 @@
1
1
  import type * as ts from 'typescript';
2
- export declare function compile(sourcecode: string, filename: string, options: ts.CompilerOptions & {
2
+ export declare function compile(sourcecode: string, filename: string, options: {
3
3
  fallbackToTs?: (filename: string) => boolean;
4
- }): Promise<string>;
4
+ } & ts.CompilerOptions): Promise<string>;
5
5
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAyBrC,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,EAAE,CAAC,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GAC7E,OAAO,CAAC,MAAM,CAAC,CAUjB"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAyBrC,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GAAG,EAAE,CAAC,eAAe,GAC7E,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/bin/loader/compile.ts"],"sourcesContent":["import type * as ts from 'typescript'\n\nimport { transform } from '@swc-node/core'\nimport { SourcemapMap } from '@swc-node/sourcemap-support'\n\nimport { tsCompilerOptionsToSwcConfig } from './read-default-tsconfig.js'\n\nconst injectInlineSourceMap = ({\n code,\n filename,\n map,\n}: {\n code: string\n filename: string\n map: string | undefined\n}): string => {\n if (map) {\n SourcemapMap.set(filename, map)\n const base64Map = Buffer.from(map, 'utf8').toString('base64')\n const sourceMapContent = `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`\n return `${code}\\n${sourceMapContent}`\n }\n return code\n}\n\nexport async function compile(\n sourcecode: string,\n filename: string,\n options: ts.CompilerOptions & { fallbackToTs?: (filename: string) => boolean },\n): Promise<string> {\n if (filename.endsWith('.d.ts')) {\n return ''\n }\n\n const swcRegisterConfig = tsCompilerOptionsToSwcConfig(options, filename)\n\n return transform(sourcecode, filename, swcRegisterConfig).then(({ code, map }) => {\n return injectInlineSourceMap({ code, filename, map })\n })\n}\n"],"names":["transform","SourcemapMap","tsCompilerOptionsToSwcConfig","injectInlineSourceMap","code","filename","map","set","base64Map","Buffer","from","toString","sourceMapContent","compile","sourcecode","options","endsWith","swcRegisterConfig","then"],"mappings":"AAEA,SAASA,SAAS,QAAQ,iBAAgB;AAC1C,SAASC,YAAY,QAAQ,8BAA6B;AAE1D,SAASC,4BAA4B,QAAQ,6BAA4B;AAEzE,MAAMC,wBAAwB,CAAC,EAC7BC,IAAI,EACJC,QAAQ,EACRC,GAAG,EAKJ;IACC,IAAIA,KAAK;QACPL,aAAaM,GAAG,CAACF,UAAUC;QAC3B,MAAME,YAAYC,OAAOC,IAAI,CAACJ,KAAK,QAAQK,QAAQ,CAAC;QACpD,MAAMC,mBAAmB,CAAC,gEAAgE,EAAEJ,UAAU,CAAC;QACvG,OAAO,CAAC,EAAEJ,KAAK,EAAE,EAAEQ,iBAAiB,CAAC;IACvC;IACA,OAAOR;AACT;AAEA,OAAO,eAAeS,QACpBC,UAAkB,EAClBT,QAAgB,EAChBU,OAA8E;IAE9E,IAAIV,SAASW,QAAQ,CAAC,UAAU;QAC9B,OAAO;IACT;IAEA,MAAMC,oBAAoBf,6BAA6Ba,SAASV;IAEhE,OAAOL,UAAUc,YAAYT,UAAUY,mBAAmBC,IAAI,CAAC,CAAC,EAAEd,IAAI,EAAEE,GAAG,EAAE;QAC3E,OAAOH,sBAAsB;YAAEC;YAAMC;YAAUC;QAAI;IACrD;AACF"}
1
+ {"version":3,"sources":["../../../src/bin/loader/compile.ts"],"sourcesContent":["import type * as ts from 'typescript'\n\nimport { transform } from '@swc-node/core'\nimport { SourcemapMap } from '@swc-node/sourcemap-support'\n\nimport { tsCompilerOptionsToSwcConfig } from './read-default-tsconfig.js'\n\nconst injectInlineSourceMap = ({\n code,\n filename,\n map,\n}: {\n code: string\n filename: string\n map: string | undefined\n}): string => {\n if (map) {\n SourcemapMap.set(filename, map)\n const base64Map = Buffer.from(map, 'utf8').toString('base64')\n const sourceMapContent = `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`\n return `${code}\\n${sourceMapContent}`\n }\n return code\n}\n\nexport async function compile(\n sourcecode: string,\n filename: string,\n options: { fallbackToTs?: (filename: string) => boolean } & ts.CompilerOptions,\n): Promise<string> {\n if (filename.endsWith('.d.ts')) {\n return ''\n }\n\n const swcRegisterConfig = tsCompilerOptionsToSwcConfig(options, filename)\n\n return transform(sourcecode, filename, swcRegisterConfig).then(({ code, map }) => {\n return injectInlineSourceMap({ code, filename, map })\n })\n}\n"],"names":["transform","SourcemapMap","tsCompilerOptionsToSwcConfig","injectInlineSourceMap","code","filename","map","set","base64Map","Buffer","from","toString","sourceMapContent","compile","sourcecode","options","endsWith","swcRegisterConfig","then"],"mappings":"AAEA,SAASA,SAAS,QAAQ,iBAAgB;AAC1C,SAASC,YAAY,QAAQ,8BAA6B;AAE1D,SAASC,4BAA4B,QAAQ,6BAA4B;AAEzE,MAAMC,wBAAwB,CAAC,EAC7BC,IAAI,EACJC,QAAQ,EACRC,GAAG,EAKJ;IACC,IAAIA,KAAK;QACPL,aAAaM,GAAG,CAACF,UAAUC;QAC3B,MAAME,YAAYC,OAAOC,IAAI,CAACJ,KAAK,QAAQK,QAAQ,CAAC;QACpD,MAAMC,mBAAmB,CAAC,gEAAgE,EAAEJ,UAAU,CAAC;QACvG,OAAO,CAAC,EAAEJ,KAAK,EAAE,EAAEQ,iBAAiB,CAAC;IACvC;IACA,OAAOR;AACT;AAEA,OAAO,eAAeS,QACpBC,UAAkB,EAClBT,QAAgB,EAChBU,OAA8E;IAE9E,IAAIV,SAASW,QAAQ,CAAC,UAAU;QAC9B,OAAO;IACT;IAEA,MAAMC,oBAAoBf,6BAA6Ba,SAASV;IAEhE,OAAOL,UAAUc,YAAYT,UAAUY,mBAAmBC,IAAI,CAAC,CAAC,EAAEd,IAAI,EAAEE,GAAG,EAAE;QAC3E,OAAOH,sBAAsB;YAAEC;YAAMC;YAAUC;QAAI;IACrD;AACF"}
@@ -1,12 +1,12 @@
1
1
  import type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js';
2
2
  export type ServerOnlyCollectionProperties = keyof Pick<SanitizedCollectionConfig, 'access' | 'custom' | 'endpoints' | 'hooks'>;
3
3
  export type ServerOnlyCollectionAdminProperties = keyof Pick<SanitizedCollectionConfig['admin'], 'components' | 'hidden' | 'preview'>;
4
- export type ClientCollectionConfig = Omit<SanitizedCollectionConfig, 'admin' | 'fields' | ServerOnlyCollectionProperties> & {
5
- admin: Omit<SanitizedCollectionConfig['admin'], 'fields' | 'livePreview' | ServerOnlyCollectionAdminProperties> & {
4
+ export type ClientCollectionConfig = {
5
+ admin: {
6
6
  livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>;
7
- };
7
+ } & Omit<SanitizedCollectionConfig['admin'], 'fields' | 'livePreview' | ServerOnlyCollectionAdminProperties>;
8
8
  fields: ClientFieldConfig[];
9
- };
9
+ } & Omit<SanitizedCollectionConfig, 'admin' | 'fields' | ServerOnlyCollectionProperties>;
10
10
  import type { TFunction } from '@payloadcms/translations';
11
11
  import type { ClientFieldConfig } from '../../fields/config/client.js';
12
12
  import type { SanitizedCollectionConfig } from './types.js';
@@ -19,6 +19,17 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
19
19
  fields: import("../../index.js").Field[];
20
20
  upload: import("../../index.js").SanitizedUploadConfig;
21
21
  versions: import("../../versions/types.js").SanitizedCollectionVersions;
22
+ access: {
23
+ admin: ({ req }: {
24
+ req: import("../../index.js").PayloadRequest;
25
+ }) => Promise<boolean> | boolean;
26
+ create: import("../../config/types.js").Access;
27
+ delete: import("../../config/types.js").Access;
28
+ read: import("../../config/types.js").Access;
29
+ readVersions: import("../../config/types.js").Access;
30
+ unlock: import("../../config/types.js").Access;
31
+ update: import("../../config/types.js").Access;
32
+ };
22
33
  admin: {
23
34
  components: {
24
35
  afterList: import("../../config/types.js").CustomComponent[];
@@ -262,6 +273,9 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
262
273
  custom: {
263
274
  [x: string]: any;
264
275
  };
276
+ dbName: import("../../index.js").DBIdentifierName;
277
+ defaultSort: string;
278
+ disableDuplicate: boolean;
265
279
  graphQL: false | {
266
280
  pluralName: string;
267
281
  singularName: string;
@@ -286,23 +300,6 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
286
300
  me: import("./types.js").MeHook[];
287
301
  refresh: import("./types.js").RefreshHook[];
288
302
  };
289
- typescript: {
290
- interface: string;
291
- };
292
- access: {
293
- admin: ({ req }: {
294
- req: import("../../index.js").PayloadRequest;
295
- }) => Promise<boolean> | boolean;
296
- create: import("../../config/types.js").Access;
297
- delete: import("../../config/types.js").Access;
298
- read: import("../../config/types.js").Access;
299
- readVersions: import("../../config/types.js").Access;
300
- unlock: import("../../config/types.js").Access;
301
- update: import("../../config/types.js").Access;
302
- };
303
- dbName: import("../../index.js").DBIdentifierName;
304
- defaultSort: string;
305
- disableDuplicate: boolean;
306
303
  labels: {
307
304
  plural: string | import("../../config/types.js").LabelFunction | {
308
305
  [x: string]: string;
@@ -313,6 +310,9 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
313
310
  };
314
311
  slug: string;
315
312
  timestamps: boolean;
313
+ typescript: {
314
+ interface: string;
315
+ };
316
316
  };
317
317
  export declare const createClientCollectionConfigs: ({ collections, t, }: {
318
318
  collections: SanitizedCollectionConfig[];
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAE/F,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAC5C,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,yBAAyB,EACzB,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CACpD,GAAG;IACF,KAAK,EAAE,IAAI,CACT,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,aAAa,GAAG,mCAAmC,CAC/D,GAAG;QACF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,eAAO,MAAM,4BAA4B,uBAGtC;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,CAAC,EAAE,SAAS,CAAA;CACb;;;;;;;;;;;;;;;;;;;;;;;;kCAVuC,MAAO,aAAY;;;;;;kCAQ5B,CAAC;;;;;;;;;;;;;;;;;;;;wCARe,aAAY;;;;;;kCAQ5B,CAAC;;;;;;;;;;;;;;;;;;;;wCARe,aAAY;;;;;;kCAQ5B,CAAC;;;;;;;;;;;;;;;;;;;;wCARe,aAAY;;;;;;kCAQ5B,CAAC;;;;;;;;;;;;;;;;;;;;wCARe,aAAY;;;;;;kCAQ5B,CAAC;;;;;;;;;;;;;;;;;;;;;wCARe,aAAY;;;;;;kCAQ5B,CAAC;;;;;;;;;;;;;;;;;;;;+BA6EuhK,MAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA9BtjK,CAAC;;4BAChB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBN,CAAA;AAED,eAAO,MAAM,6BAA6B,wBAGvC;IACD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,CAAC,EAAE,SAAS,CAAA;CACb,KAAG,sBAAsB,EACwD,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAE/F,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAC5C,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE;QACL,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,GAAG,IAAI,CACN,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,aAAa,GAAG,mCAAmC,CAC/D,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,GAAG,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CAAC,CAAA;AAExF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,eAAO,MAAM,4BAA4B,uBAGtC;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,CAAC,EAAE,SAAS,CAAA;CACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAV4C,MAAO,aAEhD;;;;;;kCAMiC,CAAC;;;;;;;;;;;;;;;;;;;;wCARc,aAEhD;;;;;;kCAMiC,CAAC;;;;;;;;;;;;;;;;;;;;wCARc,aAEhD;;;;;;kCAMiC,CAAC;;;;;;;;;;;;;;;;;;;;wCARc,aAEhD;;;;;;kCAMiC,CAAC;;;;;;;;;;;;;;;;;;;;wCARc,aAEhD;;;;;;kCAMiC,CAAC;;;;;;;;;;;;;;;;;;;;;wCARc,aAEhD;;;;;;kCAMiC,CAAC;;;;;;;;;;;;;;;;;;;;+BA6EuhK,MAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAhCzjK,CAAC;;4BAEoC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoB7D,CAAA;AAED,eAAO,MAAM,6BAA6B,wBAGvC;IACD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,CAAC,EAAE,SAAS,CAAA;CACb,KAAG,sBAAsB,EACwD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/client.ts"],"sourcesContent":["import type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js'\n\nexport type ServerOnlyCollectionProperties = keyof Pick<\n SanitizedCollectionConfig,\n 'access' | 'custom' | 'endpoints' | 'hooks'\n>\n\nexport type ServerOnlyCollectionAdminProperties = keyof Pick<\n SanitizedCollectionConfig['admin'],\n 'components' | 'hidden' | 'preview'\n>\n\nexport type ClientCollectionConfig = Omit<\n SanitizedCollectionConfig,\n 'admin' | 'fields' | ServerOnlyCollectionProperties\n> & {\n admin: Omit<\n SanitizedCollectionConfig['admin'],\n 'fields' | 'livePreview' | ServerOnlyCollectionAdminProperties\n > & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n fields: ClientFieldConfig[]\n}\n\nimport type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientFieldConfig } from '../../fields/config/client.js'\nimport type { SanitizedCollectionConfig } from './types.js'\n\nimport { createClientFieldConfigs } from '../../fields/config/client.js'\n\nexport const createClientCollectionConfig = ({\n collection,\n t,\n}: {\n collection: SanitizedCollectionConfig\n t: TFunction\n}) => {\n const sanitized = { ...collection }\n sanitized.fields = createClientFieldConfigs({ fields: sanitized.fields, t })\n\n const serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n // `upload`\n // `admin`\n // are all handled separately\n ]\n\n serverOnlyCollectionProperties.forEach((key) => {\n if (key in sanitized) {\n delete sanitized[key]\n }\n })\n\n if ('upload' in sanitized && typeof sanitized.upload === 'object') {\n sanitized.upload = { ...sanitized.upload }\n delete sanitized.upload.handlers\n delete sanitized.upload.adminThumbnail\n delete sanitized.upload.externalFileHeaderFilter\n }\n\n if ('auth' in sanitized && typeof sanitized.auth === 'object') {\n sanitized.auth = { ...sanitized.auth }\n delete sanitized.auth.strategies\n delete sanitized.auth.forgotPassword\n delete sanitized.auth.verify\n }\n\n if (sanitized.labels) {\n Object.entries(sanitized.labels).forEach(([labelType, collectionLabel]) => {\n if (typeof collectionLabel === 'function') {\n sanitized.labels[labelType] = collectionLabel({ t })\n }\n })\n }\n\n if ('admin' in sanitized) {\n sanitized.admin = { ...sanitized.admin }\n\n const serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'components',\n 'hidden',\n 'preview',\n // `livePreview` is handled separately\n ]\n\n serverOnlyCollectionAdminProperties.forEach((key) => {\n if (key in sanitized.admin) {\n delete sanitized.admin[key]\n }\n })\n\n if ('livePreview' in sanitized.admin) {\n sanitized.admin.livePreview = { ...sanitized.admin.livePreview }\n delete sanitized.admin.livePreview.url\n }\n }\n\n return sanitized\n}\n\nexport const createClientCollectionConfigs = ({\n collections,\n t,\n}: {\n collections: SanitizedCollectionConfig[]\n t: TFunction\n}): ClientCollectionConfig[] =>\n collections.map((collection) => createClientCollectionConfig({ collection, t }))\n"],"names":["createClientFieldConfigs","createClientCollectionConfig","collection","t","sanitized","fields","serverOnlyCollectionProperties","forEach","key","upload","handlers","adminThumbnail","externalFileHeaderFilter","auth","strategies","forgotPassword","verify","labels","Object","entries","labelType","collectionLabel","admin","serverOnlyCollectionAdminProperties","livePreview","url","createClientCollectionConfigs","collections","map"],"mappings":"AA8BA,SAASA,wBAAwB,QAAQ,gCAA+B;AAExE,OAAO,MAAMC,+BAA+B,CAAC,EAC3CC,UAAU,EACVC,CAAC,EAIF;IACC,MAAMC,YAAY;QAAE,GAAGF,UAAU;IAAC;IAClCE,UAAUC,MAAM,GAAGL,yBAAyB;QAAEK,QAAQD,UAAUC,MAAM;QAAEF;IAAE;IAE1E,MAAMG,iCAA4E;QAChF;QACA;QACA;QACA;KAID;IAEDA,+BAA+BC,OAAO,CAAC,CAACC;QACtC,IAAIA,OAAOJ,WAAW;YACpB,OAAOA,SAAS,CAACI,IAAI;QACvB;IACF;IAEA,IAAI,YAAYJ,aAAa,OAAOA,UAAUK,MAAM,KAAK,UAAU;QACjEL,UAAUK,MAAM,GAAG;YAAE,GAAGL,UAAUK,MAAM;QAAC;QACzC,OAAOL,UAAUK,MAAM,CAACC,QAAQ;QAChC,OAAON,UAAUK,MAAM,CAACE,cAAc;QACtC,OAAOP,UAAUK,MAAM,CAACG,wBAAwB;IAClD;IAEA,IAAI,UAAUR,aAAa,OAAOA,UAAUS,IAAI,KAAK,UAAU;QAC7DT,UAAUS,IAAI,GAAG;YAAE,GAAGT,UAAUS,IAAI;QAAC;QACrC,OAAOT,UAAUS,IAAI,CAACC,UAAU;QAChC,OAAOV,UAAUS,IAAI,CAACE,cAAc;QACpC,OAAOX,UAAUS,IAAI,CAACG,MAAM;IAC9B;IAEA,IAAIZ,UAAUa,MAAM,EAAE;QACpBC,OAAOC,OAAO,CAACf,UAAUa,MAAM,EAAEV,OAAO,CAAC,CAAC,CAACa,WAAWC,gBAAgB;YACpE,IAAI,OAAOA,oBAAoB,YAAY;gBACzCjB,UAAUa,MAAM,CAACG,UAAU,GAAGC,gBAAgB;oBAAElB;gBAAE;YACpD;QACF;IACF;IAEA,IAAI,WAAWC,WAAW;QACxBA,UAAUkB,KAAK,GAAG;YAAE,GAAGlB,UAAUkB,KAAK;QAAC;QAEvC,MAAMC,sCAAsF;YAC1F;YACA;YACA;SAED;QAEDA,oCAAoChB,OAAO,CAAC,CAACC;YAC3C,IAAIA,OAAOJ,UAAUkB,KAAK,EAAE;gBAC1B,OAAOlB,UAAUkB,KAAK,CAACd,IAAI;YAC7B;QACF;QAEA,IAAI,iBAAiBJ,UAAUkB,KAAK,EAAE;YACpClB,UAAUkB,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGpB,UAAUkB,KAAK,CAACE,WAAW;YAAC;YAC/D,OAAOpB,UAAUkB,KAAK,CAACE,WAAW,CAACC,GAAG;QACxC;IACF;IAEA,OAAOrB;AACT,EAAC;AAED,OAAO,MAAMsB,gCAAgC,CAAC,EAC5CC,WAAW,EACXxB,CAAC,EAIF,GACCwB,YAAYC,GAAG,CAAC,CAAC1B,aAAeD,6BAA6B;YAAEC;YAAYC;QAAE,IAAG"}
1
+ {"version":3,"sources":["../../../src/collections/config/client.ts"],"sourcesContent":["import type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js'\n\nexport type ServerOnlyCollectionProperties = keyof Pick<\n SanitizedCollectionConfig,\n 'access' | 'custom' | 'endpoints' | 'hooks'\n>\n\nexport type ServerOnlyCollectionAdminProperties = keyof Pick<\n SanitizedCollectionConfig['admin'],\n 'components' | 'hidden' | 'preview'\n>\n\nexport type ClientCollectionConfig = {\n admin: {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n } & Omit<\n SanitizedCollectionConfig['admin'],\n 'fields' | 'livePreview' | ServerOnlyCollectionAdminProperties\n >\n fields: ClientFieldConfig[]\n} & Omit<SanitizedCollectionConfig, 'admin' | 'fields' | ServerOnlyCollectionProperties>\n\nimport type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientFieldConfig } from '../../fields/config/client.js'\nimport type { SanitizedCollectionConfig } from './types.js'\n\nimport { createClientFieldConfigs } from '../../fields/config/client.js'\n\nexport const createClientCollectionConfig = ({\n collection,\n t,\n}: {\n collection: SanitizedCollectionConfig\n t: TFunction\n}) => {\n const sanitized = { ...collection }\n sanitized.fields = createClientFieldConfigs({ fields: sanitized.fields, t })\n\n const serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n // `upload`\n // `admin`\n // are all handled separately\n ]\n\n serverOnlyCollectionProperties.forEach((key) => {\n if (key in sanitized) {\n delete sanitized[key]\n }\n })\n\n if ('upload' in sanitized && typeof sanitized.upload === 'object') {\n sanitized.upload = { ...sanitized.upload }\n delete sanitized.upload.handlers\n delete sanitized.upload.adminThumbnail\n delete sanitized.upload.externalFileHeaderFilter\n }\n\n if ('auth' in sanitized && typeof sanitized.auth === 'object') {\n sanitized.auth = { ...sanitized.auth }\n delete sanitized.auth.strategies\n delete sanitized.auth.forgotPassword\n delete sanitized.auth.verify\n }\n\n if (sanitized.labels) {\n Object.entries(sanitized.labels).forEach(([labelType, collectionLabel]) => {\n if (typeof collectionLabel === 'function') {\n sanitized.labels[labelType] = collectionLabel({ t })\n }\n })\n }\n\n if ('admin' in sanitized) {\n sanitized.admin = { ...sanitized.admin }\n\n const serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'components',\n 'hidden',\n 'preview',\n // `livePreview` is handled separately\n ]\n\n serverOnlyCollectionAdminProperties.forEach((key) => {\n if (key in sanitized.admin) {\n delete sanitized.admin[key]\n }\n })\n\n if ('livePreview' in sanitized.admin) {\n sanitized.admin.livePreview = { ...sanitized.admin.livePreview }\n delete sanitized.admin.livePreview.url\n }\n }\n\n return sanitized\n}\n\nexport const createClientCollectionConfigs = ({\n collections,\n t,\n}: {\n collections: SanitizedCollectionConfig[]\n t: TFunction\n}): ClientCollectionConfig[] =>\n collections.map((collection) => createClientCollectionConfig({ collection, t }))\n"],"names":["createClientFieldConfigs","createClientCollectionConfig","collection","t","sanitized","fields","serverOnlyCollectionProperties","forEach","key","upload","handlers","adminThumbnail","externalFileHeaderFilter","auth","strategies","forgotPassword","verify","labels","Object","entries","labelType","collectionLabel","admin","serverOnlyCollectionAdminProperties","livePreview","url","createClientCollectionConfigs","collections","map"],"mappings":"AA2BA,SAASA,wBAAwB,QAAQ,gCAA+B;AAExE,OAAO,MAAMC,+BAA+B,CAAC,EAC3CC,UAAU,EACVC,CAAC,EAIF;IACC,MAAMC,YAAY;QAAE,GAAGF,UAAU;IAAC;IAClCE,UAAUC,MAAM,GAAGL,yBAAyB;QAAEK,QAAQD,UAAUC,MAAM;QAAEF;IAAE;IAE1E,MAAMG,iCAA4E;QAChF;QACA;QACA;QACA;KAID;IAEDA,+BAA+BC,OAAO,CAAC,CAACC;QACtC,IAAIA,OAAOJ,WAAW;YACpB,OAAOA,SAAS,CAACI,IAAI;QACvB;IACF;IAEA,IAAI,YAAYJ,aAAa,OAAOA,UAAUK,MAAM,KAAK,UAAU;QACjEL,UAAUK,MAAM,GAAG;YAAE,GAAGL,UAAUK,MAAM;QAAC;QACzC,OAAOL,UAAUK,MAAM,CAACC,QAAQ;QAChC,OAAON,UAAUK,MAAM,CAACE,cAAc;QACtC,OAAOP,UAAUK,MAAM,CAACG,wBAAwB;IAClD;IAEA,IAAI,UAAUR,aAAa,OAAOA,UAAUS,IAAI,KAAK,UAAU;QAC7DT,UAAUS,IAAI,GAAG;YAAE,GAAGT,UAAUS,IAAI;QAAC;QACrC,OAAOT,UAAUS,IAAI,CAACC,UAAU;QAChC,OAAOV,UAAUS,IAAI,CAACE,cAAc;QACpC,OAAOX,UAAUS,IAAI,CAACG,MAAM;IAC9B;IAEA,IAAIZ,UAAUa,MAAM,EAAE;QACpBC,OAAOC,OAAO,CAACf,UAAUa,MAAM,EAAEV,OAAO,CAAC,CAAC,CAACa,WAAWC,gBAAgB;YACpE,IAAI,OAAOA,oBAAoB,YAAY;gBACzCjB,UAAUa,MAAM,CAACG,UAAU,GAAGC,gBAAgB;oBAAElB;gBAAE;YACpD;QACF;IACF;IAEA,IAAI,WAAWC,WAAW;QACxBA,UAAUkB,KAAK,GAAG;YAAE,GAAGlB,UAAUkB,KAAK;QAAC;QAEvC,MAAMC,sCAAsF;YAC1F;YACA;YACA;SAED;QAEDA,oCAAoChB,OAAO,CAAC,CAACC;YAC3C,IAAIA,OAAOJ,UAAUkB,KAAK,EAAE;gBAC1B,OAAOlB,UAAUkB,KAAK,CAACd,IAAI;YAC7B;QACF;QAEA,IAAI,iBAAiBJ,UAAUkB,KAAK,EAAE;YACpClB,UAAUkB,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGpB,UAAUkB,KAAK,CAACE,WAAW;YAAC;YAC/D,OAAOpB,UAAUkB,KAAK,CAACE,WAAW,CAACC,GAAG;QACxC;IACF;IAEA,OAAOrB;AACT,EAAC;AAED,OAAO,MAAMsB,gCAAgC,CAAC,EAC5CC,WAAW,EACXxB,CAAC,EAIF,GACCwB,YAAYC,GAAG,CAAC,CAAC1B,aAAeD,6BAA6B;YAAEC;YAAYC;QAAE,IAAG"}
@@ -24,6 +24,16 @@ export const sanitizeCollection = async (config, collection, /**
24
24
  const sanitized = merge(defaults, collection, {
25
25
  isMergeableObject: isPlainObject
26
26
  });
27
+ // /////////////////////////////////
28
+ // Sanitize fields
29
+ // /////////////////////////////////
30
+ const validRelationships = config.collections.map((c)=>c.slug) || [];
31
+ sanitized.fields = await sanitizeFields({
32
+ config,
33
+ fields: sanitized.fields,
34
+ richTextSanitizationPromises,
35
+ validRelationships
36
+ });
27
37
  if (sanitized.timestamps !== false) {
28
38
  // add default timestamps fields only as needed
29
39
  let hasUpdatedAt = null;
@@ -125,16 +135,6 @@ export const sanitizeCollection = async (config, collection, /**
125
135
  }
126
136
  sanitized.fields = mergeBaseFields(sanitized.fields, authFields);
127
137
  }
128
- // /////////////////////////////////
129
- // Sanitize fields
130
- // /////////////////////////////////
131
- const validRelationships = config.collections.map((c)=>c.slug) || [];
132
- sanitized.fields = await sanitizeFields({
133
- config,
134
- fields: sanitized.fields,
135
- richTextSanitizationPromises,
136
- validRelationships
137
- });
138
138
  return sanitized;
139
139
  };
140
140
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseLoginField from '../../auth/baseFields/loginField.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport { TimestampsRequired } from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { versionDefaults } from '../../versions/defaults.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nexport const sanitizeCollection = async (\n config: Config,\n collection: CollectionConfig,\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>,\n): Promise<SanitizedCollectionConfig> => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: ({ t }) => t('general:updatedAt'),\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n validate: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: versionDefaults.autosaveInterval,\n }\n }\n\n if (sanitized.versions.drafts.validate === undefined) {\n sanitized.versions.drafts.validate = false\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n const loginField = sanitized.auth.loginWithUsername ? 'username' : 'email'\n\n authFields = authFields.concat(baseLoginField(loginField))\n\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = await sanitizeFields({\n config,\n fields: sanitized.fields,\n richTextSanitizationPromises,\n validRelationships,\n })\n\n return sanitized as SanitizedCollectionConfig\n}\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseLoginField","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","versionDefaults","authDefaults","defaults","sanitizeCollection","config","collection","richTextSanitizationPromises","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","t","index","labels","slug","versions","drafts","autosave","validate","interval","autosaveInterval","undefined","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","loginField","loginWithUsername","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseLoginField from '../../auth/baseFields/loginField.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport { TimestampsRequired } from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { versionDefaults } from '../../versions/defaults.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nexport const sanitizeCollection = async (\n config: Config,\n collection: CollectionConfig,\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>,\n): Promise<SanitizedCollectionConfig> => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = await sanitizeFields({\n config,\n fields: sanitized.fields,\n richTextSanitizationPromises,\n validRelationships,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: ({ t }) => t('general:updatedAt'),\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n validate: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: versionDefaults.autosaveInterval,\n }\n }\n\n if (sanitized.versions.drafts.validate === undefined) {\n sanitized.versions.drafts.validate = false\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n const loginField = sanitized.auth.loginWithUsername ? 'username' : 'email'\n\n authFields = authFields.concat(baseLoginField(loginField))\n\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n return sanitized as SanitizedCollectionConfig\n}\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseLoginField","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","versionDefaults","authDefaults","defaults","sanitizeCollection","config","collection","richTextSanitizationPromises","sanitized","isMergeableObject","validRelationships","collections","map","c","slug","fields","timestamps","hasUpdatedAt","hasCreatedAt","some","field","name","push","type","admin","disableBulkEdit","hidden","label","t","index","labels","versions","drafts","autosave","validate","interval","autosaveInterval","undefined","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","loginField","loginWithUsername","verify","maxLoginAttempts","strategies"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/delete.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAuB,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAejG,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,KAAK,SAAS,cAAc,gBAClD,SAAS,KACtB,OAAO,CAAC;IACT,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAA;IACrC,MAAM,EAAE;QACN,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACJ,CA0OA,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/delete.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAuB,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAejG,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,KAAK,SAAS,cAAc,gBAClD,SAAS,KACtB,OAAO,CAAC;IACT,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAA;IACrC,MAAM,EAAE;QACN,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACJ,CAyOA,CAAA"}
@@ -58,7 +58,7 @@ export const deleteOperation = async (incomingArgs)=>{
58
58
  where: fullWhere
59
59
  });
60
60
  const errors = [];
61
- /* eslint-disable no-param-reassign */ const promises = docs.map(async (doc)=>{
61
+ const promises = docs.map(async (doc)=>{
62
62
  let result;
63
63
  const { id } = doc;
64
64
  try {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug, GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection, DataFromCollectionSlug } 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 { APIError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const deleteOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<{\n docs: DataFromCollectionSlug<TSlug>[]\n errors: {\n id: DataFromCollectionSlug<TSlug>['id']\n message: string\n }[]\n}> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.delete)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResult)\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale,\n req,\n where: fullWhere,\n })\n\n const errors = []\n\n /* eslint-disable no-param-reassign */\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n try {\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n equals: id,\n },\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 || doc,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id: doc.id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map(({ id }) => id),\n payload,\n req,\n })\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'delete',\n result,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","accessResult","access","delete","fullWhere","docs","db","find","slug","errors","promises","map","doc","result","id","beforeDelete","overrideDelete","versions","deleteOne","equals","draft","undefined","global","afterDelete","error","push","message","awaitedDocs","all","ids","filter","Boolean"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug, GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection, DataFromCollectionSlug } 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 { APIError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const deleteOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<{\n docs: DataFromCollectionSlug<TSlug>[]\n errors: {\n id: DataFromCollectionSlug<TSlug>['id']\n message: string\n }[]\n}> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.delete)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResult)\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale,\n req,\n where: fullWhere,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n try {\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n equals: id,\n },\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 || doc,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id: doc.id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map(({ id }) => id),\n payload,\n req,\n })\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'delete',\n result,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","accessResult","access","delete","fullWhere","docs","db","find","slug","errors","promises","map","doc","result","id","beforeDelete","overrideDelete","versions","deleteOne","equals","draft","undefined","global","afterDelete","error","push","message","awaitedDocs","all","ids","filter","Boolean"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findByID.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAY5E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,KAAK,SAAS,cAAc,gBACpD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAkKvC,CAAA"}
1
+ {"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAY5E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,KAAK,SAAS,cAAc,gBACpD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAkKvC,CAAA"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-underscore-dangle */ import executeAccess from '../../auth/executeAccess.js';
1
+ import executeAccess from '../../auth/executeAccess.js';
2
2
  import { combineQueries } from '../../database/combineQueries.js';
3
3
  import { NotFound } from '../../errors/index.js';
4
4
  import { afterRead } from '../../fields/hooks/afterRead/index.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/findByID.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { NotFound } from '../../errors/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'\nimport replaceWithDraftIfAvailable from '../../versions/drafts/replaceWithDraftIfAvailable.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'read',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n draft: draftEnabled = false,\n overrideAccess = false,\n req: { fallbackLocale, locale, t },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResult = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.read)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResult === false) return null\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req: {\n transactionID: req.transactionID,\n } as PayloadRequest,\n where: combineQueries({ id: { equals: id } }, accessResult),\n }\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n if (!findOneArgs.where.and[0].id) throw new NotFound(t)\n\n let result: DataFromCollectionSlug<TSlug> = await req.payload.db.findOne(findOneArgs)\n\n if (!result) {\n if (!disableErrors) {\n throw new NotFound(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // Replace document with draft if available\n // /////////////////////////////////////\n\n if (collectionConfig.versions?.drafts && draftEnabled) {\n result = await replaceWithDraftIfAvailable({\n accessResult,\n doc: result,\n entity: collectionConfig,\n entityType: 'collection',\n overrideAccess,\n req,\n })\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result,\n draft: draftEnabled,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'findByID',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","NotFound","afterRead","commitTransaction","initTransaction","killTransaction","replaceWithDraftIfAvailable","buildAfterOperation","findByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","collectionConfig","currentDepth","depth","disableErrors","draft","draftEnabled","overrideAccess","fallbackLocale","locale","t","showHiddenFields","accessResult","access","read","findOneArgs","slug","transactionID","where","equals","and","result","payload","db","findOne","versions","drafts","doc","entity","entityType","beforeRead","query","global","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/findByID.ts"],"sourcesContent":["import type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { NotFound } from '../../errors/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'\nimport replaceWithDraftIfAvailable from '../../versions/drafts/replaceWithDraftIfAvailable.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'read',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n draft: draftEnabled = false,\n overrideAccess = false,\n req: { fallbackLocale, locale, t },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResult = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.read)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResult === false) return null\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req: {\n transactionID: req.transactionID,\n } as PayloadRequest,\n where: combineQueries({ id: { equals: id } }, accessResult),\n }\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n if (!findOneArgs.where.and[0].id) throw new NotFound(t)\n\n let result: DataFromCollectionSlug<TSlug> = await req.payload.db.findOne(findOneArgs)\n\n if (!result) {\n if (!disableErrors) {\n throw new NotFound(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // Replace document with draft if available\n // /////////////////////////////////////\n\n if (collectionConfig.versions?.drafts && draftEnabled) {\n result = await replaceWithDraftIfAvailable({\n accessResult,\n doc: result,\n entity: collectionConfig,\n entityType: 'collection',\n overrideAccess,\n req,\n })\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result,\n draft: draftEnabled,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'findByID',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","NotFound","afterRead","commitTransaction","initTransaction","killTransaction","replaceWithDraftIfAvailable","buildAfterOperation","findByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","collectionConfig","currentDepth","depth","disableErrors","draft","draftEnabled","overrideAccess","fallbackLocale","locale","t","showHiddenFields","accessResult","access","read","findOneArgs","slug","transactionID","where","equals","and","result","payload","db","findOne","versions","drafts","doc","entity","entityType","beforeRead","query","global","error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"findVersionByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findVersionByID.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAUhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,KAAK,SAAS,UAAU,cAC/D,SAAS,KACd,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CA2HhC,CAAA"}
1
+ {"version":3,"file":"findVersionByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findVersionByID.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAUhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,KAAK,SAAS,UAAU,cAC/D,SAAS,KACd,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CA2HhC,CAAA"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-underscore-dangle */ import httpStatus from 'http-status';
1
+ import httpStatus from 'http-status';
2
2
  import executeAccess from '../../auth/executeAccess.js';
3
3
  import { combineQueries } from '../../database/combineQueries.js';
4
4
  import { APIError, Forbidden, NotFound } from '../../errors/index.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/findVersionByID.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport httpStatus from 'http-status'\n\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/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 collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findVersionByIDOperation = async <TData extends TypeWithID = any>(\n args: Arguments,\n): Promise<TypeWithVersion<TData>> => {\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n overrideAccess,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of version.', httpStatus.BAD_REQUEST)\n }\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.readVersions)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResults === false) return null\n\n const hasWhereAccess = typeof accessResults === 'object'\n\n const fullWhere = combineQueries({ id: { equals: id } }, accessResults)\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n const versionsQuery = await payload.db.findVersions<TData>({\n collection: collectionConfig.slug,\n limit: 1,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n const result = versionsQuery.docs[0]\n\n if (!result) {\n if (!disableErrors) {\n if (!hasWhereAccess) throw new NotFound(req.t)\n if (hasWhereAccess) throw new Forbidden(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result.version,\n query: fullWhere,\n req,\n })) || result.version\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result.version = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result.version,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result.version,\n query: fullWhere,\n req,\n })) || result.version\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Return results\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":["httpStatus","executeAccess","combineQueries","APIError","Forbidden","NotFound","afterRead","commitTransaction","initTransaction","killTransaction","findVersionByIDOperation","args","id","collection","config","collectionConfig","currentDepth","depth","disableErrors","overrideAccess","req","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","shouldCommit","accessResults","access","readVersions","hasWhereAccess","fullWhere","equals","versionsQuery","db","findVersions","slug","limit","pagination","where","result","docs","t","hooks","beforeRead","reduce","priorHook","hook","version","context","doc","query","Promise","resolve","draft","undefined","global","error"],"mappings":"AAAA,uCAAuC,GACvC,OAAOA,gBAAgB,cAAa;AAMpC,OAAOC,mBAAmB,8BAA6B;AACvD,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,wBAAuB;AACrE,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AAapE,OAAO,MAAMC,2BAA2B,OACtCC;IAEA,MAAM,EACJC,EAAE,EACFC,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCC,YAAY,EACZC,KAAK,EACLC,aAAa,EACbC,cAAc,EACdC,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,OAAO,EAAE,EACxCH,GAAG,EACHI,gBAAgB,EACjB,GAAGb;IAEJ,IAAI,CAACC,IAAI;QACP,MAAM,IAAIT,SAAS,0BAA0BH,WAAWyB,WAAW;IACrE;IAEA,IAAI;QACF,MAAMC,eAAe,MAAMlB,gBAAgBY;QAE3C,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,MAAMO,gBAAgB,CAACR,iBACnB,MAAMlB,cAAc;YAAEW;YAAIM;YAAeE;QAAI,GAAGL,iBAAiBa,MAAM,CAACC,YAAY,IACpF;QAEJ,gEAAgE;QAChE,IAAIF,kBAAkB,OAAO,OAAO;QAEpC,MAAMG,iBAAiB,OAAOH,kBAAkB;QAEhD,MAAMI,YAAY7B,eAAe;YAAEU,IAAI;gBAAEoB,QAAQpB;YAAG;QAAE,GAAGe;QAEzD,wCAAwC;QACxC,aAAa;QACb,wCAAwC;QAExC,MAAMM,gBAAgB,MAAMV,QAAQW,EAAE,CAACC,YAAY,CAAQ;YACzDtB,YAAYE,iBAAiBqB,IAAI;YACjCC,OAAO;YACPf;YACAgB,YAAY;YACZlB;YACAmB,OAAOR;QACT;QAEA,MAAMS,SAASP,cAAcQ,IAAI,CAAC,EAAE;QAEpC,IAAI,CAACD,QAAQ;YACX,IAAI,CAACtB,eAAe;gBAClB,IAAI,CAACY,gBAAgB,MAAM,IAAIzB,SAASe,IAAIsB,CAAC;gBAC7C,IAAIZ,gBAAgB,MAAM,IAAI1B,UAAUgB,IAAIsB,CAAC;YAC/C;YAEA,OAAO;QACT;QAEA,wCAAwC;QACxC,0BAA0B;QAC1B,wCAAwC;QAExC,MAAM3B,iBAAiB4B,KAAK,CAACC,UAAU,CAACC,MAAM,CAAC,OAAOC,WAAWC;YAC/D,MAAMD;YAENN,OAAOQ,OAAO,GACZ,AAAC,MAAMD,KAAK;gBACVlC,YAAYE;gBACZkC,SAAS7B,IAAI6B,OAAO;gBACpBC,KAAKV,OAAOQ,OAAO;gBACnBG,OAAOpB;gBACPX;YACF,MAAOoB,OAAOQ,OAAO;QACzB,GAAGI,QAAQC,OAAO;QAElB,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExCb,OAAOQ,OAAO,GAAG,MAAM1C,UAAU;YAC/BO,YAAYE;YACZkC,SAAS7B,IAAI6B,OAAO;YACpBjC;YACAC;YACAiC,KAAKV,OAAOQ,OAAO;YACnBM,OAAOC;YACPlC;YACAmC,QAAQ;YACRlC;YACAH;YACAC;YACAI;QACF;QAEA,wCAAwC;QACxC,yBAAyB;QACzB,wCAAwC;QAExC,MAAMT,iBAAiB4B,KAAK,CAACrC,SAAS,CAACuC,MAAM,CAAC,OAAOC,WAAWC;YAC9D,MAAMD;YAENN,OAAOQ,OAAO,GACZ,AAAC,MAAMD,KAAK;gBACVlC,YAAYE;gBACZkC,SAAS7B,IAAI6B,OAAO;gBACpBC,KAAKV,OAAOQ,OAAO;gBACnBG,OAAOpB;gBACPX;YACF,MAAOoB,OAAOQ,OAAO;QACzB,GAAGI,QAAQC,OAAO;QAElB,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAI3B,cAAc,MAAMnB,kBAAkBa;QAE1C,OAAOoB;IACT,EAAE,OAAOiB,OAAgB;QACvB,MAAMhD,gBAAgBW;QACtB,MAAMqC;IACR;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/operations/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/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 collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findVersionByIDOperation = async <TData extends TypeWithID = any>(\n args: Arguments,\n): Promise<TypeWithVersion<TData>> => {\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n overrideAccess,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of version.', httpStatus.BAD_REQUEST)\n }\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.readVersions)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResults === false) return null\n\n const hasWhereAccess = typeof accessResults === 'object'\n\n const fullWhere = combineQueries({ id: { equals: id } }, accessResults)\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n const versionsQuery = await payload.db.findVersions<TData>({\n collection: collectionConfig.slug,\n limit: 1,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n const result = versionsQuery.docs[0]\n\n if (!result) {\n if (!disableErrors) {\n if (!hasWhereAccess) throw new NotFound(req.t)\n if (hasWhereAccess) throw new Forbidden(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result.version,\n query: fullWhere,\n req,\n })) || result.version\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result.version = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result.version,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result.version,\n query: fullWhere,\n req,\n })) || result.version\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Return results\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":["httpStatus","executeAccess","combineQueries","APIError","Forbidden","NotFound","afterRead","commitTransaction","initTransaction","killTransaction","findVersionByIDOperation","args","id","collection","config","collectionConfig","currentDepth","depth","disableErrors","overrideAccess","req","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","shouldCommit","accessResults","access","readVersions","hasWhereAccess","fullWhere","equals","versionsQuery","db","findVersions","slug","limit","pagination","where","result","docs","t","hooks","beforeRead","reduce","priorHook","hook","version","context","doc","query","Promise","resolve","draft","undefined","global","error"],"mappings":"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"}
@@ -15,14 +15,14 @@ export type BaseOptions<TSlug extends CollectionSlug> = {
15
15
  showHiddenFields?: boolean;
16
16
  user?: Document;
17
17
  };
18
- export type ByIDOptions<TSlug extends CollectionSlug> = BaseOptions<TSlug> & {
18
+ export type ByIDOptions<TSlug extends CollectionSlug> = {
19
19
  id: number | string;
20
20
  where?: never;
21
- };
22
- export type ManyOptions<TSlug extends CollectionSlug> = BaseOptions<TSlug> & {
21
+ } & BaseOptions<TSlug>;
22
+ export type ManyOptions<TSlug extends CollectionSlug> = {
23
23
  id?: never;
24
24
  where: Where;
25
- };
25
+ } & BaseOptions<TSlug>;
26
26
  export type Options<TSlug extends CollectionSlug> = ByIDOptions<TSlug> | ManyOptions<TSlug>;
27
27
  declare function deleteLocal<TSlug extends CollectionSlug>(payload: Payload, options: ByIDOptions<TSlug>): Promise<DataFromCollectionSlug<TSlug>>;
28
28
  declare function deleteLocal<TSlug extends CollectionSlug>(payload: Payload, options: ManyOptions<TSlug>): Promise<BulkOperationResult<TSlug>>;
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAOxF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG;IAC3E,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG;IAC3E,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAE3F,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;AACzC,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;AAsCtE,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAOxF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,cAAc,IAAI;IACtD,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAE3F,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;AACzC,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,iBAAe,WAAW,CAAC,KAAK,SAAS,cAAc,EACrD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;AAsCtE,eAAe,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/operations/local/delete.ts"],"sourcesContent":["import type { CollectionSlug, Payload, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext, Where } from '../../../types/index.js'\nimport type { BulkOperationResult, DataFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { deleteOperation } from '../delete.js'\nimport { deleteByIDOperation } from '../deleteByID.js'\n\nexport type BaseOptions<TSlug extends CollectionSlug> = {\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n depth?: number\n fallbackLocale?: TypedLocale\n locale?: TypedLocale\n overrideAccess?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<TSlug extends CollectionSlug> = BaseOptions<TSlug> & {\n id: number | string\n where?: never\n}\n\nexport type ManyOptions<TSlug extends CollectionSlug> = BaseOptions<TSlug> & {\n id?: never\n where: Where\n}\n\nexport type Options<TSlug extends CollectionSlug> = ByIDOptions<TSlug> | ManyOptions<TSlug>\n\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: ByIDOptions<TSlug>,\n): Promise<DataFromCollectionSlug<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: ManyOptions<TSlug>,\n): Promise<BulkOperationResult<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | DataFromCollectionSlug<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | DataFromCollectionSlug<TSlug>> {\n const {\n id,\n collection: collectionSlug,\n depth,\n overrideAccess = true,\n showHiddenFields,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Delete Operation.`,\n )\n }\n\n const args = {\n id,\n collection,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return deleteByIDOperation<TSlug>(args)\n }\n return deleteOperation<TSlug>(args)\n}\n\nexport default deleteLocal\n"],"names":["APIError","createLocalReq","deleteOperation","deleteByIDOperation","deleteLocal","payload","options","id","collection","collectionSlug","depth","overrideAccess","showHiddenFields","where","collections","String","args","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;AAyCtD,eAAeC,YACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EAChBC,KAAK,EACN,GAAGP;IAEJ,MAAME,aAAaH,QAAQS,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIR,SACR,CAAC,yBAAyB,EAAEe,OAAON,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMO,OAAO;QACXT;QACAC;QACAE;QACAC;QACAM,KAAK,MAAMhB,eAAeK,SAASD;QACnCO;QACAC;IACF;IAEA,IAAIP,QAAQC,EAAE,EAAE;QACd,OAAOJ,oBAA2Ba;IACpC;IACA,OAAOd,gBAAuBc;AAChC;AAEA,eAAeZ,YAAW"}
1
+ {"version":3,"sources":["../../../../src/collections/operations/local/delete.ts"],"sourcesContent":["import type { CollectionSlug, Payload, TypedLocale } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext, Where } from '../../../types/index.js'\nimport type { BulkOperationResult, DataFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { deleteOperation } from '../delete.js'\nimport { deleteByIDOperation } from '../deleteByID.js'\n\nexport type BaseOptions<TSlug extends CollectionSlug> = {\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n depth?: number\n fallbackLocale?: TypedLocale\n locale?: TypedLocale\n overrideAccess?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<TSlug extends CollectionSlug> = {\n id: number | string\n where?: never\n} & BaseOptions<TSlug>\n\nexport type ManyOptions<TSlug extends CollectionSlug> = {\n id?: never\n where: Where\n} & BaseOptions<TSlug>\n\nexport type Options<TSlug extends CollectionSlug> = ByIDOptions<TSlug> | ManyOptions<TSlug>\n\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: ByIDOptions<TSlug>,\n): Promise<DataFromCollectionSlug<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: ManyOptions<TSlug>,\n): Promise<BulkOperationResult<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | DataFromCollectionSlug<TSlug>>\nasync function deleteLocal<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | DataFromCollectionSlug<TSlug>> {\n const {\n id,\n collection: collectionSlug,\n depth,\n overrideAccess = true,\n showHiddenFields,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Delete Operation.`,\n )\n }\n\n const args = {\n id,\n collection,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return deleteByIDOperation<TSlug>(args)\n }\n return deleteOperation<TSlug>(args)\n}\n\nexport default deleteLocal\n"],"names":["APIError","createLocalReq","deleteOperation","deleteByIDOperation","deleteLocal","payload","options","id","collection","collectionSlug","depth","overrideAccess","showHiddenFields","where","collections","String","args","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;AAyCtD,eAAeC,YACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EAChBC,KAAK,EACN,GAAGP;IAEJ,MAAME,aAAaH,QAAQS,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIR,SACR,CAAC,yBAAyB,EAAEe,OAAON,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMO,OAAO;QACXT;QACAC;QACAE;QACAC;QACAM,KAAK,MAAMhB,eAAeK,SAASD;QACnCO;QACAC;IACF;IAEA,IAAIP,QAAQC,EAAE,EAAE;QACd,OAAOJ,oBAA2Ba;IACpC;IACA,OAAOd,gBAAuBc;AAChC;AAEA,eAAeZ,YAAW"}
@@ -23,14 +23,14 @@ export type BaseOptions<TSlug extends CollectionSlug> = {
23
23
  showHiddenFields?: boolean;
24
24
  user?: Document;
25
25
  };
26
- export type ByIDOptions<TSlug extends CollectionSlug> = BaseOptions<TSlug> & {
26
+ export type ByIDOptions<TSlug extends CollectionSlug> = {
27
27
  id: number | string;
28
28
  where?: never;
29
- };
30
- export type ManyOptions<TSlug extends CollectionSlug> = BaseOptions<TSlug> & {
29
+ } & BaseOptions<TSlug>;
30
+ export type ManyOptions<TSlug extends CollectionSlug> = {
31
31
  id?: never;
32
32
  where: Where;
33
- };
33
+ } & BaseOptions<TSlug>;
34
34
  export type Options<TSlug extends CollectionSlug> = ByIDOptions<TSlug> | ManyOptions<TSlug>;
35
35
  declare function updateLocal<TSlug extends CollectionSlug>(payload: Payload, options: ByIDOptions<TSlug>): Promise<DataFromCollectionSlug<TSlug>>;
36
36
  declare function updateLocal<TSlug extends CollectionSlug>(payload: Payload, options: ManyOptions<TSlug>): Promise<BulkOperationResult<TSlug>>;