payload 3.0.0-beta.126 → 3.0.0-beta.127

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.
package/dist/bin/index.js CHANGED
@@ -79,7 +79,7 @@ export const bin = async ()=>{
79
79
  const limit = args.limit ? parseInt(args.limit, 10) : undefined;
80
80
  const queue = args.queue ? args.queue : undefined;
81
81
  if (args.cron) {
82
- Cron(args.cron, async ()=>{
82
+ new Cron(args.cron, async ()=>{
83
83
  await payload.jobs.run({
84
84
  limit,
85
85
  queue
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bin/index.ts"],"sourcesContent":["import { Cron } from 'croner'\nimport minimist from 'minimist'\nimport { pathToFileURL } from 'node:url'\nimport path from 'path'\n\nimport type { BinScript } from '../config/types.js'\n\nimport { findConfig } from '../config/find.js'\nimport { getPayload } from '../index.js'\nimport { generateImportMap } from './generateImportMap/index.js'\nimport { generateTypes } from './generateTypes.js'\nimport { info } from './info.js'\nimport { loadEnv } from './loadEnv.js'\nimport { migrate } from './migrate.js'\n\nexport const bin = async () => {\n loadEnv()\n\n const args = minimist(process.argv.slice(2))\n const script = (typeof args._[0] === 'string' ? args._[0] : '').toLowerCase()\n\n if (script === 'info') {\n await info()\n return\n }\n\n if (script === 'run') {\n const scriptPath = args._[1]\n if (!scriptPath) {\n console.error('Please provide a script path to run.')\n process.exit(1)\n }\n\n const absoluteScriptPath = path.resolve(process.cwd(), scriptPath)\n\n // Modify process.argv to remove 'run' and the script path\n const originalArgv = process.argv\n process.argv = [process.argv[0], process.argv[1], ...args._.slice(2)]\n\n try {\n await import(pathToFileURL(absoluteScriptPath).toString())\n } catch (error) {\n console.error(`Error running script: ${absoluteScriptPath}`)\n console.error(error)\n process.exit(1)\n } finally {\n // Restore original process.argv\n process.argv = originalArgv\n }\n return\n }\n\n const configPath = findConfig()\n const configPromise = await import(pathToFileURL(configPath).toString())\n let config = await configPromise\n if (config.default) {\n config = await config.default\n }\n\n const userBinScript = Array.isArray(config.bin)\n ? config.bin.find(({ key }) => key === script)\n : false\n\n if (userBinScript) {\n try {\n const script: BinScript = await import(pathToFileURL(userBinScript.scriptPath).toString())\n await script(config)\n } catch (err) {\n console.log(`Could not find associated bin script for the ${userBinScript.key} command`)\n console.error(err)\n }\n\n return\n }\n\n if (script.startsWith('migrate')) {\n return migrate({ config, parsedArgs: args }).then(() => process.exit(0))\n }\n\n if (script === 'generate:types') {\n return generateTypes(config)\n }\n\n if (script === 'generate:importmap') {\n return generateImportMap(config)\n }\n\n if (script === 'jobs:run') {\n const payload = await getPayload({ config })\n const limit = args.limit ? parseInt(args.limit, 10) : undefined\n const queue = args.queue ? args.queue : undefined\n\n if (args.cron) {\n Cron(args.cron, async () => {\n await payload.jobs.run({\n limit,\n queue,\n })\n })\n\n process.stdin.resume() // Keep the process alive\n\n return\n } else {\n return await payload.jobs.run({\n limit,\n queue,\n })\n }\n }\n\n console.error(`Unknown script: \"${script}\".`)\n process.exit(1)\n}\n"],"names":["Cron","minimist","pathToFileURL","path","findConfig","getPayload","generateImportMap","generateTypes","info","loadEnv","migrate","bin","args","process","argv","slice","script","_","toLowerCase","scriptPath","console","error","exit","absoluteScriptPath","resolve","cwd","originalArgv","toString","configPath","configPromise","config","default","userBinScript","Array","isArray","find","key","err","log","startsWith","parsedArgs","then","payload","limit","parseInt","undefined","queue","cron","jobs","run","stdin","resume"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/bin/index.ts"],"sourcesContent":["import { Cron } from 'croner'\nimport minimist from 'minimist'\nimport { pathToFileURL } from 'node:url'\nimport path from 'path'\n\nimport type { BinScript } from '../config/types.js'\n\nimport { findConfig } from '../config/find.js'\nimport { getPayload } from '../index.js'\nimport { generateImportMap } from './generateImportMap/index.js'\nimport { generateTypes } from './generateTypes.js'\nimport { info } from './info.js'\nimport { loadEnv } from './loadEnv.js'\nimport { migrate } from './migrate.js'\n\nexport const bin = async () => {\n loadEnv()\n\n const args = minimist(process.argv.slice(2))\n const script = (typeof args._[0] === 'string' ? args._[0] : '').toLowerCase()\n\n if (script === 'info') {\n await info()\n return\n }\n\n if (script === 'run') {\n const scriptPath = args._[1]\n if (!scriptPath) {\n console.error('Please provide a script path to run.')\n process.exit(1)\n }\n\n const absoluteScriptPath = path.resolve(process.cwd(), scriptPath)\n\n // Modify process.argv to remove 'run' and the script path\n const originalArgv = process.argv\n process.argv = [process.argv[0], process.argv[1], ...args._.slice(2)]\n\n try {\n await import(pathToFileURL(absoluteScriptPath).toString())\n } catch (error) {\n console.error(`Error running script: ${absoluteScriptPath}`)\n console.error(error)\n process.exit(1)\n } finally {\n // Restore original process.argv\n process.argv = originalArgv\n }\n return\n }\n\n const configPath = findConfig()\n const configPromise = await import(pathToFileURL(configPath).toString())\n let config = await configPromise\n if (config.default) {\n config = await config.default\n }\n\n const userBinScript = Array.isArray(config.bin)\n ? config.bin.find(({ key }) => key === script)\n : false\n\n if (userBinScript) {\n try {\n const script: BinScript = await import(pathToFileURL(userBinScript.scriptPath).toString())\n await script(config)\n } catch (err) {\n console.log(`Could not find associated bin script for the ${userBinScript.key} command`)\n console.error(err)\n }\n\n return\n }\n\n if (script.startsWith('migrate')) {\n return migrate({ config, parsedArgs: args }).then(() => process.exit(0))\n }\n\n if (script === 'generate:types') {\n return generateTypes(config)\n }\n\n if (script === 'generate:importmap') {\n return generateImportMap(config)\n }\n\n if (script === 'jobs:run') {\n const payload = await getPayload({ config })\n const limit = args.limit ? parseInt(args.limit, 10) : undefined\n const queue = args.queue ? args.queue : undefined\n\n if (args.cron) {\n new Cron(args.cron, async () => {\n await payload.jobs.run({\n limit,\n queue,\n })\n })\n\n process.stdin.resume() // Keep the process alive\n\n return\n } else {\n return await payload.jobs.run({\n limit,\n queue,\n })\n }\n }\n\n console.error(`Unknown script: \"${script}\".`)\n process.exit(1)\n}\n"],"names":["Cron","minimist","pathToFileURL","path","findConfig","getPayload","generateImportMap","generateTypes","info","loadEnv","migrate","bin","args","process","argv","slice","script","_","toLowerCase","scriptPath","console","error","exit","absoluteScriptPath","resolve","cwd","originalArgv","toString","configPath","configPromise","config","default","userBinScript","Array","isArray","find","key","err","log","startsWith","parsedArgs","then","payload","limit","parseInt","undefined","queue","cron","jobs","run","stdin","resume"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAA;AAChE,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,6BAA6B,EAC9B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAIV,UAAU,EACV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAoB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAA;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gBAEjC,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CA+UvD,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAA;AAChE,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,6BAA6B,EAC9B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAIV,UAAU,EACV,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAoB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAA;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gBAEjC,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAoUvD,CAAA"}
@@ -53,15 +53,6 @@ export const createOperation = async (incomingArgs)=>{
53
53
  }, collectionConfig.access.create);
54
54
  }
55
55
  // /////////////////////////////////////
56
- // Custom id
57
- // /////////////////////////////////////
58
- if (payload.collections[collectionConfig.slug].customIDType) {
59
- data = {
60
- _id: data.id,
61
- ...data
62
- };
63
- }
64
- // /////////////////////////////////////
65
56
  // Generate data for all files and sizes
66
57
  // /////////////////////////////////////
67
58
  const { data: newFileData, files: filesToUpload } = await generateFileData({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { CollectionSlug, JsonObject } from '../../index.js'\nimport type {\n Document,\n PayloadRequest,\n PopulateType,\n SelectType,\n TransformCollectionWithSelect,\n} from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n RequiredDataFromCollectionSlug,\n SelectFromCollectionSlug,\n} from '../config/types.js'\n\nimport { ensureUsernameOrEmail } from '../../auth/ensureUsernameOrEmail.js'\nimport executeAccess from '../../auth/executeAccess.js'\nimport { sendVerificationEmail } from '../../auth/sendVerificationEmail.js'\nimport { registerLocalStrategy } from '../../auth/strategies/local/register.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n autosave?: boolean\n collection: Collection\n data: RequiredDataFromCollectionSlug<TSlug>\n depth?: number\n disableTransaction?: boolean\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n populate?: PopulateType\n req: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n}\n\nexport const createOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments<TSlug>,\n): Promise<TransformCollectionWithSelect<TSlug, TSelect>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = !args.disableTransaction && (await initTransaction(args.req))\n\n ensureUsernameOrEmail<TSlug>({\n authOptions: args.collection.config.auth,\n collectionSlug: args.collection.config.slug,\n data: args.data,\n operation: 'create',\n req: args.req,\n })\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'create',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n disableVerificationEmail,\n draft = false,\n overrideAccess,\n overwriteExistingFiles = false,\n populate,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { config },\n },\n req,\n select,\n showHiddenFields,\n } = args\n\n let { data } = args\n\n const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // Custom id\n // /////////////////////////////////////\n\n if (payload.collections[collectionConfig.slug].customIDType) {\n data = {\n _id: data.id,\n ...data,\n }\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n operation: 'create',\n overwriteExistingFiles,\n req,\n throwOnMissingFile:\n !shouldSaveDraft && collection.config.upload.filesRequiredOnCreate !== false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n global: null,\n operation: 'create',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collections\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(\n async (priorHook: BeforeValidateHook | Promise<void>, hook: BeforeValidateHook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const resultWithLocales = await beforeChange<JsonObject>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n docWithLocales: {},\n global: null,\n operation: 'create',\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate,\n })\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // Create\n // /////////////////////////////////////\n\n let doc\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n if (collectionConfig.auth.verify) {\n resultWithLocales._verified = Boolean(resultWithLocales._verified) || false\n resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex')\n }\n\n doc = await registerLocalStrategy({\n collection: collectionConfig,\n doc: resultWithLocales,\n password: data.password as string,\n payload: req.payload,\n req,\n select,\n })\n } else {\n doc = await payload.db.create({\n collection: collectionConfig.slug,\n data: resultWithLocales,\n req,\n select,\n })\n }\n\n const verificationToken = doc._verificationToken\n let result: Document = sanitizeInternalFields(doc)\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await saveVersion({\n id: result.id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Send verification email if applicable\n // /////////////////////////////////////\n\n if (collectionConfig.auth && collectionConfig.auth.verify && result.email) {\n await sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n email: payload.email,\n req,\n token: verificationToken,\n user: result,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n populate,\n req,\n select,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'create',\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(\n async (priorHook: AfterChangeHook | Promise<void>, hook: AfterChangeHook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'create',\n previousDoc: {},\n req: args.req,\n })) || result\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<TSlug>({\n args,\n collection: collectionConfig,\n operation: 'create',\n result,\n })\n\n await unlinkTempFiles({ collectionConfig, config, req })\n\n // /////////////////////////////////////\n // Return results\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":["crypto","ensureUsernameOrEmail","executeAccess","sendVerificationEmail","registerLocalStrategy","afterChange","afterRead","beforeChange","beforeValidate","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","sanitizeInternalFields","saveVersion","buildAfterOperation","createOperation","incomingArgs","args","shouldCommit","disableTransaction","req","authOptions","collection","config","auth","collectionSlug","slug","data","operation","hooks","beforeOperation","reduce","priorHook","hook","context","Promise","resolve","autosave","collectionConfig","depth","disableVerificationEmail","draft","overrideAccess","overwriteExistingFiles","populate","fallbackLocale","locale","payload","select","showHiddenFields","shouldSaveDraft","Boolean","versions","drafts","access","create","collections","customIDType","_id","id","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","validate","disableLocalStorage","disableLocalStrategy","verify","_verified","_verificationToken","randomBytes","toString","password","db","verificationToken","result","email","disableEmail","token","user","previousDoc","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { CollectionSlug, JsonObject } from '../../index.js'\nimport type {\n Document,\n PayloadRequest,\n PopulateType,\n SelectType,\n TransformCollectionWithSelect,\n} from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n RequiredDataFromCollectionSlug,\n SelectFromCollectionSlug,\n} from '../config/types.js'\n\nimport { ensureUsernameOrEmail } from '../../auth/ensureUsernameOrEmail.js'\nimport executeAccess from '../../auth/executeAccess.js'\nimport { sendVerificationEmail } from '../../auth/sendVerificationEmail.js'\nimport { registerLocalStrategy } from '../../auth/strategies/local/register.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n autosave?: boolean\n collection: Collection\n data: RequiredDataFromCollectionSlug<TSlug>\n depth?: number\n disableTransaction?: boolean\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n populate?: PopulateType\n req: PayloadRequest\n select?: SelectType\n showHiddenFields?: boolean\n}\n\nexport const createOperation = async <\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n incomingArgs: Arguments<TSlug>,\n): Promise<TransformCollectionWithSelect<TSlug, TSelect>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = !args.disableTransaction && (await initTransaction(args.req))\n\n ensureUsernameOrEmail<TSlug>({\n authOptions: args.collection.config.auth,\n collectionSlug: args.collection.config.slug,\n data: args.data,\n operation: 'create',\n req: args.req,\n })\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'create',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n disableVerificationEmail,\n draft = false,\n overrideAccess,\n overwriteExistingFiles = false,\n populate,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { config },\n },\n req,\n select,\n showHiddenFields,\n } = args\n\n let { data } = args\n\n const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n operation: 'create',\n overwriteExistingFiles,\n req,\n throwOnMissingFile:\n !shouldSaveDraft && collection.config.upload.filesRequiredOnCreate !== false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n global: null,\n operation: 'create',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collections\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(\n async (priorHook: BeforeValidateHook | Promise<void>, hook: BeforeValidateHook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const resultWithLocales = await beforeChange<JsonObject>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n docWithLocales: {},\n global: null,\n operation: 'create',\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate,\n })\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // Create\n // /////////////////////////////////////\n\n let doc\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n if (collectionConfig.auth.verify) {\n resultWithLocales._verified = Boolean(resultWithLocales._verified) || false\n resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex')\n }\n\n doc = await registerLocalStrategy({\n collection: collectionConfig,\n doc: resultWithLocales,\n password: data.password as string,\n payload: req.payload,\n req,\n select,\n })\n } else {\n doc = await payload.db.create({\n collection: collectionConfig.slug,\n data: resultWithLocales,\n req,\n select,\n })\n }\n\n const verificationToken = doc._verificationToken\n let result: Document = sanitizeInternalFields(doc)\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await saveVersion({\n id: result.id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Send verification email if applicable\n // /////////////////////////////////////\n\n if (collectionConfig.auth && collectionConfig.auth.verify && result.email) {\n await sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n email: payload.email,\n req,\n token: verificationToken,\n user: result,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n populate,\n req,\n select,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'create',\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(\n async (priorHook: AfterChangeHook | Promise<void>, hook: AfterChangeHook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'create',\n previousDoc: {},\n req: args.req,\n })) || result\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<TSlug>({\n args,\n collection: collectionConfig,\n operation: 'create',\n result,\n })\n\n await unlinkTempFiles({ collectionConfig, config, req })\n\n // /////////////////////////////////////\n // Return results\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":["crypto","ensureUsernameOrEmail","executeAccess","sendVerificationEmail","registerLocalStrategy","afterChange","afterRead","beforeChange","beforeValidate","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","sanitizeInternalFields","saveVersion","buildAfterOperation","createOperation","incomingArgs","args","shouldCommit","disableTransaction","req","authOptions","collection","config","auth","collectionSlug","slug","data","operation","hooks","beforeOperation","reduce","priorHook","hook","context","Promise","resolve","autosave","collectionConfig","depth","disableVerificationEmail","draft","overrideAccess","overwriteExistingFiles","populate","fallbackLocale","locale","payload","select","showHiddenFields","shouldSaveDraft","Boolean","versions","drafts","access","create","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","validate","disableLocalStorage","disableLocalStrategy","verify","_verified","_verificationToken","randomBytes","toString","password","db","verificationToken","result","id","email","disableEmail","token","user","previousDoc","error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,6BAA6B,EAC7B,KAAK,EACN,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAMrE,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,UAAU,IAAI;IAC9E,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,GAAG,WAAW,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,wBAAsB,SAAS,CAC7B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAE/C,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CA8CvE"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,6BAA6B,EAC7B,KAAK,EACN,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAMrE,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,UAAU,IAAI;IAC9E,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,GAAG,WAAW,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,wBAAsB,SAAS,CAC7B,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAE/C,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CA+CvE"}
@@ -2,8 +2,7 @@ import { APIError } from '../../../errors/index.js';
2
2
  import { createLocalReq } from '../../../utilities/createLocalReq.js';
3
3
  import { findOperation } from '../find.js';
4
4
  export async function findLocal(payload, options) {
5
- const { collection: collectionSlug, currentDepth, depth, disableErrors, draft = false, includeLockStatus, joins, limit, overrideAccess = true, page, pagination = true, select, // select,
6
- showHiddenFields, sort, where } = options;
5
+ const { collection: collectionSlug, currentDepth, depth, disableErrors, draft = false, includeLockStatus, joins, limit, overrideAccess = true, page, pagination = true, populate, select, showHiddenFields, sort, where } = options;
7
6
  const collection = payload.collections[collectionSlug];
8
7
  if (!collection) {
9
8
  throw new APIError(`The collection with slug ${String(collectionSlug)} can't be found. Find Operation.`);
@@ -20,6 +19,7 @@ export async function findLocal(payload, options) {
20
19
  overrideAccess,
21
20
  page,
22
21
  pagination,
22
+ populate,
23
23
  req: await createLocalReq(options, payload),
24
24
  select,
25
25
  showHiddenFields,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/operations/local/find.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../../database/types.js'\nimport type {\n CollectionSlug,\n JoinQuery,\n Payload,\n RequestContext,\n TypedLocale,\n} from '../../../index.js'\nimport type {\n Document,\n PayloadRequest,\n PopulateType,\n SelectType,\n Sort,\n TransformCollectionWithSelect,\n Where,\n} from '../../../types/index.js'\nimport type { SelectFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { findOperation } from '../find.js'\n\nexport type Options<TSlug extends CollectionSlug, TSelect extends SelectType> = {\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n fallbackLocale?: TypedLocale\n includeLockStatus?: boolean\n joins?: JoinQuery<TSlug>\n limit?: number\n locale?: 'all' | TypedLocale\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n populate?: PopulateType\n req?: PayloadRequest\n select?: TSelect\n showHiddenFields?: boolean\n sort?: Sort\n user?: Document\n where?: Where\n}\n\nexport async function findLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: Options<TSlug, TSelect>,\n): Promise<PaginatedDocs<TransformCollectionWithSelect<TSlug, TSelect>>> {\n const {\n collection: collectionSlug,\n currentDepth,\n depth,\n disableErrors,\n draft = false,\n includeLockStatus,\n joins,\n limit,\n overrideAccess = true,\n page,\n pagination = true,\n select,\n // select,\n showHiddenFields,\n sort,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Find Operation.`,\n )\n }\n\n return findOperation<TSlug, TSelect>({\n collection,\n currentDepth,\n depth,\n disableErrors,\n draft,\n includeLockStatus,\n joins,\n limit,\n overrideAccess,\n page,\n pagination,\n req: await createLocalReq(options, payload),\n select,\n showHiddenFields,\n sort,\n where,\n })\n}\n"],"names":["APIError","createLocalReq","findOperation","findLocal","payload","options","collection","collectionSlug","currentDepth","depth","disableErrors","draft","includeLockStatus","joins","limit","overrideAccess","page","pagination","select","showHiddenFields","sort","where","collections","String","req"],"mappings":"AAmBA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,aAAa,QAAQ,aAAY;AA6B1C,OAAO,eAAeC,UAIpBC,OAAgB,EAChBC,OAAgC;IAEhC,MAAM,EACJC,YAAYC,cAAc,EAC1BC,YAAY,EACZC,KAAK,EACLC,aAAa,EACbC,QAAQ,KAAK,EACbC,iBAAiB,EACjBC,KAAK,EACLC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,IAAI,EACJC,aAAa,IAAI,EACjBC,MAAM,EACN,UAAU;IACVC,gBAAgB,EAChBC,IAAI,EACJC,KAAK,EACN,GAAGhB;IAEJ,MAAMC,aAAaF,QAAQkB,WAAW,CAACf,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEuB,OAAOhB,gBAAgB,gCAAgC,CAAC;IAExF;IAEA,OAAOL,cAA8B;QACnCI;QACAE;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAO,KAAK,MAAMvB,eAAeI,SAASD;QACnCc;QACAC;QACAC;QACAC;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../src/collections/operations/local/find.ts"],"sourcesContent":["import type { PaginatedDocs } from '../../../database/types.js'\nimport type {\n CollectionSlug,\n JoinQuery,\n Payload,\n RequestContext,\n TypedLocale,\n} from '../../../index.js'\nimport type {\n Document,\n PayloadRequest,\n PopulateType,\n SelectType,\n Sort,\n TransformCollectionWithSelect,\n Where,\n} from '../../../types/index.js'\nimport type { SelectFromCollectionSlug } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { findOperation } from '../find.js'\n\nexport type Options<TSlug extends CollectionSlug, TSelect extends SelectType> = {\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n fallbackLocale?: TypedLocale\n includeLockStatus?: boolean\n joins?: JoinQuery<TSlug>\n limit?: number\n locale?: 'all' | TypedLocale\n overrideAccess?: boolean\n page?: number\n pagination?: boolean\n populate?: PopulateType\n req?: PayloadRequest\n select?: TSelect\n showHiddenFields?: boolean\n sort?: Sort\n user?: Document\n where?: Where\n}\n\nexport async function findLocal<\n TSlug extends CollectionSlug,\n TSelect extends SelectFromCollectionSlug<TSlug>,\n>(\n payload: Payload,\n options: Options<TSlug, TSelect>,\n): Promise<PaginatedDocs<TransformCollectionWithSelect<TSlug, TSelect>>> {\n const {\n collection: collectionSlug,\n currentDepth,\n depth,\n disableErrors,\n draft = false,\n includeLockStatus,\n joins,\n limit,\n overrideAccess = true,\n page,\n pagination = true,\n populate,\n select,\n showHiddenFields,\n sort,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Find Operation.`,\n )\n }\n\n return findOperation<TSlug, TSelect>({\n collection,\n currentDepth,\n depth,\n disableErrors,\n draft,\n includeLockStatus,\n joins,\n limit,\n overrideAccess,\n page,\n pagination,\n populate,\n req: await createLocalReq(options, payload),\n select,\n showHiddenFields,\n sort,\n where,\n })\n}\n"],"names":["APIError","createLocalReq","findOperation","findLocal","payload","options","collection","collectionSlug","currentDepth","depth","disableErrors","draft","includeLockStatus","joins","limit","overrideAccess","page","pagination","populate","select","showHiddenFields","sort","where","collections","String","req"],"mappings":"AAmBA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,aAAa,QAAQ,aAAY;AA6B1C,OAAO,eAAeC,UAIpBC,OAAgB,EAChBC,OAAgC;IAEhC,MAAM,EACJC,YAAYC,cAAc,EAC1BC,YAAY,EACZC,KAAK,EACLC,aAAa,EACbC,QAAQ,KAAK,EACbC,iBAAiB,EACjBC,KAAK,EACLC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,IAAI,EACJC,aAAa,IAAI,EACjBC,QAAQ,EACRC,MAAM,EACNC,gBAAgB,EAChBC,IAAI,EACJC,KAAK,EACN,GAAGjB;IAEJ,MAAMC,aAAaF,QAAQmB,WAAW,CAAChB,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEwB,OAAOjB,gBAAgB,gCAAgC,CAAC;IAExF;IAEA,OAAOL,cAA8B;QACnCI;QACAE;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAO,KAAK,MAAMxB,eAAeI,SAASD;QACnCe;QACAC;QACAC;QACAC;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrateRefresh.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrateRefresh.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAQtD;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,iBA0F7D"}
1
+ {"version":3,"file":"migrateRefresh.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrateRefresh.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAQtD;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,iBAwF7D"}
@@ -10,62 +10,62 @@ import { readMigrationFiles } from './readMigrationFiles.js';
10
10
  const migrationFiles = await readMigrationFiles({
11
11
  payload
12
12
  });
13
- const { existingMigrations, latestBatch } = await getMigrations({
13
+ const { existingMigrations } = await getMigrations({
14
14
  payload
15
15
  });
16
- if (!existingMigrations?.length) {
17
- payload.logger.info({
18
- msg: 'No migrations to rollback.'
19
- });
20
- return;
21
- }
22
- payload.logger.info({
23
- msg: `Rolling back batch ${latestBatch} consisting of ${existingMigrations.length} migration(s).`
24
- });
25
16
  const req = {
26
17
  payload
27
18
  };
28
- // Reverse order of migrations to rollback
29
- existingMigrations.reverse();
30
- for (const migration of existingMigrations){
31
- try {
32
- const migrationFile = migrationFiles.find((m)=>m.name === migration.name);
33
- if (!migrationFile) {
34
- throw new Error(`Migration ${migration.name} not found locally.`);
35
- }
36
- payload.logger.info({
37
- msg: `Migrating down: ${migration.name}`
38
- });
39
- const start = Date.now();
40
- await initTransaction(req);
41
- await migrationFile.down({
42
- payload,
43
- req
44
- });
45
- payload.logger.info({
46
- msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`
47
- });
48
- await payload.delete({
49
- collection: 'payload-migrations',
50
- req,
51
- where: {
52
- name: {
53
- equals: migration.name
19
+ if (existingMigrations?.length) {
20
+ payload.logger.info({
21
+ msg: `Rolling back all ${existingMigrations.length} migration(s).`
22
+ });
23
+ // Reverse order of migrations to rollback
24
+ existingMigrations.reverse();
25
+ for (const migration of existingMigrations){
26
+ try {
27
+ const migrationFile = migrationFiles.find((m)=>m.name === migration.name);
28
+ if (!migrationFile) {
29
+ throw new Error(`Migration ${migration.name} not found locally.`);
30
+ }
31
+ payload.logger.info({
32
+ msg: `Migrating down: ${migration.name}`
33
+ });
34
+ const start = Date.now();
35
+ await initTransaction(req);
36
+ await migrationFile.down({
37
+ payload,
38
+ req
39
+ });
40
+ payload.logger.info({
41
+ msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`
42
+ });
43
+ await payload.delete({
44
+ collection: 'payload-migrations',
45
+ req,
46
+ where: {
47
+ name: {
48
+ equals: migration.name
49
+ }
54
50
  }
51
+ });
52
+ } catch (err) {
53
+ await killTransaction(req);
54
+ let msg = `Error running migration ${migration.name}. Rolling back.`;
55
+ if (err instanceof Error) {
56
+ msg += ` ${err.message}`;
55
57
  }
56
- });
57
- } catch (err) {
58
- await killTransaction(req);
59
- let msg = `Error running migration ${migration.name}. Rolling back.`;
60
- if (err instanceof Error) {
61
- msg += ` ${err.message}`;
58
+ payload.logger.error({
59
+ err,
60
+ msg
61
+ });
62
+ process.exit(1);
62
63
  }
63
- payload.logger.error({
64
- err,
65
- msg
66
- });
67
- process.exit(1);
68
64
  }
65
+ } else {
66
+ payload.logger.info({
67
+ msg: 'No migrations to rollback.'
68
+ });
69
69
  }
70
70
  // Run all migrate up
71
71
  for (const migration of migrationFiles){
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/database/migrations/migrateRefresh.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { BaseDatabaseAdapter } from '../types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getMigrations } from './getMigrations.js'\nimport { readMigrationFiles } from './readMigrationFiles.js'\n\n/**\n * Run all migration down functions before running up\n */\nexport async function migrateRefresh(this: BaseDatabaseAdapter) {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations, latestBatch } = await getMigrations({\n payload,\n })\n\n if (!existingMigrations?.length) {\n payload.logger.info({ msg: 'No migrations to rollback.' })\n return\n }\n\n payload.logger.info({\n msg: `Rolling back batch ${latestBatch} consisting of ${existingMigrations.length} migration(s).`,\n })\n\n const req = { payload } as PayloadRequest\n\n // Reverse order of migrations to rollback\n existingMigrations.reverse()\n\n for (const migration of existingMigrations) {\n try {\n const migrationFile = migrationFiles.find((m) => m.name === migration.name)\n if (!migrationFile) {\n throw new Error(`Migration ${migration.name} not found locally.`)\n }\n\n payload.logger.info({ msg: `Migrating down: ${migration.name}` })\n const start = Date.now()\n await initTransaction(req)\n await migrationFile.down({ payload, req })\n payload.logger.info({\n msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`,\n })\n await payload.delete({\n collection: 'payload-migrations',\n req,\n where: {\n name: {\n equals: migration.name,\n },\n },\n })\n } catch (err: unknown) {\n await killTransaction(req)\n let msg = `Error running migration ${migration.name}. Rolling back.`\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n\n // Run all migrate up\n for (const migration of migrationFiles) {\n payload.logger.info({ msg: `Migrating: ${migration.name}` })\n try {\n const start = Date.now()\n await initTransaction(req)\n await migration.up({ payload, req })\n await payload.create({\n collection: 'payload-migrations',\n data: {\n name: migration.name,\n executed: true,\n },\n req,\n })\n await commitTransaction(req)\n\n payload.logger.info({ msg: `Migrated: ${migration.name} (${Date.now() - start}ms)` })\n } catch (err: unknown) {\n await killTransaction(req)\n let msg = `Error running migration ${migration.name}. Rolling back.`\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n}\n"],"names":["commitTransaction","initTransaction","killTransaction","getMigrations","readMigrationFiles","migrateRefresh","payload","migrationFiles","existingMigrations","latestBatch","length","logger","info","msg","req","reverse","migration","migrationFile","find","m","name","Error","start","Date","now","down","delete","collection","where","equals","err","message","error","process","exit","up","create","data","executed"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D;;CAEC,GACD,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAMH,mBAAmB;QAAEE;IAAQ;IAE1D,MAAM,EAAEE,kBAAkB,EAAEC,WAAW,EAAE,GAAG,MAAMN,cAAc;QAC9DG;IACF;IAEA,IAAI,CAACE,oBAAoBE,QAAQ;QAC/BJ,QAAQK,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK;QAA6B;QACxD;IACF;IAEAP,QAAQK,MAAM,CAACC,IAAI,CAAC;QAClBC,KAAK,CAAC,mBAAmB,EAAEJ,YAAY,eAAe,EAAED,mBAAmBE,MAAM,CAAC,cAAc,CAAC;IACnG;IAEA,MAAMI,MAAM;QAAER;IAAQ;IAEtB,0CAA0C;IAC1CE,mBAAmBO,OAAO;IAE1B,KAAK,MAAMC,aAAaR,mBAAoB;QAC1C,IAAI;YACF,MAAMS,gBAAgBV,eAAeW,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ,UAAUI,IAAI;YAC1E,IAAI,CAACH,eAAe;gBAClB,MAAM,IAAII,MAAM,CAAC,UAAU,EAAEL,UAAUI,IAAI,CAAC,mBAAmB,CAAC;YAClE;YAEAd,QAAQK,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,gBAAgB,EAAEG,UAAUI,IAAI,CAAC,CAAC;YAAC;YAC/D,MAAME,QAAQC,KAAKC,GAAG;YACtB,MAAMvB,gBAAgBa;YACtB,MAAMG,cAAcQ,IAAI,CAAC;gBAAEnB;gBAASQ;YAAI;YACxCR,QAAQK,MAAM,CAACC,IAAI,CAAC;gBAClBC,KAAK,CAAC,gBAAgB,EAAEG,UAAUI,IAAI,CAAC,EAAE,EAAEG,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YACpE;YACA,MAAMhB,QAAQoB,MAAM,CAAC;gBACnBC,YAAY;gBACZb;gBACAc,OAAO;oBACLR,MAAM;wBACJS,QAAQb,UAAUI,IAAI;oBACxB;gBACF;YACF;QACF,EAAE,OAAOU,KAAc;YACrB,MAAM5B,gBAAgBY;YACtB,IAAID,MAAM,CAAC,wBAAwB,EAAEG,UAAUI,IAAI,CAAC,eAAe,CAAC;YACpE,IAAIU,eAAeT,OAAO;gBACxBR,OAAO,CAAC,CAAC,EAAEiB,IAAIC,OAAO,CAAC,CAAC;YAC1B;YACAzB,QAAQK,MAAM,CAACqB,KAAK,CAAC;gBACnBF;gBACAjB;YACF;YACAoB,QAAQC,IAAI,CAAC;QACf;IACF;IAEA,qBAAqB;IACrB,KAAK,MAAMlB,aAAaT,eAAgB;QACtCD,QAAQK,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK,CAAC,WAAW,EAAEG,UAAUI,IAAI,CAAC,CAAC;QAAC;QAC1D,IAAI;YACF,MAAME,QAAQC,KAAKC,GAAG;YACtB,MAAMvB,gBAAgBa;YACtB,MAAME,UAAUmB,EAAE,CAAC;gBAAE7B;gBAASQ;YAAI;YAClC,MAAMR,QAAQ8B,MAAM,CAAC;gBACnBT,YAAY;gBACZU,MAAM;oBACJjB,MAAMJ,UAAUI,IAAI;oBACpBkB,UAAU;gBACZ;gBACAxB;YACF;YACA,MAAMd,kBAAkBc;YAExBR,QAAQK,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,WAAW,EAAEG,UAAUI,IAAI,CAAC,EAAE,EAAEG,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YAAC;QACtF,EAAE,OAAOQ,KAAc;YACrB,MAAM5B,gBAAgBY;YACtB,IAAID,MAAM,CAAC,wBAAwB,EAAEG,UAAUI,IAAI,CAAC,eAAe,CAAC;YACpE,IAAIU,eAAeT,OAAO;gBACxBR,OAAO,CAAC,CAAC,EAAEiB,IAAIC,OAAO,CAAC,CAAC;YAC1B;YACAzB,QAAQK,MAAM,CAACqB,KAAK,CAAC;gBACnBF;gBACAjB;YACF;YACAoB,QAAQC,IAAI,CAAC;QACf;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/database/migrations/migrateRefresh.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { BaseDatabaseAdapter } from '../types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getMigrations } from './getMigrations.js'\nimport { readMigrationFiles } from './readMigrationFiles.js'\n\n/**\n * Run all migration down functions before running up\n */\nexport async function migrateRefresh(this: BaseDatabaseAdapter) {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations } = await getMigrations({\n payload,\n })\n\n const req = { payload } as PayloadRequest\n\n if (existingMigrations?.length) {\n payload.logger.info({\n msg: `Rolling back all ${existingMigrations.length} migration(s).`,\n })\n // Reverse order of migrations to rollback\n existingMigrations.reverse()\n\n for (const migration of existingMigrations) {\n try {\n const migrationFile = migrationFiles.find((m) => m.name === migration.name)\n if (!migrationFile) {\n throw new Error(`Migration ${migration.name} not found locally.`)\n }\n\n payload.logger.info({ msg: `Migrating down: ${migration.name}` })\n const start = Date.now()\n await initTransaction(req)\n await migrationFile.down({ payload, req })\n payload.logger.info({\n msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`,\n })\n await payload.delete({\n collection: 'payload-migrations',\n req,\n where: {\n name: {\n equals: migration.name,\n },\n },\n })\n } catch (err: unknown) {\n await killTransaction(req)\n let msg = `Error running migration ${migration.name}. Rolling back.`\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n } else {\n payload.logger.info({ msg: 'No migrations to rollback.' })\n }\n\n // Run all migrate up\n for (const migration of migrationFiles) {\n payload.logger.info({ msg: `Migrating: ${migration.name}` })\n try {\n const start = Date.now()\n await initTransaction(req)\n await migration.up({ payload, req })\n await payload.create({\n collection: 'payload-migrations',\n data: {\n name: migration.name,\n executed: true,\n },\n req,\n })\n await commitTransaction(req)\n\n payload.logger.info({ msg: `Migrated: ${migration.name} (${Date.now() - start}ms)` })\n } catch (err: unknown) {\n await killTransaction(req)\n let msg = `Error running migration ${migration.name}. Rolling back.`\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n}\n"],"names":["commitTransaction","initTransaction","killTransaction","getMigrations","readMigrationFiles","migrateRefresh","payload","migrationFiles","existingMigrations","req","length","logger","info","msg","reverse","migration","migrationFile","find","m","name","Error","start","Date","now","down","delete","collection","where","equals","err","message","error","process","exit","up","create","data","executed"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.0.0-beta.126",
3
+ "version": "3.0.0-beta.127",
4
4
  "description": "Node, React, Headless CMS and Application Framework built on Next.js",
5
5
  "keywords": [
6
6
  "admin panel",
@@ -77,26 +77,26 @@
77
77
  "ajv": "8.17.1",
78
78
  "bson-objectid": "2.0.4",
79
79
  "ci-info": "^4.0.0",
80
- "console-table-printer": "2.11.2",
81
- "croner": "8.1.2",
80
+ "console-table-printer": "2.12.1",
81
+ "croner": "9.0.0",
82
82
  "dataloader": "2.2.2",
83
83
  "deepmerge": "4.3.1",
84
84
  "file-type": "19.3.0",
85
- "get-tsconfig": "^4.7.2",
85
+ "get-tsconfig": "4.8.1",
86
86
  "http-status": "1.6.2",
87
87
  "image-size": "^1.1.1",
88
- "jose": "5.9.2",
89
- "json-schema-to-typescript": "15.0.1",
88
+ "jose": "5.9.6",
89
+ "json-schema-to-typescript": "15.0.3",
90
90
  "minimist": "1.2.8",
91
91
  "pino": "9.5.0",
92
- "pino-pretty": "11.3.0",
92
+ "pino-pretty": "12.0.0",
93
93
  "pluralize": "8.0.0",
94
94
  "sanitize-filename": "1.6.3",
95
95
  "scmp": "2.1.0",
96
- "ts-essentials": "10.0.2",
97
- "tsx": "4.19.1",
96
+ "ts-essentials": "10.0.3",
97
+ "tsx": "4.19.2",
98
98
  "uuid": "10.0.0",
99
- "@payloadcms/translations": "3.0.0-beta.126"
99
+ "@payloadcms/translations": "3.0.0-beta.127"
100
100
  },
101
101
  "devDependencies": {
102
102
  "@hyrious/esbuild-plugin-commonjs": "^0.2.4",