payload 3.75.0-internal.30a8241 → 3.75.0-internal.836af83

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.
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/delete.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EAEV,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAwB3B,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,KAAK,CAAA;CACb,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;AAEnD,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gBAEjC,SAAS,KACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAqW7C,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/delete.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EAEV,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAuB3B,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,KAAK,CAAA;CACb,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;AAEnD,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gBAEjC,SAAS,KACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAqT7C,CAAA"}
@@ -13,7 +13,6 @@ import { commitTransaction } from '../../utilities/commitTransaction.js';
13
13
  import { hasScheduledPublishEnabled } from '../../utilities/getVersionsConfig.js';
14
14
  import { initTransaction } from '../../utilities/initTransaction.js';
15
15
  import { isErrorPublic } from '../../utilities/isErrorPublic.js';
16
- import { isolateObjectProperty } from '../../utilities/isolateObjectProperty.js';
17
16
  import { killTransaction } from '../../utilities/killTransaction.js';
18
17
  import { sanitizeSelect } from '../../utilities/sanitizeSelect.js';
19
18
  import { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js';
@@ -22,7 +21,6 @@ import { buildAfterOperation } from './utilities/buildAfterOperation.js';
22
21
  import { buildBeforeOperation } from './utilities/buildBeforeOperation.js';
23
22
  export const deleteOperation = async (incomingArgs)=>{
24
23
  let args = incomingArgs;
25
- const useSeparateTransactions = args.req.payload.db.bulkOperationsSingleTransaction && !args.disableTransaction;
26
24
  try {
27
25
  const shouldCommit = !args.disableTransaction && await initTransaction(args.req);
28
26
  // /////////////////////////////////////
@@ -81,20 +79,15 @@ export const deleteOperation = async (incomingArgs)=>{
81
79
  where: fullWhere
82
80
  });
83
81
  const errors = [];
84
- // Track all doc requests that have open transactions (for separate transaction mode)
85
- const docReqsWithTransactions = [];
86
82
  const promises = docs.map(async (doc)=>{
87
83
  let result;
88
84
  const { id } = doc;
89
- // When using separate transactions, isolate the transactionID so each doc gets its own
90
- let docReq = req;
91
- if (useSeparateTransactions) {
92
- docReq = isolateObjectProperty(req, 'transactionID');
93
- delete docReq.transactionID;
94
- await initTransaction(docReq);
95
- docReqsWithTransactions.push(docReq);
96
- }
97
85
  try {
86
+ // Each document gets its own transaction when singleTransaction is enabled
87
+ let docShouldCommit = false;
88
+ if (req.payload.db.bulkOperationsSingleTransaction) {
89
+ docShouldCommit = await initTransaction(req);
90
+ }
98
91
  // /////////////////////////////////////
99
92
  // Handle potentially locked documents
100
93
  // /////////////////////////////////////
@@ -103,7 +96,7 @@ export const deleteOperation = async (incomingArgs)=>{
103
96
  collectionSlug: collectionConfig.slug,
104
97
  lockErrorMessage: `Document with ID ${id} is currently locked and cannot be deleted.`,
105
98
  overrideLock,
106
- req: docReq
99
+ req
107
100
  });
108
101
  // /////////////////////////////////////
109
102
  // beforeDelete - Collection
@@ -113,8 +106,8 @@ export const deleteOperation = async (incomingArgs)=>{
113
106
  await hook({
114
107
  id,
115
108
  collection: collectionConfig,
116
- context: docReq.context,
117
- req: docReq
109
+ context: req.context,
110
+ req
118
111
  });
119
112
  }
120
113
  }
@@ -123,7 +116,7 @@ export const deleteOperation = async (incomingArgs)=>{
123
116
  config,
124
117
  doc,
125
118
  overrideDelete: true,
126
- req: docReq
119
+ req
127
120
  });
128
121
  // /////////////////////////////////////
129
122
  // Delete versions
@@ -133,7 +126,7 @@ export const deleteOperation = async (incomingArgs)=>{
133
126
  id,
134
127
  slug: collectionConfig.slug,
135
128
  payload,
136
- req: docReq
129
+ req
137
130
  });
138
131
  }
139
132
  // /////////////////////////////////////
@@ -144,7 +137,7 @@ export const deleteOperation = async (incomingArgs)=>{
144
137
  id,
145
138
  slug: collectionConfig.slug,
146
139
  payload,
147
- req: docReq
140
+ req
148
141
  });
149
142
  }
150
143
  // /////////////////////////////////////
@@ -152,7 +145,7 @@ export const deleteOperation = async (incomingArgs)=>{
152
145
  // /////////////////////////////////////
153
146
  await payload.db.deleteOne({
154
147
  collection: collectionConfig.slug,
155
- req: docReq,
148
+ req,
156
149
  returning: false,
157
150
  where: {
158
151
  id: {
@@ -165,7 +158,7 @@ export const deleteOperation = async (incomingArgs)=>{
165
158
  // /////////////////////////////////////
166
159
  result = await afterRead({
167
160
  collection: collectionConfig,
168
- context: docReq.context,
161
+ context: req.context,
169
162
  depth: depth,
170
163
  doc: result || doc,
171
164
  // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
@@ -175,7 +168,7 @@ export const deleteOperation = async (incomingArgs)=>{
175
168
  locale: locale,
176
169
  overrideAccess: overrideAccess,
177
170
  populate,
178
- req: docReq,
171
+ req,
179
172
  select,
180
173
  showHiddenFields: showHiddenFields
181
174
  });
@@ -195,10 +188,10 @@ export const deleteOperation = async (incomingArgs)=>{
195
188
  for (const hook of collectionConfig.hooks.afterRead){
196
189
  result = await hook({
197
190
  collection: collectionConfig,
198
- context: docReq.context,
191
+ context: req.context,
199
192
  doc: result || doc,
200
193
  overrideAccess,
201
- req: docReq
194
+ req
202
195
  }) || result;
203
196
  }
204
197
  }
@@ -210,20 +203,24 @@ export const deleteOperation = async (incomingArgs)=>{
210
203
  result = await hook({
211
204
  id,
212
205
  collection: collectionConfig,
213
- context: docReq.context,
206
+ context: req.context,
214
207
  doc: result,
215
- req: docReq
208
+ req
216
209
  }) || result;
217
210
  }
218
211
  }
219
- // Don't commit here - wait until all docs complete successfully
212
+ // /////////////////////////////////////
213
+ // 8. Return results
214
+ // /////////////////////////////////////
215
+ if (docShouldCommit) {
216
+ await commitTransaction(req);
217
+ }
220
218
  return result;
221
219
  } catch (error) {
222
- docReq.payload.logger.error({
223
- err: error,
224
- msg: `Error deleting document ${id}`
225
- });
226
220
  const isPublic = error instanceof Error ? isErrorPublic(error, config) : false;
221
+ if (req.payload.db.bulkOperationsSingleTransaction) {
222
+ await killTransaction(req);
223
+ }
227
224
  errors.push({
228
225
  id: doc.id,
229
226
  isPublic,
@@ -232,64 +229,26 @@ export const deleteOperation = async (incomingArgs)=>{
232
229
  }
233
230
  return null;
234
231
  });
235
- const awaitedDocs = await Promise.all(promises);
236
- // Handle errors
237
- if (errors.length > 0) {
238
- // Kill any active transactions and track if any were rolled back
239
- let anyTransactionRolledBack = false;
240
- if (useSeparateTransactions) {
241
- for (const docReq of docReqsWithTransactions){
242
- const rolledBack = await killTransaction(docReq);
243
- if (rolledBack) {
244
- anyTransactionRolledBack = true;
245
- }
246
- }
247
- }
248
- const mainRolledBack = await killTransaction(req);
249
- if (mainRolledBack) {
250
- anyTransactionRolledBack = true;
251
- }
252
- if (anyTransactionRolledBack) {
253
- // All-or-nothing: everything was rolled back, report all as failed
254
- const allErrors = docs.map((doc)=>{
255
- const existingError = errors.find((e)=>e.id === doc.id);
256
- if (existingError) {
257
- return existingError;
258
- }
259
- return {
260
- id: doc.id,
261
- isPublic: false,
262
- message: 'Transaction rolled back due to error in another document'
263
- };
264
- });
265
- return {
266
- docs: [],
267
- errors: allErrors
268
- };
269
- } else {
270
- // No transactions: return actual results (some may have succeeded)
271
- return {
272
- docs: awaitedDocs.filter(Boolean),
273
- errors
274
- };
275
- }
276
- }
277
- if (useSeparateTransactions) {
278
- for (const docReq of docReqsWithTransactions){
279
- await commitTransaction(docReq);
232
+ // Process sequentially when using single transaction mode to avoid shared state issues
233
+ // Process in parallel when using one transaction for better performance
234
+ let awaitedDocs;
235
+ if (req.payload.db.bulkOperationsSingleTransaction) {
236
+ awaitedDocs = [];
237
+ for (const promise of promises){
238
+ awaitedDocs.push(await promise);
280
239
  }
240
+ } else {
241
+ awaitedDocs = await Promise.all(promises);
281
242
  }
282
243
  // /////////////////////////////////////
283
244
  // Delete Preferences
284
245
  // /////////////////////////////////////
285
- if (docs.length > 0) {
286
- await deleteUserPreferences({
287
- collectionConfig,
288
- ids: docs.map((d)=>d.id),
289
- payload,
290
- req
291
- });
292
- }
246
+ await deleteUserPreferences({
247
+ collectionConfig,
248
+ ids: docs.map(({ id })=>id),
249
+ payload,
250
+ req
251
+ });
293
252
  let result = {
294
253
  docs: awaitedDocs.filter(Boolean),
295
254
  errors
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug, FindOptions } from '../../index.js'\nimport type { PayloadRequest, PopulateType, SelectType, Where } from '../../types/index.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n SelectFromCollectionSlug,\n} 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 { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.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 { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js'\nimport { checkDocumentLockStatus } from '../../utilities/checkDocumentLockStatus.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { hasScheduledPublishEnabled } from '../../utilities/getVersionsConfig.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { isErrorPublic } from '../../utilities/isErrorPublic.js'\nimport { isolateObjectProperty } from '../../utilities/isolateObjectProperty.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { sanitizeSelect } from '../../utilities/sanitizeSelect.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { deleteScheduledPublishJobs } from '../../versions/deleteScheduledPublishJobs.js'\nimport { buildAfterOperation } from './utilities/buildAfterOperation.js'\nimport { buildBeforeOperation } from './utilities/buildBeforeOperation.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n disableTransaction?: boolean\n overrideAccess?: boolean\n overrideLock?: boolean\n populate?: PopulateType\n req: PayloadRequest\n showHiddenFields?: boolean\n trash?: boolean\n where: Where\n} & Pick<FindOptions<string, SelectType>, 'select'>\n\nexport const deleteOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments,\n): Promise<BulkOperationResult<TSlug, TSelect>> => {\n let args = incomingArgs\n\n const useSeparateTransactions =\n args.req.payload.db.bulkOperationsSingleTransaction && !args.disableTransaction\n\n try {\n const shouldCommit = !args.disableTransaction && (await initTransaction(args.req))\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n args = await buildBeforeOperation({\n args,\n collection: args.collection.config,\n operation: 'delete',\n overrideAccess: args.overrideAccess!,\n })\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n overrideLock,\n populate,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n select: incomingSelect,\n showHiddenFields,\n trash = false,\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: overrideAccess!,\n req,\n where,\n })\n\n let fullWhere = combineQueries(where, accessResult!)\n\n // Exclude trashed documents when trash: false\n fullWhere = appendNonTrashedFilter({\n enableTrash: collectionConfig.trash,\n trash,\n where: fullWhere,\n })\n\n sanitizeWhereQuery({ fields: collectionConfig.flattenedFields, payload, where: fullWhere })\n\n const select = sanitizeSelect({\n fields: collectionConfig.flattenedFields,\n forceSelect: collectionConfig.forceSelect,\n select: incomingSelect,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale: locale!,\n req,\n select,\n where: fullWhere,\n })\n\n const errors: BulkOperationResult<TSlug, TSelect>['errors'] = []\n\n // Track all doc requests that have open transactions (for separate transaction mode)\n const docReqsWithTransactions: PayloadRequest[] = []\n\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n // When using separate transactions, isolate the transactionID so each doc gets its own\n let docReq = req\n\n if (useSeparateTransactions) {\n docReq = isolateObjectProperty(req, 'transactionID')\n delete docReq.transactionID\n await initTransaction(docReq)\n docReqsWithTransactions.push(docReq)\n }\n\n try {\n // /////////////////////////////////////\n // Handle potentially locked documents\n // /////////////////////////////////////\n\n await checkDocumentLockStatus({\n id,\n collectionSlug: collectionConfig.slug,\n lockErrorMessage: `Document with ID ${id} is currently locked and cannot be deleted.`,\n overrideLock,\n req: docReq,\n })\n\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.beforeDelete?.length) {\n for (const hook of collectionConfig.hooks.beforeDelete) {\n await hook({\n id,\n collection: collectionConfig,\n context: docReq.context,\n req: docReq,\n })\n }\n }\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req: docReq,\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: docReq,\n })\n }\n\n // /////////////////////////////////////\n // Delete scheduled posts\n // /////////////////////////////////////\n if (hasScheduledPublishEnabled(collectionConfig)) {\n await deleteScheduledPublishJobs({\n id,\n slug: collectionConfig.slug,\n payload,\n req: docReq,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req: docReq,\n returning: false,\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: docReq.context,\n depth: depth!,\n doc: result || doc,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n draft: undefined,\n fallbackLocale: fallbackLocale!,\n global: null,\n locale: locale!,\n overrideAccess: overrideAccess!,\n populate,\n req: docReq,\n select,\n showHiddenFields: showHiddenFields!,\n })\n\n // /////////////////////////////////////\n // Add collection property for auth collections\n // /////////////////////////////////////\n\n if (collectionConfig.auth) {\n result = { ...result, collection: collectionConfig.slug }\n }\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.afterRead?.length) {\n for (const hook of collectionConfig.hooks.afterRead) {\n result =\n (await hook({\n collection: collectionConfig,\n context: docReq.context,\n doc: result || doc,\n overrideAccess,\n req: docReq,\n })) || result\n }\n }\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.afterDelete?.length) {\n for (const hook of collectionConfig.hooks.afterDelete) {\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: docReq.context,\n doc: result,\n req: docReq,\n })) || result\n }\n }\n\n // Don't commit here - wait until all docs complete successfully\n return result\n } catch (error) {\n docReq.payload.logger.error({ err: error, msg: `Error deleting document ${id}` })\n\n const isPublic = error instanceof Error ? isErrorPublic(error, config) : false\n\n errors.push({\n id: doc.id,\n isPublic,\n message: error instanceof Error ? error.message : 'Unknown error',\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // Handle errors\n if (errors.length > 0) {\n // Kill any active transactions and track if any were rolled back\n let anyTransactionRolledBack = false\n\n if (useSeparateTransactions) {\n for (const docReq of docReqsWithTransactions) {\n const rolledBack = await killTransaction(docReq)\n if (rolledBack) {\n anyTransactionRolledBack = true\n }\n }\n }\n\n const mainRolledBack = await killTransaction(req)\n if (mainRolledBack) {\n anyTransactionRolledBack = true\n }\n\n if (anyTransactionRolledBack) {\n // All-or-nothing: everything was rolled back, report all as failed\n const allErrors: BulkOperationResult<TSlug, TSelect>['errors'] = docs.map((doc) => {\n const existingError = errors.find((e) => e.id === doc.id)\n if (existingError) {\n return existingError\n }\n return {\n id: doc.id,\n isPublic: false,\n message: 'Transaction rolled back due to error in another document',\n }\n })\n\n return {\n docs: [],\n errors: allErrors,\n }\n } else {\n // No transactions: return actual results (some may have succeeded)\n return {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n }\n }\n\n if (useSeparateTransactions) {\n for (const docReq of docReqsWithTransactions) {\n await commitTransaction(docReq)\n }\n }\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n if (docs.length > 0) {\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map((d) => d.id),\n payload,\n req,\n })\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 overrideAccess,\n result,\n })\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["status","httpStatus","executeAccess","combineQueries","validateQueryPaths","sanitizeWhereQuery","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","appendNonTrashedFilter","checkDocumentLockStatus","commitTransaction","hasScheduledPublishEnabled","initTransaction","isErrorPublic","isolateObjectProperty","killTransaction","sanitizeSelect","deleteCollectionVersions","deleteScheduledPublishJobs","buildAfterOperation","buildBeforeOperation","deleteOperation","incomingArgs","args","useSeparateTransactions","req","payload","db","bulkOperationsSingleTransaction","disableTransaction","shouldCommit","collection","config","operation","overrideAccess","collectionConfig","depth","overrideLock","populate","fallbackLocale","locale","select","incomingSelect","showHiddenFields","trash","where","BAD_REQUEST","accessResult","access","delete","fullWhere","enableTrash","fields","flattenedFields","forceSelect","docs","find","slug","errors","docReqsWithTransactions","promises","map","doc","result","id","docReq","transactionID","push","collectionSlug","lockErrorMessage","hooks","beforeDelete","length","hook","context","overrideDelete","versions","deleteOne","returning","equals","draft","undefined","global","auth","afterDelete","error","logger","err","msg","isPublic","Error","message","awaitedDocs","Promise","all","anyTransactionRolledBack","rolledBack","mainRolledBack","allErrors","existingError","e","filter","Boolean","ids","d"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug, FindOptions } from '../../index.js'\nimport type { PayloadRequest, PopulateType, SelectType, Where } from '../../types/index.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n SelectFromCollectionSlug,\n} 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 { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.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 { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js'\nimport { checkDocumentLockStatus } from '../../utilities/checkDocumentLockStatus.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { hasScheduledPublishEnabled } from '../../utilities/getVersionsConfig.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { isErrorPublic } from '../../utilities/isErrorPublic.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { sanitizeSelect } from '../../utilities/sanitizeSelect.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { deleteScheduledPublishJobs } from '../../versions/deleteScheduledPublishJobs.js'\nimport { buildAfterOperation } from './utilities/buildAfterOperation.js'\nimport { buildBeforeOperation } from './utilities/buildBeforeOperation.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n disableTransaction?: boolean\n overrideAccess?: boolean\n overrideLock?: boolean\n populate?: PopulateType\n req: PayloadRequest\n showHiddenFields?: boolean\n trash?: boolean\n where: Where\n} & Pick<FindOptions<string, SelectType>, 'select'>\n\nexport const deleteOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments,\n): Promise<BulkOperationResult<TSlug, TSelect>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = !args.disableTransaction && (await initTransaction(args.req))\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n args = await buildBeforeOperation({\n args,\n collection: args.collection.config,\n operation: 'delete',\n overrideAccess: args.overrideAccess!,\n })\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n overrideLock,\n populate,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n select: incomingSelect,\n showHiddenFields,\n trash = false,\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: overrideAccess!,\n req,\n where,\n })\n\n let fullWhere = combineQueries(where, accessResult!)\n\n // Exclude trashed documents when trash: false\n fullWhere = appendNonTrashedFilter({\n enableTrash: collectionConfig.trash,\n trash,\n where: fullWhere,\n })\n\n sanitizeWhereQuery({ fields: collectionConfig.flattenedFields, payload, where: fullWhere })\n\n const select = sanitizeSelect({\n fields: collectionConfig.flattenedFields,\n forceSelect: collectionConfig.forceSelect,\n select: incomingSelect,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale: locale!,\n req,\n select,\n where: fullWhere,\n })\n\n const errors: BulkOperationResult<TSlug, TSelect>['errors'] = []\n\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n try {\n // Each document gets its own transaction when singleTransaction is enabled\n let docShouldCommit = false\n if (req.payload.db.bulkOperationsSingleTransaction) {\n docShouldCommit = await initTransaction(req)\n }\n\n // /////////////////////////////////////\n // Handle potentially locked documents\n // /////////////////////////////////////\n\n await checkDocumentLockStatus({\n id,\n collectionSlug: collectionConfig.slug,\n lockErrorMessage: `Document with ID ${id} is currently locked and cannot be deleted.`,\n overrideLock,\n req,\n })\n\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.beforeDelete?.length) {\n for (const hook of collectionConfig.hooks.beforeDelete) {\n await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }\n }\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 scheduled posts\n // /////////////////////////////////////\n if (hasScheduledPublishEnabled(collectionConfig)) {\n await deleteScheduledPublishJobs({\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 returning: false,\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: depth!,\n doc: result || doc,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n draft: undefined,\n fallbackLocale: fallbackLocale!,\n global: null,\n locale: locale!,\n overrideAccess: overrideAccess!,\n populate,\n req,\n select,\n showHiddenFields: showHiddenFields!,\n })\n\n // /////////////////////////////////////\n // Add collection property for auth collections\n // /////////////////////////////////////\n\n if (collectionConfig.auth) {\n result = { ...result, collection: collectionConfig.slug }\n }\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.afterRead?.length) {\n for (const hook of collectionConfig.hooks.afterRead) {\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n overrideAccess,\n req,\n })) || result\n }\n }\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n if (collectionConfig.hooks?.afterDelete?.length) {\n for (const hook of collectionConfig.hooks.afterDelete) {\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }\n }\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n if (docShouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error) {\n const isPublic = error instanceof Error ? isErrorPublic(error, config) : false\n\n if (req.payload.db.bulkOperationsSingleTransaction) {\n await killTransaction(req)\n }\n errors.push({\n id: doc.id,\n isPublic,\n message: error instanceof Error ? error.message : 'Unknown error',\n })\n }\n return null\n })\n\n // Process sequentially when using single transaction mode to avoid shared state issues\n // Process in parallel when using one transaction for better performance\n let awaitedDocs\n if (req.payload.db.bulkOperationsSingleTransaction) {\n awaitedDocs = []\n for (const promise of promises) {\n awaitedDocs.push(await promise)\n }\n } else {\n awaitedDocs = await Promise.all(promises)\n }\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 overrideAccess,\n result,\n })\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["status","httpStatus","executeAccess","combineQueries","validateQueryPaths","sanitizeWhereQuery","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","appendNonTrashedFilter","checkDocumentLockStatus","commitTransaction","hasScheduledPublishEnabled","initTransaction","isErrorPublic","killTransaction","sanitizeSelect","deleteCollectionVersions","deleteScheduledPublishJobs","buildAfterOperation","buildBeforeOperation","deleteOperation","incomingArgs","args","shouldCommit","disableTransaction","req","collection","config","operation","overrideAccess","collectionConfig","depth","overrideLock","populate","fallbackLocale","locale","payload","select","incomingSelect","showHiddenFields","trash","where","BAD_REQUEST","accessResult","access","delete","fullWhere","enableTrash","fields","flattenedFields","forceSelect","docs","db","find","slug","errors","promises","map","doc","result","id","docShouldCommit","bulkOperationsSingleTransaction","collectionSlug","lockErrorMessage","hooks","beforeDelete","length","hook","context","overrideDelete","versions","deleteOne","returning","equals","draft","undefined","global","auth","afterDelete","error","isPublic","Error","push","message","awaitedDocs","promise","Promise","all","ids","filter","Boolean"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjG,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EAEV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAO3B,OAAO,EAAE,KAAK,cAAc,EAAwB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAmB5F,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,KAAK,EAAE,KAAK,CAAA;CACb,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;AAElD,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gBAEjC,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAoU7C,CAAA"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjG,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EAEV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAO3B,OAAO,EAAE,KAAK,cAAc,EAAwB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAkB5F,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,KAAK,EAAE,KAAK,CAAA;CACb,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;AAElD,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gBAEjC,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAoR7C,CAAA"}
@@ -12,7 +12,6 @@ import { commitTransaction } from '../../utilities/commitTransaction.js';
12
12
  import { hasDraftsEnabled } from '../../utilities/getVersionsConfig.js';
13
13
  import { initTransaction } from '../../utilities/initTransaction.js';
14
14
  import { isErrorPublic } from '../../utilities/isErrorPublic.js';
15
- import { isolateObjectProperty } from '../../utilities/isolateObjectProperty.js';
16
15
  import { killTransaction } from '../../utilities/killTransaction.js';
17
16
  import { sanitizeSelect } from '../../utilities/sanitizeSelect.js';
18
17
  import { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js';
@@ -27,7 +26,6 @@ export const updateOperation = async (incomingArgs)=>{
27
26
  if (args.collection.config.disableBulkEdit && !args.overrideAccess) {
28
27
  throw new APIError(`Collection ${args.collection.config.slug} has disabled bulk edit`, 403);
29
28
  }
30
- const useSeparateTransactions = args.req.payload.db.bulkOperationsSingleTransaction && !args.disableTransaction;
31
29
  try {
32
30
  const shouldCommit = !args.disableTransaction && await initTransaction(args.req);
33
31
  // /////////////////////////////////////
@@ -135,19 +133,14 @@ export const updateOperation = async (incomingArgs)=>{
135
133
  throwOnMissingFile: false
136
134
  });
137
135
  const errors = [];
138
- // Track all doc requests that have open transactions (for separate transaction mode)
139
- const docReqsWithTransactions = [];
140
136
  const promises = docs.map(async (docWithLocales)=>{
141
137
  const { id } = docWithLocales;
142
- // When using separate transactions, isolate the transactionID so each doc gets its own
143
- let docReq = req;
144
- if (useSeparateTransactions) {
145
- docReq = isolateObjectProperty(req, 'transactionID');
146
- delete docReq.transactionID;
147
- await initTransaction(docReq);
148
- docReqsWithTransactions.push(docReq);
149
- }
150
138
  try {
139
+ // Each document gets its own transaction when singleTransaction is enabled
140
+ let docShouldCommit = false;
141
+ if (req.payload.db.bulkOperationsSingleTransaction) {
142
+ docShouldCommit = await initTransaction(req);
143
+ }
151
144
  const select = sanitizeSelect({
152
145
  fields: collectionConfig.flattenedFields,
153
146
  forceSelect: collectionConfig.forceSelect,
@@ -174,7 +167,7 @@ export const updateOperation = async (incomingArgs)=>{
174
167
  populate,
175
168
  publishAllLocales,
176
169
  publishSpecificLocale,
177
- req: docReq,
170
+ req,
178
171
  select: select,
179
172
  showHiddenFields: showHiddenFields,
180
173
  unpublishAllLocales
@@ -188,14 +181,15 @@ export const updateOperation = async (incomingArgs)=>{
188
181
  collection: collectionConfig.slug
189
182
  };
190
183
  }
191
- // Don't commit here - wait until all docs complete successfully
184
+ if (docShouldCommit) {
185
+ await commitTransaction(req);
186
+ }
192
187
  return updatedDoc;
193
188
  } catch (error) {
194
- docReq.payload.logger.error({
195
- err: error,
196
- msg: `Error updating document ${id}`
197
- });
198
189
  const isPublic = error instanceof Error ? isErrorPublic(error, config) : false;
190
+ if (req.payload.db.bulkOperationsSingleTransaction) {
191
+ await killTransaction(req);
192
+ }
199
193
  errors.push({
200
194
  id,
201
195
  isPublic,
@@ -209,52 +203,16 @@ export const updateOperation = async (incomingArgs)=>{
209
203
  config,
210
204
  req
211
205
  });
212
- const awaitedDocs = await Promise.all(promises);
213
- // Handle errors
214
- if (errors.length > 0) {
215
- // Kill any active transactions and track if any were rolled back
216
- let anyTransactionRolledBack = false;
217
- if (useSeparateTransactions) {
218
- for (const docReq of docReqsWithTransactions){
219
- const rolledBack = await killTransaction(docReq);
220
- if (rolledBack) {
221
- anyTransactionRolledBack = true;
222
- }
223
- }
224
- }
225
- const mainRolledBack = await killTransaction(req);
226
- if (mainRolledBack) {
227
- anyTransactionRolledBack = true;
228
- }
229
- if (anyTransactionRolledBack) {
230
- // All-or-nothing: everything was rolled back, report all as failed
231
- const allErrors = docs.map((doc)=>{
232
- const existingError = errors.find((e)=>e.id === doc.id);
233
- if (existingError) {
234
- return existingError;
235
- }
236
- return {
237
- id: doc.id,
238
- isPublic: false,
239
- message: 'Transaction rolled back due to error in another document'
240
- };
241
- });
242
- return {
243
- docs: [],
244
- errors: allErrors
245
- };
246
- } else {
247
- // No transactions: return actual results (some may have succeeded)
248
- return {
249
- docs: awaitedDocs.filter(Boolean),
250
- errors
251
- };
252
- }
253
- }
254
- if (useSeparateTransactions) {
255
- for (const docReq of docReqsWithTransactions){
256
- await commitTransaction(docReq);
206
+ // Process sequentially when using single transaction mode to avoid shared state issues
207
+ // Process in parallel when using one transaction for better performance
208
+ let awaitedDocs;
209
+ if (req.payload.db.bulkOperationsSingleTransaction) {
210
+ awaitedDocs = [];
211
+ for (const promise of promises){
212
+ awaitedDocs.push(await promise);
257
213
  }
214
+ } else {
215
+ awaitedDocs = await Promise.all(promises);
258
216
  }
259
217
  let result = {
260
218
  docs: awaitedDocs.filter(Boolean),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport { status as httpStatus } from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { PayloadRequest, PopulateType, SelectType, Sort, Where } from '../../types/index.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n SelectFromCollectionSlug,\n} 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 { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { APIError } from '../../errors/index.js'\nimport { type CollectionSlug, deepCopyObjectSimple, type FindOptions } from '../../index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { hasDraftsEnabled } from '../../utilities/getVersionsConfig.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { isErrorPublic } from '../../utilities/isErrorPublic.js'\nimport { isolateObjectProperty } from '../../utilities/isolateObjectProperty.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { sanitizeSelect } from '../../utilities/sanitizeSelect.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { getQueryDraftsSort } from '../../versions/drafts/getQueryDraftsSort.js'\nimport { buildAfterOperation } from './utilities/buildAfterOperation.js'\nimport { buildBeforeOperation } from './utilities/buildBeforeOperation.js'\nimport { sanitizeSortQuery } from './utilities/sanitizeSortQuery.js'\nimport { updateDocument } from './utilities/update.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n autosave?: boolean\n collection: Collection\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\n depth?: number\n disableTransaction?: boolean\n disableVerificationEmail?: boolean\n draft?: boolean\n limit?: number\n overrideAccess?: boolean\n overrideLock?: boolean\n overwriteExistingFiles?: boolean\n populate?: PopulateType\n publishAllLocales?: boolean\n publishSpecificLocale?: string\n req: PayloadRequest\n showHiddenFields?: boolean\n /**\n * Sort the documents, can be a string or an array of strings\n * @example '-createdAt' // Sort DESC by createdAt\n * @example ['group', '-createdAt'] // sort by 2 fields, ASC group and DESC createdAt\n */\n sort?: Sort\n trash?: boolean\n unpublishAllLocales?: boolean\n where: Where\n} & Pick<FindOptions<TSlug, SelectType>, 'select'>\n\nexport const updateOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments<TSlug>,\n): Promise<BulkOperationResult<TSlug, TSelect>> => {\n let args = incomingArgs\n\n if (args.collection.config.disableBulkEdit && !args.overrideAccess) {\n throw new APIError(`Collection ${args.collection.config.slug} has disabled bulk edit`, 403)\n }\n\n const useSeparateTransactions =\n args.req.payload.db.bulkOperationsSingleTransaction && !args.disableTransaction\n\n try {\n const shouldCommit = !args.disableTransaction && (await initTransaction(args.req))\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n args = await buildBeforeOperation({\n args,\n collection: args.collection.config,\n operation: 'update',\n overrideAccess: args.overrideAccess!,\n })\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n limit = 0,\n overrideAccess,\n overrideLock,\n overwriteExistingFiles = false,\n populate,\n publishAllLocales,\n publishSpecificLocale,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n select: incomingSelect,\n showHiddenFields,\n sort: incomingSort,\n trash = false,\n unpublishAllLocales,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to update.\", httpStatus.BAD_REQUEST)\n }\n\n const { data: bulkUpdateData } = args\n const shouldSaveDraft = Boolean(draftArg && hasDraftsEnabled(collectionConfig))\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.update)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess: overrideAccess!,\n req,\n where,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n let fullWhere = combineQueries(where, accessResult!)\n\n const isTrashAttempt =\n collectionConfig.trash &&\n typeof bulkUpdateData === 'object' &&\n bulkUpdateData !== null &&\n 'deletedAt' in bulkUpdateData &&\n bulkUpdateData.deletedAt != null\n\n // Enforce delete access if performing a soft-delete (trash)\n if (isTrashAttempt && !overrideAccess) {\n const deleteAccessResult = await executeAccess({ req }, collectionConfig.access.delete)\n fullWhere = combineQueries(fullWhere, deleteAccessResult)\n }\n\n // Exclude trashed documents when trash: false\n fullWhere = appendNonTrashedFilter({\n enableTrash: collectionConfig.trash,\n trash,\n where: fullWhere,\n })\n\n sanitizeWhereQuery({ fields: collectionConfig.flattenedFields, payload, where: fullWhere })\n\n const sort = sanitizeSortQuery({\n fields: collection.config.flattenedFields,\n sort: incomingSort,\n })\n\n let docs\n\n if (hasDraftsEnabled(collectionConfig) && shouldSaveDraft) {\n const versionsWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess: overrideAccess!,\n req,\n versionFields: buildVersionCollectionFields(payload.config, collection.config, true),\n where: appendVersionToQueryKey(where),\n })\n\n const query = await payload.db.queryDrafts<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n limit,\n locale: locale!,\n pagination: false,\n req,\n sort: getQueryDraftsSort({ collectionConfig, sort }),\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit,\n locale: locale!,\n pagination: false,\n req,\n sort,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors: BulkOperationResult<TSlug, TSelect>['errors'] = []\n\n // Track all doc requests that have open transactions (for separate transaction mode)\n const docReqsWithTransactions: PayloadRequest[] = []\n\n const promises = docs.map(async (docWithLocales) => {\n const { id } = docWithLocales\n\n // When using separate transactions, isolate the transactionID so each doc gets its own\n let docReq = req\n\n if (useSeparateTransactions) {\n docReq = isolateObjectProperty(req, 'transactionID')\n delete docReq.transactionID\n await initTransaction(docReq)\n docReqsWithTransactions.push(docReq)\n }\n\n try {\n const select = sanitizeSelect({\n fields: collectionConfig.flattenedFields,\n forceSelect: collectionConfig.forceSelect,\n select: incomingSelect,\n })\n\n // ///////////////////////////////////////////////\n // Update document, runs all document level hooks\n // ///////////////////////////////////////////////\n let updatedDoc = await updateDocument({\n id,\n autosave,\n collectionConfig,\n config,\n data: deepCopyObjectSimple(data),\n depth: depth!,\n docWithLocales,\n draftArg,\n fallbackLocale: fallbackLocale!,\n filesToUpload,\n locale: locale!,\n overrideAccess: overrideAccess!,\n overrideLock: overrideLock!,\n payload,\n populate,\n publishAllLocales,\n publishSpecificLocale,\n req: docReq,\n select: select!,\n showHiddenFields: showHiddenFields!,\n unpublishAllLocales,\n })\n\n // /////////////////////////////////////\n // Add collection property for auth collections\n // /////////////////////////////////////\n\n if (collectionConfig.auth) {\n updatedDoc = { ...updatedDoc, collection: collectionConfig.slug }\n }\n\n // Don't commit here - wait until all docs complete successfully\n return updatedDoc\n } catch (error) {\n docReq.payload.logger.error({ err: error, msg: `Error updating document ${id}` })\n\n const isPublic = error instanceof Error ? isErrorPublic(error, config) : false\n\n errors.push({\n id,\n isPublic,\n message: error instanceof Error ? error.message : 'Unknown error',\n })\n }\n return null\n })\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // Handle errors\n if (errors.length > 0) {\n // Kill any active transactions and track if any were rolled back\n let anyTransactionRolledBack = false\n\n if (useSeparateTransactions) {\n for (const docReq of docReqsWithTransactions) {\n const rolledBack = await killTransaction(docReq)\n if (rolledBack) {\n anyTransactionRolledBack = true\n }\n }\n }\n\n const mainRolledBack = await killTransaction(req)\n if (mainRolledBack) {\n anyTransactionRolledBack = true\n }\n\n if (anyTransactionRolledBack) {\n // All-or-nothing: everything was rolled back, report all as failed\n const allErrors: BulkOperationResult<TSlug, TSelect>['errors'] = docs.map((doc) => {\n const existingError = errors.find((e) => e.id === doc.id)\n if (existingError) {\n return existingError\n }\n return {\n id: doc.id,\n isPublic: false,\n message: 'Transaction rolled back due to error in another document',\n }\n })\n\n return {\n docs: [],\n errors: allErrors,\n }\n } else {\n // No transactions: return actual results (some may have succeeded)\n return {\n docs: awaitedDocs.filter(Boolean) as BulkOperationResult<TSlug, TSelect>['docs'],\n errors,\n }\n }\n }\n\n if (useSeparateTransactions) {\n for (const docReq of docReqsWithTransactions) {\n await commitTransaction(docReq)\n }\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: 'update',\n overrideAccess,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n result,\n })\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["status","httpStatus","executeAccess","combineQueries","validateQueryPaths","sanitizeWhereQuery","APIError","deepCopyObjectSimple","generateFileData","unlinkTempFiles","appendNonTrashedFilter","commitTransaction","hasDraftsEnabled","initTransaction","isErrorPublic","isolateObjectProperty","killTransaction","sanitizeSelect","buildVersionCollectionFields","appendVersionToQueryKey","getQueryDraftsSort","buildAfterOperation","buildBeforeOperation","sanitizeSortQuery","updateDocument","updateOperation","incomingArgs","args","collection","config","disableBulkEdit","overrideAccess","slug","useSeparateTransactions","req","payload","db","bulkOperationsSingleTransaction","disableTransaction","shouldCommit","operation","autosave","collectionConfig","depth","draft","draftArg","limit","overrideLock","overwriteExistingFiles","populate","publishAllLocales","publishSpecificLocale","fallbackLocale","locale","select","incomingSelect","showHiddenFields","sort","incomingSort","trash","unpublishAllLocales","where","BAD_REQUEST","data","bulkUpdateData","shouldSaveDraft","Boolean","accessResult","access","update","fullWhere","isTrashAttempt","deletedAt","deleteAccessResult","delete","enableTrash","fields","flattenedFields","docs","versionsWhere","versionFields","query","queryDrafts","pagination","find","files","filesToUpload","throwOnMissingFile","errors","docReqsWithTransactions","promises","map","docWithLocales","id","docReq","transactionID","push","forceSelect","updatedDoc","auth","error","logger","err","msg","isPublic","Error","message","awaitedDocs","Promise","all","length","anyTransactionRolledBack","rolledBack","mainRolledBack","allErrors","doc","existingError","e","filter","result"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport { status as httpStatus } from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { PayloadRequest, PopulateType, SelectType, Sort, Where } from '../../types/index.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n SelectFromCollectionSlug,\n} 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 { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { APIError } from '../../errors/index.js'\nimport { type CollectionSlug, deepCopyObjectSimple, type FindOptions } from '../../index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { hasDraftsEnabled } from '../../utilities/getVersionsConfig.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { isErrorPublic } from '../../utilities/isErrorPublic.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { sanitizeSelect } from '../../utilities/sanitizeSelect.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { getQueryDraftsSort } from '../../versions/drafts/getQueryDraftsSort.js'\nimport { buildAfterOperation } from './utilities/buildAfterOperation.js'\nimport { buildBeforeOperation } from './utilities/buildBeforeOperation.js'\nimport { sanitizeSortQuery } from './utilities/sanitizeSortQuery.js'\nimport { updateDocument } from './utilities/update.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n autosave?: boolean\n collection: Collection\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\n depth?: number\n disableTransaction?: boolean\n disableVerificationEmail?: boolean\n draft?: boolean\n limit?: number\n overrideAccess?: boolean\n overrideLock?: boolean\n overwriteExistingFiles?: boolean\n populate?: PopulateType\n publishAllLocales?: boolean\n publishSpecificLocale?: string\n req: PayloadRequest\n showHiddenFields?: boolean\n /**\n * Sort the documents, can be a string or an array of strings\n * @example '-createdAt' // Sort DESC by createdAt\n * @example ['group', '-createdAt'] // sort by 2 fields, ASC group and DESC createdAt\n */\n sort?: Sort\n trash?: boolean\n unpublishAllLocales?: boolean\n where: Where\n} & Pick<FindOptions<TSlug, SelectType>, 'select'>\n\nexport const updateOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments<TSlug>,\n): Promise<BulkOperationResult<TSlug, TSelect>> => {\n let args = incomingArgs\n\n if (args.collection.config.disableBulkEdit && !args.overrideAccess) {\n throw new APIError(`Collection ${args.collection.config.slug} has disabled bulk edit`, 403)\n }\n\n try {\n const shouldCommit = !args.disableTransaction && (await initTransaction(args.req))\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n args = await buildBeforeOperation({\n args,\n collection: args.collection.config,\n operation: 'update',\n overrideAccess: args.overrideAccess!,\n })\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n limit = 0,\n overrideAccess,\n overrideLock,\n overwriteExistingFiles = false,\n populate,\n publishAllLocales,\n publishSpecificLocale,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n select: incomingSelect,\n showHiddenFields,\n sort: incomingSort,\n trash = false,\n unpublishAllLocales,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to update.\", httpStatus.BAD_REQUEST)\n }\n\n const { data: bulkUpdateData } = args\n const shouldSaveDraft = Boolean(draftArg && hasDraftsEnabled(collectionConfig))\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.update)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess: overrideAccess!,\n req,\n where,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n let fullWhere = combineQueries(where, accessResult!)\n\n const isTrashAttempt =\n collectionConfig.trash &&\n typeof bulkUpdateData === 'object' &&\n bulkUpdateData !== null &&\n 'deletedAt' in bulkUpdateData &&\n bulkUpdateData.deletedAt != null\n\n // Enforce delete access if performing a soft-delete (trash)\n if (isTrashAttempt && !overrideAccess) {\n const deleteAccessResult = await executeAccess({ req }, collectionConfig.access.delete)\n fullWhere = combineQueries(fullWhere, deleteAccessResult)\n }\n\n // Exclude trashed documents when trash: false\n fullWhere = appendNonTrashedFilter({\n enableTrash: collectionConfig.trash,\n trash,\n where: fullWhere,\n })\n\n sanitizeWhereQuery({ fields: collectionConfig.flattenedFields, payload, where: fullWhere })\n\n const sort = sanitizeSortQuery({\n fields: collection.config.flattenedFields,\n sort: incomingSort,\n })\n\n let docs\n\n if (hasDraftsEnabled(collectionConfig) && shouldSaveDraft) {\n const versionsWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess: overrideAccess!,\n req,\n versionFields: buildVersionCollectionFields(payload.config, collection.config, true),\n where: appendVersionToQueryKey(where),\n })\n\n const query = await payload.db.queryDrafts<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n limit,\n locale: locale!,\n pagination: false,\n req,\n sort: getQueryDraftsSort({ collectionConfig, sort }),\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit,\n locale: locale!,\n pagination: false,\n req,\n sort,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors: BulkOperationResult<TSlug, TSelect>['errors'] = []\n\n const promises = docs.map(async (docWithLocales) => {\n const { id } = docWithLocales\n\n try {\n // Each document gets its own transaction when singleTransaction is enabled\n let docShouldCommit = false\n if (req.payload.db.bulkOperationsSingleTransaction) {\n docShouldCommit = await initTransaction(req)\n }\n\n const select = sanitizeSelect({\n fields: collectionConfig.flattenedFields,\n forceSelect: collectionConfig.forceSelect,\n select: incomingSelect,\n })\n\n // ///////////////////////////////////////////////\n // Update document, runs all document level hooks\n // ///////////////////////////////////////////////\n let updatedDoc = await updateDocument({\n id,\n autosave,\n collectionConfig,\n config,\n data: deepCopyObjectSimple(data),\n depth: depth!,\n docWithLocales,\n draftArg,\n fallbackLocale: fallbackLocale!,\n filesToUpload,\n locale: locale!,\n overrideAccess: overrideAccess!,\n overrideLock: overrideLock!,\n payload,\n populate,\n publishAllLocales,\n publishSpecificLocale,\n req,\n select: select!,\n showHiddenFields: showHiddenFields!,\n unpublishAllLocales,\n })\n\n // /////////////////////////////////////\n // Add collection property for auth collections\n // /////////////////////////////////////\n\n if (collectionConfig.auth) {\n updatedDoc = { ...updatedDoc, collection: collectionConfig.slug }\n }\n\n if (docShouldCommit) {\n await commitTransaction(req)\n }\n\n return updatedDoc\n } catch (error) {\n const isPublic = error instanceof Error ? isErrorPublic(error, config) : false\n\n if (req.payload.db.bulkOperationsSingleTransaction) {\n await killTransaction(req)\n }\n errors.push({\n id,\n isPublic,\n message: error instanceof Error ? error.message : 'Unknown error',\n })\n }\n return null\n })\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // Process sequentially when using single transaction mode to avoid shared state issues\n // Process in parallel when using one transaction for better performance\n let awaitedDocs: (DataFromCollectionSlug<TSlug> | null)[]\n if (req.payload.db.bulkOperationsSingleTransaction) {\n awaitedDocs = []\n for (const promise of promises) {\n awaitedDocs.push(await promise)\n }\n } else {\n awaitedDocs = await Promise.all(promises)\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: 'update',\n overrideAccess,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n result,\n })\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["status","httpStatus","executeAccess","combineQueries","validateQueryPaths","sanitizeWhereQuery","APIError","deepCopyObjectSimple","generateFileData","unlinkTempFiles","appendNonTrashedFilter","commitTransaction","hasDraftsEnabled","initTransaction","isErrorPublic","killTransaction","sanitizeSelect","buildVersionCollectionFields","appendVersionToQueryKey","getQueryDraftsSort","buildAfterOperation","buildBeforeOperation","sanitizeSortQuery","updateDocument","updateOperation","incomingArgs","args","collection","config","disableBulkEdit","overrideAccess","slug","shouldCommit","disableTransaction","req","operation","autosave","collectionConfig","depth","draft","draftArg","limit","overrideLock","overwriteExistingFiles","populate","publishAllLocales","publishSpecificLocale","fallbackLocale","locale","payload","select","incomingSelect","showHiddenFields","sort","incomingSort","trash","unpublishAllLocales","where","BAD_REQUEST","data","bulkUpdateData","shouldSaveDraft","Boolean","accessResult","access","update","fullWhere","isTrashAttempt","deletedAt","deleteAccessResult","delete","enableTrash","fields","flattenedFields","docs","versionsWhere","versionFields","query","db","queryDrafts","pagination","find","files","filesToUpload","throwOnMissingFile","errors","promises","map","docWithLocales","id","docShouldCommit","bulkOperationsSingleTransaction","forceSelect","updatedDoc","auth","error","isPublic","Error","push","message","awaitedDocs","promise","Promise","all","result","filter"],"mappings":"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"}
@@ -11,15 +11,9 @@ export interface BaseDatabaseAdapter {
11
11
  */
12
12
  beginTransaction: BeginTransaction;
13
13
  /**
14
- * When true, bulk operations will process documents in separate transactions instead of in a single transaction.
15
- * Useful for avoiding transaction limitations with large datasets in DocumentDB and Cosmos DB.
16
- *
17
- * Drawbacks:
18
- * - Delete and update operations can no longer be rolled back
19
- * - Delete and update operations may no longer have access to isolated data that other documents
20
- * may have committed in the same transaction. This can lead to errors if you try to delete or update documents that have not yet been committed.
21
- *
22
- * // TODO: Rename to bulkOperationsSeparateTransactions in 4.0
14
+ * When true, bulk operations will process documents one at a time
15
+ * in separate transactions instead of all at once in a single transaction.
16
+ * Useful for avoiding transaction limitations with large datasets.
23
17
  *
24
18
  * @default false
25
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/database/types.ts"],"sourcesContent":["import type { TypeWithID } from '../collections/config/types.js'\nimport type { CollectionSlug, GlobalSlug, Job } from '../index.js'\nimport type {\n Document,\n JoinQuery,\n JsonObject,\n Payload,\n PayloadRequest,\n SelectType,\n Sort,\n Where,\n} from '../types/index.js'\nimport type { TypeWithVersion } from '../versions/types.js'\n\nexport type { TypeWithVersion }\n\nexport interface BaseDatabaseAdapter {\n allowIDOnCreate?: boolean\n /**\n * Start a transaction, requiring commitTransaction() to be called for any changes to be made.\n * @returns an identifier for the transaction or null if one cannot be established\n */\n beginTransaction: BeginTransaction\n /**\n * When true, bulk operations will process documents in separate transactions instead of in a single transaction.\n * Useful for avoiding transaction limitations with large datasets in DocumentDB and Cosmos DB.\n *\n * Drawbacks:\n * - Delete and update operations can no longer be rolled back\n * - Delete and update operations may no longer have access to isolated data that other documents\n * may have committed in the same transaction. This can lead to errors if you try to delete or update documents that have not yet been committed.\n *\n * // TODO: Rename to bulkOperationsSeparateTransactions in 4.0\n *\n * @default false\n */\n bulkOperationsSingleTransaction?: boolean\n\n /**\n * Persist the changes made since the start of the transaction.\n */\n commitTransaction: CommitTransaction\n\n /**\n * Open the connection to the database\n */\n connect?: Connect\n count: Count\n countGlobalVersions: CountGlobalVersions\n countVersions: CountVersions\n\n create: Create\n\n createGlobal: CreateGlobal\n\n createGlobalVersion: CreateGlobalVersion\n /**\n * Output a migration file\n */\n createMigration: CreateMigration\n\n createVersion: CreateVersion\n\n /**\n * Specify if the ID is a text or number field by default within this database adapter.\n */\n defaultIDType: 'number' | 'text'\n\n deleteMany: DeleteMany\n\n deleteOne: DeleteOne\n deleteVersions: DeleteVersions\n\n /**\n * Terminate the connection with the database\n */\n destroy?: Destroy\n\n find: Find\n\n findDistinct: FindDistinct\n\n findGlobal: FindGlobal\n\n findGlobalVersions: FindGlobalVersions\n\n findOne: FindOne\n\n findVersions: FindVersions\n\n generateSchema?: GenerateSchema\n\n /**\n * Perform startup tasks required to interact with the database such as building Schema and models\n */\n init?: Init\n\n /**\n * Run any migration up functions that have not yet been performed and update the status\n */\n migrate: (args?: { migrations?: Migration[] }) => Promise<void>\n /**\n * Run any migration down functions that have been performed\n */\n migrateDown: () => Promise<void>\n\n /**\n * Drop the current database and run all migrate up functions\n */\n migrateFresh: (args: { forceAcceptWarning?: boolean }) => Promise<void>\n /**\n * Run all migration down functions before running up\n */\n migrateRefresh: () => Promise<void>\n /**\n * Run all migrate down functions\n */\n migrateReset: () => Promise<void>\n /**\n * Read the current state of migrations and output the result to show which have been run\n */\n migrateStatus: () => Promise<void>\n\n /**\n * Path to read and write migration files from\n */\n migrationDir: string\n\n /**\n * The name of the database adapter\n */\n name: string\n /**\n * Full package name of the database adapter\n *\n * @example @payloadcms/db-postgres\n */\n packageName: string\n /**\n * reference to the instance of payload\n */\n payload: Payload\n\n queryDrafts: QueryDrafts\n\n /**\n * Abort any changes since the start of the transaction.\n */\n rollbackTransaction: RollbackTransaction\n\n /**\n * A key-value store of all sessions open (used for transactions)\n */\n sessions?: {\n [id: string]: {\n db: unknown\n reject: () => Promise<void>\n resolve: () => Promise<void>\n }\n }\n\n /**\n * Updates a global that exists. If the global doesn't exist yet, this will not work - you should use `createGlobal` instead.\n */\n updateGlobal: UpdateGlobal\n\n updateGlobalVersion: UpdateGlobalVersion\n\n updateJobs: UpdateJobs\n\n updateMany: UpdateMany\n\n updateOne: UpdateOne\n updateVersion: UpdateVersion\n upsert: Upsert\n}\n\nexport type Init = () => Promise<void> | void\n\ntype ConnectArgs = {\n hotReload: boolean\n}\n\nexport type Connect = (args?: ConnectArgs) => Promise<void>\n\nexport type Destroy = () => Promise<void>\n\nexport type CreateMigration = (args: {\n file?: string\n forceAcceptWarning?: boolean\n migrationName?: string\n payload: Payload\n /**\n * Skips the prompt asking to create empty migrations\n */\n skipEmpty?: boolean\n}) => Promise<void> | void\n\nexport type Transaction = (\n callback: () => Promise<void>,\n options?: Record<string, unknown>,\n) => Promise<void>\n\nexport type BeginTransaction = (\n options?: Record<string, unknown>,\n) => Promise<null | number | string>\n\nexport type RollbackTransaction = (id: number | Promise<number | string> | string) => Promise<void>\n\nexport type CommitTransaction = (id: number | Promise<number | string> | string) => Promise<void>\n\nexport type QueryDraftsArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req?: Partial<PayloadRequest>\n select?: SelectType\n sort?: Sort\n where?: Where\n}\n\nexport type QueryDrafts = <T = TypeWithID>(args: QueryDraftsArgs) => Promise<PaginatedDocs<T>>\n\nexport type FindOneArgs = {\n collection: CollectionSlug\n draftsEnabled?: boolean\n joins?: JoinQuery\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n where?: Where\n}\n\nexport type FindOne = <T extends TypeWithID>(args: FindOneArgs) => Promise<null | T>\n\nexport type FindArgs = {\n collection: CollectionSlug\n draftsEnabled?: boolean\n joins?: JoinQuery\n /** Setting limit to 1 is equal to the previous Model.findOne(). Setting limit to 0 disables the limit */\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n projection?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n select?: SelectType\n /**\n * @deprecated This parameter is going to be removed in the next major version. Use page instead.\n */\n skip?: number\n sort?: Sort\n versions?: boolean\n where?: Where\n}\n\nexport type Find = <T = TypeWithID>(args: FindArgs) => Promise<PaginatedDocs<T>>\n\nexport type CountArgs = {\n collection: CollectionSlug\n locale?: string\n req?: Partial<PayloadRequest>\n where?: Where\n}\n\nexport type Count = (args: CountArgs) => Promise<{ totalDocs: number }>\n\nexport type CountVersions = (args: CountArgs) => Promise<{ totalDocs: number }>\n\nexport type CountGlobalVersionArgs = {\n global: string\n locale?: string\n req?: Partial<PayloadRequest>\n where?: Where\n}\n\nexport type CountGlobalVersions = (args: CountGlobalVersionArgs) => Promise<{ totalDocs: number }>\n\ntype BaseVersionArgs = {\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req?: Partial<PayloadRequest>\n select?: SelectType\n /**\n * @deprecated This parameter is going to be removed in the next major version. Use page instead.\n */\n skip?: number\n sort?: Sort\n versions?: boolean\n where?: Where\n}\n\nexport type FindVersionsArgs = {\n collection: CollectionSlug\n} & BaseVersionArgs\n\nexport type FindVersions = <T = JsonObject>(\n args: FindVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type FindGlobalVersionsArgs = {\n global: GlobalSlug\n} & BaseVersionArgs\n\nexport type FindGlobalArgs = {\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n slug: string\n where?: Where\n}\n\nexport type UpdateGlobalVersionArgs<T extends JsonObject = JsonObject> = {\n global: GlobalSlug\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n versionData: {\n createdAt?: string\n latest?: boolean\n parent?: number | string\n publishedLocale?: string\n updatedAt?: string\n version: T\n }\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\n/**\n * @todo type as Promise<TypeWithVersion<T> | null> in 4.0\n */\nexport type UpdateGlobalVersion = <T extends JsonObject = JsonObject>(\n args: UpdateGlobalVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type FindGlobal = <T extends Record<string, unknown> = any>(\n args: FindGlobalArgs,\n) => Promise<T>\n\nexport type CreateGlobalArgs<T extends Record<string, unknown> = any> = {\n data: T\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n slug: string\n}\nexport type CreateGlobal = <T extends Record<string, unknown> = any>(\n args: CreateGlobalArgs<T>,\n) => Promise<T>\n\nexport type UpdateGlobalArgs<T extends Record<string, unknown> = any> = {\n data: T\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n slug: string\n}\n/**\n * @todo type as Promise<T | null> in 4.0\n */\nexport type UpdateGlobal = <T extends Record<string, unknown> = any>(\n args: UpdateGlobalArgs<T>,\n) => Promise<T>\n// export type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type FindGlobalVersions = <T = JsonObject>(\n args: FindGlobalVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type DeleteVersionsArgs = {\n collection?: CollectionSlug\n globalSlug?: GlobalSlug\n locale?: string\n req?: Partial<PayloadRequest>\n sort?: {\n [key: string]: string\n }\n where: Where\n}\n\nexport type CreateVersionArgs<T extends JsonObject = JsonObject> = {\n autosave: boolean\n collectionSlug: CollectionSlug\n createdAt: string\n /** ID of the parent document for which the version should be created for */\n parent: number | string\n publishedLocale?: string\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n /**\n * If provided, the snapshot will be created\n * after a version is created (not during autosave)\n */\n snapshot?: true\n updatedAt: string\n versionData: T\n}\n\nexport type CreateVersion = <T extends JsonObject = JsonObject>(\n args: CreateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateGlobalVersionArgs<T extends JsonObject = JsonObject> = {\n autosave: boolean\n createdAt: string\n globalSlug: GlobalSlug\n publishedLocale?: string\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n /**\n * If provided, the snapshot will be created\n * after a version is created (not during autosave)\n */\n snapshot?: true\n updatedAt: string\n versionData: T\n}\n\nexport type CreateGlobalVersion = <T extends JsonObject = JsonObject>(\n args: CreateGlobalVersionArgs<T>,\n) => Promise<Omit<TypeWithVersion<T>, 'parent'>>\n\nexport type DeleteVersions = (args: DeleteVersionsArgs) => Promise<void>\n\nexport type UpdateVersionArgs<T extends JsonObject = JsonObject> = {\n collection: CollectionSlug\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n versionData: {\n createdAt?: string\n latest?: boolean\n parent?: number | string\n publishedLocale?: string\n updatedAt?: string\n version: T\n }\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\n/**\n * @todo type as Promise<TypeWithVersion<T> | null> in 4.0\n */\nexport type UpdateVersion = <T extends JsonObject = JsonObject>(\n args: UpdateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n locale?: string\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n}\n\nexport type FindDistinctArgs = {\n collection: CollectionSlug\n field: string\n limit?: number\n locale?: string\n page?: number\n req?: Partial<PayloadRequest>\n sort?: Sort\n where?: Where\n}\n\nexport type PaginatedDistinctDocs<T extends Record<string, unknown>> = {\n hasNextPage: boolean\n hasPrevPage: boolean\n limit: number\n nextPage?: null | number | undefined\n page: number\n pagingCounter: number\n prevPage?: null | number | undefined\n totalDocs: number\n totalPages: number\n values: T[]\n}\n\nexport type FindDistinct = (\n args: FindDistinctArgs,\n) => Promise<PaginatedDistinctDocs<Record<string, any>>>\n\nexport type Create = (args: CreateArgs) => Promise<Document>\n\nexport type UpdateOneArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n joins?: JoinQuery\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\n/**\n * @todo type as Promise<Document | null> in 4.0\n */\nexport type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type UpdateManyArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n joins?: JoinQuery\n limit?: number\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n sort?: Sort\n where: Where\n}\n\nexport type UpdateMany = (args: UpdateManyArgs) => Promise<Document[] | null>\n\nexport type UpdateJobsArgs = {\n data: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n} & (\n | {\n id: number | string\n limit?: never\n sort?: never\n where?: never\n }\n | {\n id?: never\n limit?: number\n sort?: Sort\n where: Where\n }\n)\n\nexport type UpdateJobs = (args: UpdateJobsArgs) => Promise<Job[] | null>\n\nexport type UpsertArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n joins?: JoinQuery\n locale?: string\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n where: Where\n}\n\nexport type Upsert = (args: UpsertArgs) => Promise<Document>\n\nexport type DeleteOneArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n where: Where\n}\n\n/**\n * @todo type as Promise<Document | null> in 4.0\n */\nexport type DeleteOne = (args: DeleteOneArgs) => Promise<Document>\n\nexport type DeleteManyArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n req?: Partial<PayloadRequest>\n where: Where\n}\n\nexport type DeleteMany = (args: DeleteManyArgs) => Promise<void>\n\nexport type Migration = {\n down: (args: unknown) => Promise<void>\n up: (args: unknown) => Promise<void>\n} & MigrationData\n\nexport type MigrationData = {\n batch?: number\n id?: string\n name: string\n}\n\nexport type PaginatedDocs<T = any> = {\n docs: T[]\n hasNextPage: boolean\n hasPrevPage: boolean\n limit: number\n nextPage?: null | number | undefined\n page?: number\n pagingCounter: number\n prevPage?: null | number | undefined\n totalDocs: number\n totalPages: number\n}\n\nexport type DatabaseAdapterResult<T = BaseDatabaseAdapter> = {\n allowIDOnCreate?: boolean\n defaultIDType: 'number' | 'text'\n init: (args: { payload: Payload }) => T\n /**\n * The name of the database adapter. For example, \"postgres\" or \"mongoose\".\n *\n * @todo make required in 4.0\n */\n name?: string\n}\n\nexport type DBIdentifierName =\n | ((Args: {\n /** The name of the parent table when using relational DBs */\n tableName?: string\n }) => string)\n | string\n\nexport type DynamicMigrationTemplate = (args: { filePath: string; payload: Payload }) => Promise<{\n downSQL?: string\n imports?: string\n upSQL?: string\n}>\n\nexport type MigrationTemplateArgs = {\n downSQL?: string\n dynamic?: DynamicMigrationTemplate\n imports?: string\n packageName?: string\n upSQL?: string\n}\n\nexport type GenerateSchemaArgs = {\n log?: boolean\n outputFile?: string\n prettify?: boolean\n}\n\nexport type GenerateSchema = (args?: GenerateSchemaArgs) => Promise<void>\n"],"names":[],"mappings":"AAgvBA,WAAyE"}
1
+ {"version":3,"sources":["../../src/database/types.ts"],"sourcesContent":["import type { TypeWithID } from '../collections/config/types.js'\nimport type { CollectionSlug, GlobalSlug, Job } from '../index.js'\nimport type {\n Document,\n JoinQuery,\n JsonObject,\n Payload,\n PayloadRequest,\n SelectType,\n Sort,\n Where,\n} from '../types/index.js'\nimport type { TypeWithVersion } from '../versions/types.js'\n\nexport type { TypeWithVersion }\n\nexport interface BaseDatabaseAdapter {\n allowIDOnCreate?: boolean\n /**\n * Start a transaction, requiring commitTransaction() to be called for any changes to be made.\n * @returns an identifier for the transaction or null if one cannot be established\n */\n beginTransaction: BeginTransaction\n /**\n * When true, bulk operations will process documents one at a time\n * in separate transactions instead of all at once in a single transaction.\n * Useful for avoiding transaction limitations with large datasets.\n *\n * @default false\n */\n bulkOperationsSingleTransaction?: boolean\n\n /**\n * Persist the changes made since the start of the transaction.\n */\n commitTransaction: CommitTransaction\n\n /**\n * Open the connection to the database\n */\n connect?: Connect\n count: Count\n countGlobalVersions: CountGlobalVersions\n countVersions: CountVersions\n\n create: Create\n\n createGlobal: CreateGlobal\n\n createGlobalVersion: CreateGlobalVersion\n /**\n * Output a migration file\n */\n createMigration: CreateMigration\n\n createVersion: CreateVersion\n\n /**\n * Specify if the ID is a text or number field by default within this database adapter.\n */\n defaultIDType: 'number' | 'text'\n\n deleteMany: DeleteMany\n\n deleteOne: DeleteOne\n deleteVersions: DeleteVersions\n\n /**\n * Terminate the connection with the database\n */\n destroy?: Destroy\n\n find: Find\n\n findDistinct: FindDistinct\n\n findGlobal: FindGlobal\n\n findGlobalVersions: FindGlobalVersions\n\n findOne: FindOne\n\n findVersions: FindVersions\n\n generateSchema?: GenerateSchema\n\n /**\n * Perform startup tasks required to interact with the database such as building Schema and models\n */\n init?: Init\n\n /**\n * Run any migration up functions that have not yet been performed and update the status\n */\n migrate: (args?: { migrations?: Migration[] }) => Promise<void>\n /**\n * Run any migration down functions that have been performed\n */\n migrateDown: () => Promise<void>\n\n /**\n * Drop the current database and run all migrate up functions\n */\n migrateFresh: (args: { forceAcceptWarning?: boolean }) => Promise<void>\n /**\n * Run all migration down functions before running up\n */\n migrateRefresh: () => Promise<void>\n /**\n * Run all migrate down functions\n */\n migrateReset: () => Promise<void>\n /**\n * Read the current state of migrations and output the result to show which have been run\n */\n migrateStatus: () => Promise<void>\n\n /**\n * Path to read and write migration files from\n */\n migrationDir: string\n\n /**\n * The name of the database adapter\n */\n name: string\n /**\n * Full package name of the database adapter\n *\n * @example @payloadcms/db-postgres\n */\n packageName: string\n /**\n * reference to the instance of payload\n */\n payload: Payload\n\n queryDrafts: QueryDrafts\n\n /**\n * Abort any changes since the start of the transaction.\n */\n rollbackTransaction: RollbackTransaction\n\n /**\n * A key-value store of all sessions open (used for transactions)\n */\n sessions?: {\n [id: string]: {\n db: unknown\n reject: () => Promise<void>\n resolve: () => Promise<void>\n }\n }\n\n /**\n * Updates a global that exists. If the global doesn't exist yet, this will not work - you should use `createGlobal` instead.\n */\n updateGlobal: UpdateGlobal\n\n updateGlobalVersion: UpdateGlobalVersion\n\n updateJobs: UpdateJobs\n\n updateMany: UpdateMany\n\n updateOne: UpdateOne\n updateVersion: UpdateVersion\n upsert: Upsert\n}\n\nexport type Init = () => Promise<void> | void\n\ntype ConnectArgs = {\n hotReload: boolean\n}\n\nexport type Connect = (args?: ConnectArgs) => Promise<void>\n\nexport type Destroy = () => Promise<void>\n\nexport type CreateMigration = (args: {\n file?: string\n forceAcceptWarning?: boolean\n migrationName?: string\n payload: Payload\n /**\n * Skips the prompt asking to create empty migrations\n */\n skipEmpty?: boolean\n}) => Promise<void> | void\n\nexport type Transaction = (\n callback: () => Promise<void>,\n options?: Record<string, unknown>,\n) => Promise<void>\n\nexport type BeginTransaction = (\n options?: Record<string, unknown>,\n) => Promise<null | number | string>\n\nexport type RollbackTransaction = (id: number | Promise<number | string> | string) => Promise<void>\n\nexport type CommitTransaction = (id: number | Promise<number | string> | string) => Promise<void>\n\nexport type QueryDraftsArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req?: Partial<PayloadRequest>\n select?: SelectType\n sort?: Sort\n where?: Where\n}\n\nexport type QueryDrafts = <T = TypeWithID>(args: QueryDraftsArgs) => Promise<PaginatedDocs<T>>\n\nexport type FindOneArgs = {\n collection: CollectionSlug\n draftsEnabled?: boolean\n joins?: JoinQuery\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n where?: Where\n}\n\nexport type FindOne = <T extends TypeWithID>(args: FindOneArgs) => Promise<null | T>\n\nexport type FindArgs = {\n collection: CollectionSlug\n draftsEnabled?: boolean\n joins?: JoinQuery\n /** Setting limit to 1 is equal to the previous Model.findOne(). Setting limit to 0 disables the limit */\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n projection?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n select?: SelectType\n /**\n * @deprecated This parameter is going to be removed in the next major version. Use page instead.\n */\n skip?: number\n sort?: Sort\n versions?: boolean\n where?: Where\n}\n\nexport type Find = <T = TypeWithID>(args: FindArgs) => Promise<PaginatedDocs<T>>\n\nexport type CountArgs = {\n collection: CollectionSlug\n locale?: string\n req?: Partial<PayloadRequest>\n where?: Where\n}\n\nexport type Count = (args: CountArgs) => Promise<{ totalDocs: number }>\n\nexport type CountVersions = (args: CountArgs) => Promise<{ totalDocs: number }>\n\nexport type CountGlobalVersionArgs = {\n global: string\n locale?: string\n req?: Partial<PayloadRequest>\n where?: Where\n}\n\nexport type CountGlobalVersions = (args: CountGlobalVersionArgs) => Promise<{ totalDocs: number }>\n\ntype BaseVersionArgs = {\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req?: Partial<PayloadRequest>\n select?: SelectType\n /**\n * @deprecated This parameter is going to be removed in the next major version. Use page instead.\n */\n skip?: number\n sort?: Sort\n versions?: boolean\n where?: Where\n}\n\nexport type FindVersionsArgs = {\n collection: CollectionSlug\n} & BaseVersionArgs\n\nexport type FindVersions = <T = JsonObject>(\n args: FindVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type FindGlobalVersionsArgs = {\n global: GlobalSlug\n} & BaseVersionArgs\n\nexport type FindGlobalArgs = {\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n slug: string\n where?: Where\n}\n\nexport type UpdateGlobalVersionArgs<T extends JsonObject = JsonObject> = {\n global: GlobalSlug\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n versionData: {\n createdAt?: string\n latest?: boolean\n parent?: number | string\n publishedLocale?: string\n updatedAt?: string\n version: T\n }\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\n/**\n * @todo type as Promise<TypeWithVersion<T> | null> in 4.0\n */\nexport type UpdateGlobalVersion = <T extends JsonObject = JsonObject>(\n args: UpdateGlobalVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type FindGlobal = <T extends Record<string, unknown> = any>(\n args: FindGlobalArgs,\n) => Promise<T>\n\nexport type CreateGlobalArgs<T extends Record<string, unknown> = any> = {\n data: T\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n slug: string\n}\nexport type CreateGlobal = <T extends Record<string, unknown> = any>(\n args: CreateGlobalArgs<T>,\n) => Promise<T>\n\nexport type UpdateGlobalArgs<T extends Record<string, unknown> = any> = {\n data: T\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n slug: string\n}\n/**\n * @todo type as Promise<T | null> in 4.0\n */\nexport type UpdateGlobal = <T extends Record<string, unknown> = any>(\n args: UpdateGlobalArgs<T>,\n) => Promise<T>\n// export type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type FindGlobalVersions = <T = JsonObject>(\n args: FindGlobalVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type DeleteVersionsArgs = {\n collection?: CollectionSlug\n globalSlug?: GlobalSlug\n locale?: string\n req?: Partial<PayloadRequest>\n sort?: {\n [key: string]: string\n }\n where: Where\n}\n\nexport type CreateVersionArgs<T extends JsonObject = JsonObject> = {\n autosave: boolean\n collectionSlug: CollectionSlug\n createdAt: string\n /** ID of the parent document for which the version should be created for */\n parent: number | string\n publishedLocale?: string\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n /**\n * If provided, the snapshot will be created\n * after a version is created (not during autosave)\n */\n snapshot?: true\n updatedAt: string\n versionData: T\n}\n\nexport type CreateVersion = <T extends JsonObject = JsonObject>(\n args: CreateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateGlobalVersionArgs<T extends JsonObject = JsonObject> = {\n autosave: boolean\n createdAt: string\n globalSlug: GlobalSlug\n publishedLocale?: string\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n /**\n * If provided, the snapshot will be created\n * after a version is created (not during autosave)\n */\n snapshot?: true\n updatedAt: string\n versionData: T\n}\n\nexport type CreateGlobalVersion = <T extends JsonObject = JsonObject>(\n args: CreateGlobalVersionArgs<T>,\n) => Promise<Omit<TypeWithVersion<T>, 'parent'>>\n\nexport type DeleteVersions = (args: DeleteVersionsArgs) => Promise<void>\n\nexport type UpdateVersionArgs<T extends JsonObject = JsonObject> = {\n collection: CollectionSlug\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n versionData: {\n createdAt?: string\n latest?: boolean\n parent?: number | string\n publishedLocale?: string\n updatedAt?: string\n version: T\n }\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\n/**\n * @todo type as Promise<TypeWithVersion<T> | null> in 4.0\n */\nexport type UpdateVersion = <T extends JsonObject = JsonObject>(\n args: UpdateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n locale?: string\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n}\n\nexport type FindDistinctArgs = {\n collection: CollectionSlug\n field: string\n limit?: number\n locale?: string\n page?: number\n req?: Partial<PayloadRequest>\n sort?: Sort\n where?: Where\n}\n\nexport type PaginatedDistinctDocs<T extends Record<string, unknown>> = {\n hasNextPage: boolean\n hasPrevPage: boolean\n limit: number\n nextPage?: null | number | undefined\n page: number\n pagingCounter: number\n prevPage?: null | number | undefined\n totalDocs: number\n totalPages: number\n values: T[]\n}\n\nexport type FindDistinct = (\n args: FindDistinctArgs,\n) => Promise<PaginatedDistinctDocs<Record<string, any>>>\n\nexport type Create = (args: CreateArgs) => Promise<Document>\n\nexport type UpdateOneArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n joins?: JoinQuery\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\n/**\n * @todo type as Promise<Document | null> in 4.0\n */\nexport type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type UpdateManyArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n joins?: JoinQuery\n limit?: number\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n sort?: Sort\n where: Where\n}\n\nexport type UpdateMany = (args: UpdateManyArgs) => Promise<Document[] | null>\n\nexport type UpdateJobsArgs = {\n data: Record<string, unknown>\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n} & (\n | {\n id: number | string\n limit?: never\n sort?: never\n where?: never\n }\n | {\n id?: never\n limit?: number\n sort?: Sort\n where: Where\n }\n)\n\nexport type UpdateJobs = (args: UpdateJobsArgs) => Promise<Job[] | null>\n\nexport type UpsertArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n joins?: JoinQuery\n locale?: string\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n where: Where\n}\n\nexport type Upsert = (args: UpsertArgs) => Promise<Document>\n\nexport type DeleteOneArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n req?: Partial<PayloadRequest>\n /**\n * If true, returns the updated documents\n *\n * @default true\n */\n returning?: boolean\n select?: SelectType\n where: Where\n}\n\n/**\n * @todo type as Promise<Document | null> in 4.0\n */\nexport type DeleteOne = (args: DeleteOneArgs) => Promise<Document>\n\nexport type DeleteManyArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n req?: Partial<PayloadRequest>\n where: Where\n}\n\nexport type DeleteMany = (args: DeleteManyArgs) => Promise<void>\n\nexport type Migration = {\n down: (args: unknown) => Promise<void>\n up: (args: unknown) => Promise<void>\n} & MigrationData\n\nexport type MigrationData = {\n batch?: number\n id?: string\n name: string\n}\n\nexport type PaginatedDocs<T = any> = {\n docs: T[]\n hasNextPage: boolean\n hasPrevPage: boolean\n limit: number\n nextPage?: null | number | undefined\n page?: number\n pagingCounter: number\n prevPage?: null | number | undefined\n totalDocs: number\n totalPages: number\n}\n\nexport type DatabaseAdapterResult<T = BaseDatabaseAdapter> = {\n allowIDOnCreate?: boolean\n defaultIDType: 'number' | 'text'\n init: (args: { payload: Payload }) => T\n /**\n * The name of the database adapter. For example, \"postgres\" or \"mongoose\".\n *\n * @todo make required in 4.0\n */\n name?: string\n}\n\nexport type DBIdentifierName =\n | ((Args: {\n /** The name of the parent table when using relational DBs */\n tableName?: string\n }) => string)\n | string\n\nexport type DynamicMigrationTemplate = (args: { filePath: string; payload: Payload }) => Promise<{\n downSQL?: string\n imports?: string\n upSQL?: string\n}>\n\nexport type MigrationTemplateArgs = {\n downSQL?: string\n dynamic?: DynamicMigrationTemplate\n imports?: string\n packageName?: string\n upSQL?: string\n}\n\nexport type GenerateSchemaArgs = {\n log?: boolean\n outputFile?: string\n prettify?: boolean\n}\n\nexport type GenerateSchema = (args?: GenerateSchemaArgs) => Promise<void>\n"],"names":[],"mappings":"AA0uBA,WAAyE"}
@@ -1345,15 +1345,9 @@ interface BaseDatabaseAdapter {
1345
1345
  */
1346
1346
  beginTransaction: BeginTransaction;
1347
1347
  /**
1348
- * When true, bulk operations will process documents in separate transactions instead of in a single transaction.
1349
- * Useful for avoiding transaction limitations with large datasets in DocumentDB and Cosmos DB.
1350
- *
1351
- * Drawbacks:
1352
- * - Delete and update operations can no longer be rolled back
1353
- * - Delete and update operations may no longer have access to isolated data that other documents
1354
- * may have committed in the same transaction. This can lead to errors if you try to delete or update documents that have not yet been committed.
1355
- *
1356
- * // TODO: Rename to bulkOperationsSeparateTransactions in 4.0
1348
+ * When true, bulk operations will process documents one at a time
1349
+ * in separate transactions instead of all at once in a single transaction.
1350
+ * Useful for avoiding transaction limitations with large datasets.
1357
1351
  *
1358
1352
  * @default false
1359
1353
  */
@@ -12912,9 +12906,8 @@ declare const isValidID: (value: number | string, type: "number" | "ObjectID" |
12912
12906
 
12913
12907
  /**
12914
12908
  * Rollback the transaction from the req using the db adapter and removes it from the req
12915
- * @returns true if a transaction was rolled back, false if no transaction existed
12916
12909
  */
12917
- declare function killTransaction(req: MarkRequired<Partial<PayloadRequest>, 'payload'>): Promise<boolean>;
12910
+ declare function killTransaction(req: MarkRequired<Partial<PayloadRequest>, 'payload'>): Promise<void>;
12918
12911
 
12919
12912
  declare const logError: ({ err, payload }: {
12920
12913
  err: unknown;
@@ -2,7 +2,6 @@ import type { MarkRequired } from 'ts-essentials';
2
2
  import type { PayloadRequest } from '../types/index.js';
3
3
  /**
4
4
  * Rollback the transaction from the req using the db adapter and removes it from the req
5
- * @returns true if a transaction was rolled back, false if no transaction existed
6
5
  */
7
- export declare function killTransaction(req: MarkRequired<Partial<PayloadRequest>, 'payload'>): Promise<boolean>;
6
+ export declare function killTransaction(req: MarkRequired<Partial<PayloadRequest>, 'payload'>): Promise<void>;
8
7
  //# sourceMappingURL=killTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"killTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/killTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC,CAYlB"}
1
+ {"version":3,"file":"killTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/killTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD;;GAEG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,GACpD,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Rollback the transaction from the req using the db adapter and removes it from the req
3
- * @returns true if a transaction was rolled back, false if no transaction existed
4
3
  */ export async function killTransaction(req) {
5
4
  const { payload, transactionID } = req;
6
5
  if (transactionID && !(transactionID instanceof Promise)) {
@@ -10,9 +9,7 @@
10
9
  // swallow any errors while attempting to rollback
11
10
  }
12
11
  delete req.transactionID;
13
- return true;
14
12
  }
15
- return false;
16
13
  }
17
14
 
18
15
  //# sourceMappingURL=killTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/killTransaction.ts"],"sourcesContent":["import type { MarkRequired } from 'ts-essentials'\n\nimport type { PayloadRequest } from '../types/index.js'\n\n/**\n * Rollback the transaction from the req using the db adapter and removes it from the req\n * @returns true if a transaction was rolled back, false if no transaction existed\n */\nexport async function killTransaction(\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>,\n): Promise<boolean> {\n const { payload, transactionID } = req\n if (transactionID && !(transactionID instanceof Promise)) {\n try {\n await payload.db.rollbackTransaction(req.transactionID!)\n } catch (ignore) {\n // swallow any errors while attempting to rollback\n }\n delete req.transactionID\n return true\n }\n return false\n}\n"],"names":["killTransaction","req","payload","transactionID","Promise","db","rollbackTransaction","ignore"],"mappings":"AAIA;;;CAGC,GACD,OAAO,eAAeA,gBACpBC,GAAqD;IAErD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGF;IACnC,IAAIE,iBAAiB,CAAEA,CAAAA,yBAAyBC,OAAM,GAAI;QACxD,IAAI;YACF,MAAMF,QAAQG,EAAE,CAACC,mBAAmB,CAACL,IAAIE,aAAa;QACxD,EAAE,OAAOI,QAAQ;QACf,kDAAkD;QACpD;QACA,OAAON,IAAIE,aAAa;QACxB,OAAO;IACT;IACA,OAAO;AACT"}
1
+ {"version":3,"sources":["../../src/utilities/killTransaction.ts"],"sourcesContent":["import type { MarkRequired } from 'ts-essentials'\n\nimport type { PayloadRequest } from '../types/index.js'\n\n/**\n * Rollback the transaction from the req using the db adapter and removes it from the req\n */\nexport async function killTransaction(\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>,\n): Promise<void> {\n const { payload, transactionID } = req\n if (transactionID && !(transactionID instanceof Promise)) {\n try {\n await payload.db.rollbackTransaction(req.transactionID!)\n } catch (ignore) {\n // swallow any errors while attempting to rollback\n }\n delete req.transactionID\n }\n}\n"],"names":["killTransaction","req","payload","transactionID","Promise","db","rollbackTransaction","ignore"],"mappings":"AAIA;;CAEC,GACD,OAAO,eAAeA,gBACpBC,GAAqD;IAErD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGF;IACnC,IAAIE,iBAAiB,CAAEA,CAAAA,yBAAyBC,OAAM,GAAI;QACxD,IAAI;YACF,MAAMF,QAAQG,EAAE,CAACC,mBAAmB,CAACL,IAAIE,aAAa;QACxD,EAAE,OAAOI,QAAQ;QACf,kDAAkD;QACpD;QACA,OAAON,IAAIE,aAAa;IAC1B;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.75.0-internal.30a8241",
3
+ "version": "3.75.0-internal.836af83",
4
4
  "description": "Node, React, Headless CMS and Application Framework built on Next.js",
5
5
  "keywords": [
6
6
  "admin panel",
@@ -115,7 +115,7 @@
115
115
  "undici": "7.18.2",
116
116
  "uuid": "10.0.0",
117
117
  "ws": "^8.16.0",
118
- "@payloadcms/translations": "3.75.0-internal.30a8241"
118
+ "@payloadcms/translations": "3.75.0-internal.836af83"
119
119
  },
120
120
  "devDependencies": {
121
121
  "@hyrious/esbuild-plugin-commonjs": "0.2.6",