payload 3.0.0-beta.47 → 3.0.0-beta.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/bundle.js +75 -0
  2. package/dist/admin/LanguageOptions.d.ts +2 -1
  3. package/dist/admin/LanguageOptions.d.ts.map +1 -1
  4. package/dist/admin/LanguageOptions.js.map +1 -1
  5. package/dist/admin/forms/Label.d.ts +1 -0
  6. package/dist/admin/forms/Label.d.ts.map +1 -1
  7. package/dist/admin/forms/Label.js.map +1 -1
  8. package/dist/auth/operations/forgotPassword.js +1 -1
  9. package/dist/auth/operations/forgotPassword.js.map +1 -1
  10. package/dist/auth/operations/local/login.d.ts.map +1 -1
  11. package/dist/auth/operations/local/login.js.map +1 -1
  12. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  13. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  14. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  15. package/dist/auth/operations/local/unlock.js.map +1 -1
  16. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  17. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  18. package/dist/auth/operations/refresh.d.ts.map +1 -1
  19. package/dist/auth/operations/refresh.js.map +1 -1
  20. package/dist/bin/loader/index.d.ts.map +1 -1
  21. package/dist/bin/loader/index.js +2 -1
  22. package/dist/bin/loader/index.js.map +1 -1
  23. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -1
  24. package/dist/bin/loader/resolveOriginalPath.js +6 -2
  25. package/dist/bin/loader/resolveOriginalPath.js.map +1 -1
  26. package/dist/collections/config/client.d.ts +8 -8
  27. package/dist/collections/operations/local/create.d.ts.map +1 -1
  28. package/dist/collections/operations/local/create.js.map +1 -1
  29. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  30. package/dist/collections/operations/local/delete.js.map +1 -1
  31. package/dist/config/defaults.d.ts.map +1 -1
  32. package/dist/config/defaults.js +1 -0
  33. package/dist/config/defaults.js.map +1 -1
  34. package/dist/config/schema.d.ts.map +1 -1
  35. package/dist/config/schema.js +1 -0
  36. package/dist/config/schema.js.map +1 -1
  37. package/dist/config/shared/openGraphSchema.js +2 -2
  38. package/dist/config/shared/openGraphSchema.js.map +1 -1
  39. package/dist/config/types.d.ts +2 -0
  40. package/dist/config/types.d.ts.map +1 -1
  41. package/dist/config/types.js.map +1 -1
  42. package/dist/exports/index.d.ts +122 -0
  43. package/dist/exports/index.d.ts.map +1 -0
  44. package/dist/exports/index.js +103 -0
  45. package/dist/exports/index.js.map +1 -0
  46. package/dist/exports/node.d.ts +1 -1
  47. package/dist/exports/node.js +1 -1
  48. package/dist/exports/node.js.map +1 -1
  49. package/dist/exports/shared.d.ts +19 -0
  50. package/dist/exports/shared.d.ts.map +1 -0
  51. package/dist/exports/shared.js +20 -0
  52. package/dist/exports/shared.js.map +1 -0
  53. package/dist/globals/config/types.d.ts.map +1 -1
  54. package/dist/globals/config/types.js.map +1 -1
  55. package/dist/utilities/getUniqueListBy.d.ts +1 -1
  56. package/dist/utilities/getUniqueListBy.d.ts.map +1 -1
  57. package/dist/utilities/getUniqueListBy.js +1 -1
  58. package/dist/utilities/getUniqueListBy.js.map +1 -1
  59. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  60. package/dist/utilities/telemetry/index.js +1 -2
  61. package/dist/utilities/telemetry/index.js.map +1 -1
  62. package/package.json +31 -18
  63. package/auth.d.ts +0 -6
  64. package/auth.js +0 -6
  65. package/components.d.ts +0 -14
  66. package/components.js +0 -71
  67. package/config.d.ts +0 -14
  68. package/config.js +0 -14
  69. package/database.d.ts +0 -23
  70. package/database.js +0 -22
  71. package/dist/exports/auth.d.ts +0 -7
  72. package/dist/exports/auth.d.ts.map +0 -1
  73. package/dist/exports/auth.js +0 -7
  74. package/dist/exports/auth.js.map +0 -1
  75. package/dist/exports/components/utilities.d.ts +0 -2
  76. package/dist/exports/components/utilities.d.ts.map +0 -1
  77. package/dist/exports/components/utilities.js +0 -2
  78. package/dist/exports/components/utilities.js.map +0 -1
  79. package/dist/exports/config.d.ts +0 -14
  80. package/dist/exports/config.d.ts.map +0 -1
  81. package/dist/exports/config.js +0 -14
  82. package/dist/exports/config.js.map +0 -1
  83. package/dist/exports/database.d.ts +0 -24
  84. package/dist/exports/database.d.ts.map +0 -1
  85. package/dist/exports/database.js +0 -22
  86. package/dist/exports/database.js.map +0 -1
  87. package/dist/exports/errors.d.ts +0 -2
  88. package/dist/exports/errors.d.ts.map +0 -1
  89. package/dist/exports/errors.js +0 -3
  90. package/dist/exports/errors.js.map +0 -1
  91. package/dist/exports/fields/index.d.ts +0 -3
  92. package/dist/exports/fields/index.d.ts.map +0 -1
  93. package/dist/exports/fields/index.js +0 -4
  94. package/dist/exports/fields/index.js.map +0 -1
  95. package/dist/exports/fields/validations.d.ts +0 -2
  96. package/dist/exports/fields/validations.d.ts.map +0 -1
  97. package/dist/exports/fields/validations.js +0 -3
  98. package/dist/exports/fields/validations.js.map +0 -1
  99. package/dist/exports/i18n.d.ts +0 -2
  100. package/dist/exports/i18n.d.ts.map +0 -1
  101. package/dist/exports/i18n.js +0 -3
  102. package/dist/exports/i18n.js.map +0 -1
  103. package/dist/exports/operations.d.ts +0 -31
  104. package/dist/exports/operations.d.ts.map +0 -1
  105. package/dist/exports/operations.js +0 -32
  106. package/dist/exports/operations.js.map +0 -1
  107. package/dist/exports/types.d.ts +0 -18
  108. package/dist/exports/types.d.ts.map +0 -1
  109. package/dist/exports/types.js +0 -5
  110. package/dist/exports/types.js.map +0 -1
  111. package/dist/exports/uploads.d.ts +0 -2
  112. package/dist/exports/uploads.d.ts.map +0 -1
  113. package/dist/exports/uploads.js +0 -3
  114. package/dist/exports/uploads.js.map +0 -1
  115. package/dist/exports/utilities.d.ts +0 -37
  116. package/dist/exports/utilities.d.ts.map +0 -1
  117. package/dist/exports/utilities.js +0 -37
  118. package/dist/exports/utilities.js.map +0 -1
  119. package/dist/exports/versions.d.ts +0 -10
  120. package/dist/exports/versions.d.ts.map +0 -1
  121. package/dist/exports/versions.js +0 -10
  122. package/dist/exports/versions.js.map +0 -1
  123. package/errors.d.ts +0 -2
  124. package/errors.js +0 -3
  125. package/graphql.d.ts +0 -3
  126. package/graphql.js +0 -27
  127. package/operations.d.ts +0 -30
  128. package/operations.js +0 -31
  129. package/types.d.ts +0 -17
  130. package/types.js +0 -5
  131. package/utilities.d.ts +0 -33
  132. package/utilities.js +0 -34
  133. package/versions.d.ts +0 -9
  134. package/versions.js +0 -9
package/bundle.js ADDED
@@ -0,0 +1,75 @@
1
+ import * as esbuild from 'esbuild'
2
+ import fs from 'fs'
3
+ import path from 'path'
4
+ import { fileURLToPath } from 'url'
5
+ const filename = fileURLToPath(import.meta.url)
6
+ const dirname = path.dirname(filename)
7
+ import { commonjs } from '@hyrious/esbuild-plugin-commonjs'
8
+
9
+ const resultIndex = await esbuild
10
+ .build({
11
+ entryPoints: ['src/exports/index.ts'],
12
+ bundle: true,
13
+ platform: 'node',
14
+ format: 'esm',
15
+ outfile: 'dist/exports/index.js',
16
+ splitting: false,
17
+ external: [
18
+ 'lodash',
19
+ //'joi',
20
+ '*.scss',
21
+ '*.css',
22
+ '@payloadcms/translations',
23
+ 'memoizee',
24
+ 'pino-pretty',
25
+ 'pino',
26
+ //'ajv',
27
+ //'conf',
28
+ //'image-size',
29
+ ],
30
+ minify: true,
31
+ metafile: true,
32
+ tsconfig: path.resolve(dirname, './tsconfig.json'),
33
+ // plugins: [commonjs()],
34
+ sourcemap: true,
35
+ })
36
+ .then((res, err) => {
37
+ console.log('payload server bundled successfully')
38
+ return res
39
+ })
40
+ .catch(() => process.exit(1))
41
+
42
+ const resultShared = await esbuild
43
+ .build({
44
+ entryPoints: ['src/exports/shared.ts'],
45
+ bundle: true,
46
+ platform: 'node',
47
+ format: 'esm',
48
+ outfile: 'dist/exports/shared.js',
49
+ splitting: false,
50
+ external: [
51
+ 'lodash',
52
+ '*.scss',
53
+ '*.css',
54
+ '@payloadcms/translations',
55
+ 'memoizee',
56
+ 'pino-pretty',
57
+ 'pino',
58
+ //'ajv',
59
+ //'conf',
60
+ //'image-size',
61
+ ],
62
+ minify: true,
63
+ metafile: true,
64
+ tsconfig: path.resolve(dirname, './tsconfig.json'),
65
+ // plugins: [commonjs()],
66
+ sourcemap: true,
67
+ })
68
+ .then((res, err) => {
69
+ console.log('payload shared bundled successfully')
70
+ return res
71
+ })
72
+ .catch(() => process.exit(1))
73
+
74
+ fs.writeFileSync('meta_index.json', JSON.stringify(resultIndex.metafile))
75
+ fs.writeFileSync('meta_shared.json', JSON.stringify(resultShared.metafile))
@@ -1,5 +1,6 @@
1
+ import type { AcceptedLanguages } from '@payloadcms/translations';
1
2
  export type LanguageOptions = {
2
3
  label: string;
3
- value: string;
4
+ value: AcceptedLanguages;
4
5
  }[];
5
6
  //# sourceMappingURL=LanguageOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageOptions.d.ts","sourceRoot":"","sources":["../../src/admin/LanguageOptions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,EAAE,CAAA"}
1
+ {"version":3,"file":"LanguageOptions.d.ts","sourceRoot":"","sources":["../../src/admin/LanguageOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,iBAAiB,CAAA;CACzB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/admin/LanguageOptions.ts"],"sourcesContent":["export type LanguageOptions = {\n label: string\n value: string\n}[]\n"],"names":[],"rangeMappings":"","mappings":"AAAA,WAGG"}
1
+ {"version":3,"sources":["../../src/admin/LanguageOptions.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\n\nexport type LanguageOptions = {\n label: string\n value: AcceptedLanguages\n}[]\n"],"names":[],"rangeMappings":"","mappings":"AAEA,WAGG"}
@@ -5,6 +5,7 @@ export type LabelProps = {
5
5
  htmlFor?: string;
6
6
  label?: Record<string, string> | string;
7
7
  required?: boolean;
8
+ schemaPath?: string;
8
9
  unstyled?: boolean;
9
10
  };
10
11
  export type SanitizedLabelProps = Omit<LabelProps, 'label' | 'required'>;
@@ -1 +1 @@
1
- {"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../src/admin/forms/Label.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC,CAAA"}
1
+ {"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../src/admin/forms/Label.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/admin/forms/Label.ts"],"sourcesContent":["export type LabelProps = {\n CustomLabel?: React.ReactNode\n as?: 'label' | 'span'\n htmlFor?: string\n label?: Record<string, string> | string\n required?: boolean\n unstyled?: boolean\n}\n\nexport type SanitizedLabelProps = Omit<LabelProps, 'label' | 'required'>\n"],"names":[],"rangeMappings":"","mappings":"AASA,WAAwE"}
1
+ {"version":3,"sources":["../../../src/admin/forms/Label.ts"],"sourcesContent":["export type LabelProps = {\n CustomLabel?: React.ReactNode\n as?: 'label' | 'span'\n htmlFor?: string\n label?: Record<string, string> | string\n required?: boolean\n schemaPath?: string\n unstyled?: boolean\n}\n\nexport type SanitizedLabelProps = Omit<LabelProps, 'label' | 'required'>\n"],"names":[],"rangeMappings":"","mappings":"AAUA,WAAwE"}
@@ -61,7 +61,7 @@ export const forgotPasswordOperation = async (incomingArgs)=>{
61
61
  ;
62
62
  const serverURL = config.serverURL !== null && config.serverURL !== '' ? config.serverURL : `${protocol}//${req.headers.get('host')}`;
63
63
  let html = `${req.t('authentication:youAreReceivingResetPassword')}
64
- <a href="${serverURL}${config.routes.admin}/reset/${token}">${serverURL}${config.routes.admin}/reset/${token}</a>
64
+ <a href="${serverURL}${config.routes.admin}/${config.admin.routes.reset}/${token}">${serverURL}${config.routes.admin}/${config.admin.routes.reset}/${token}</a>
65
65
  ${req.t('authentication:youDidNotRequestPassword')}`;
66
66
  if (typeof collectionConfig.auth.forgotPassword.generateEmailHTML === 'function') {
67
67
  html = await collectionConfig.auth.forgotPassword.generateEmailHTML({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/operations/forgotPassword.ts"],"sourcesContent":["import crypto from 'crypto'\nimport httpStatus from 'http-status'\nimport { URL } from 'url'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { APIError } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n collection: Collection\n data: {\n [key: string]: unknown\n email: string\n }\n disableEmail?: boolean\n expiration?: number\n req: PayloadRequestWithData\n}\n\nexport type Result = string\n\nexport const forgotPasswordOperation = async (incomingArgs: Arguments): Promise<null | string> => {\n if (!Object.prototype.hasOwnProperty.call(incomingArgs.data, 'email')) {\n throw new APIError('Missing email.', httpStatus.BAD_REQUEST)\n }\n\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection?.config,\n context: args.req.context,\n operation: 'forgotPassword',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n data,\n disableEmail,\n expiration,\n req: {\n payload: { config, email },\n payload,\n },\n req,\n } = args\n\n // /////////////////////////////////////\n // Forget password\n // /////////////////////////////////////\n\n let token: string = crypto.randomBytes(20).toString('hex')\n\n type UserDoc = {\n id: number | string\n resetPasswordExpiration?: string\n resetPasswordToken?: string\n }\n\n if (!data.email) {\n throw new APIError('Missing email.', httpStatus.BAD_REQUEST)\n }\n\n let user = await payload.db.findOne<UserDoc>({\n collection: collectionConfig.slug,\n req,\n where: { email: { equals: data.email.toLowerCase() } },\n })\n\n // We don't want to indicate specifically that an email was not found,\n // as doing so could lead to the exposure of registered emails.\n // Therefore, we prefer to fail silently.\n if (!user) return null\n\n user.resetPasswordToken = token\n user.resetPasswordExpiration = new Date(expiration || Date.now() + 3600000).toISOString() // 1 hour\n\n user = await payload.update({\n id: user.id,\n collection: collectionConfig.slug,\n data: user,\n req,\n })\n\n if (!disableEmail) {\n const protocol = new URL(req.url).protocol // includes the final :\n const serverURL =\n config.serverURL !== null && config.serverURL !== ''\n ? config.serverURL\n : `${protocol}//${req.headers.get('host')}`\n\n let html = `${req.t('authentication:youAreReceivingResetPassword')}\n <a href=\"${serverURL}${config.routes.admin}/reset/${token}\">${serverURL}${config.routes.admin}/reset/${token}</a>\n ${req.t('authentication:youDidNotRequestPassword')}`\n\n if (typeof collectionConfig.auth.forgotPassword.generateEmailHTML === 'function') {\n html = await collectionConfig.auth.forgotPassword.generateEmailHTML({\n req,\n token,\n user,\n })\n }\n\n let subject = req.t('authentication:resetYourPassword')\n\n if (typeof collectionConfig.auth.forgotPassword.generateEmailSubject === 'function') {\n subject = await collectionConfig.auth.forgotPassword.generateEmailSubject({\n req,\n token,\n user,\n })\n }\n\n await email.sendEmail({\n from: `\"${email.defaultFromName}\" <${email.defaultFromAddress}>`,\n html,\n subject,\n to: data.email,\n })\n }\n\n // /////////////////////////////////////\n // afterForgotPassword - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterForgotPassword.reduce(async (priorHook, hook) => {\n await priorHook\n await hook({ args, collection: args.collection?.config, context: req.context })\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n token = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'forgotPassword',\n result: token,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return token\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","httpStatus","URL","buildAfterOperation","APIError","commitTransaction","initTransaction","killTransaction","forgotPasswordOperation","incomingArgs","Object","prototype","hasOwnProperty","call","data","BAD_REQUEST","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","disableEmail","expiration","payload","email","token","randomBytes","toString","user","db","findOne","slug","where","equals","toLowerCase","resetPasswordToken","resetPasswordExpiration","Date","now","toISOString","update","id","protocol","url","serverURL","headers","get","html","t","routes","admin","auth","forgotPassword","generateEmailHTML","subject","generateEmailSubject","sendEmail","from","defaultFromName","defaultFromAddress","to","afterForgotPassword","result","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/auth/operations/forgotPassword.ts"],"sourcesContent":["import crypto from 'crypto'\nimport httpStatus from 'http-status'\nimport { URL } from 'url'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { APIError } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n collection: Collection\n data: {\n [key: string]: unknown\n email: string\n }\n disableEmail?: boolean\n expiration?: number\n req: PayloadRequestWithData\n}\n\nexport type Result = string\n\nexport const forgotPasswordOperation = async (incomingArgs: Arguments): Promise<null | string> => {\n if (!Object.prototype.hasOwnProperty.call(incomingArgs.data, 'email')) {\n throw new APIError('Missing email.', httpStatus.BAD_REQUEST)\n }\n\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection?.config,\n context: args.req.context,\n operation: 'forgotPassword',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n data,\n disableEmail,\n expiration,\n req: {\n payload: { config, email },\n payload,\n },\n req,\n } = args\n\n // /////////////////////////////////////\n // Forget password\n // /////////////////////////////////////\n\n let token: string = crypto.randomBytes(20).toString('hex')\n\n type UserDoc = {\n id: number | string\n resetPasswordExpiration?: string\n resetPasswordToken?: string\n }\n\n if (!data.email) {\n throw new APIError('Missing email.', httpStatus.BAD_REQUEST)\n }\n\n let user = await payload.db.findOne<UserDoc>({\n collection: collectionConfig.slug,\n req,\n where: { email: { equals: data.email.toLowerCase() } },\n })\n\n // We don't want to indicate specifically that an email was not found,\n // as doing so could lead to the exposure of registered emails.\n // Therefore, we prefer to fail silently.\n if (!user) return null\n\n user.resetPasswordToken = token\n user.resetPasswordExpiration = new Date(expiration || Date.now() + 3600000).toISOString() // 1 hour\n\n user = await payload.update({\n id: user.id,\n collection: collectionConfig.slug,\n data: user,\n req,\n })\n\n if (!disableEmail) {\n const protocol = new URL(req.url).protocol // includes the final :\n const serverURL =\n config.serverURL !== null && config.serverURL !== ''\n ? config.serverURL\n : `${protocol}//${req.headers.get('host')}`\n\n let html = `${req.t('authentication:youAreReceivingResetPassword')}\n <a href=\"${serverURL}${config.routes.admin}/${config.admin.routes.reset}/${token}\">${serverURL}${config.routes.admin}/${config.admin.routes.reset}/${token}</a>\n ${req.t('authentication:youDidNotRequestPassword')}`\n\n if (typeof collectionConfig.auth.forgotPassword.generateEmailHTML === 'function') {\n html = await collectionConfig.auth.forgotPassword.generateEmailHTML({\n req,\n token,\n user,\n })\n }\n\n let subject = req.t('authentication:resetYourPassword')\n\n if (typeof collectionConfig.auth.forgotPassword.generateEmailSubject === 'function') {\n subject = await collectionConfig.auth.forgotPassword.generateEmailSubject({\n req,\n token,\n user,\n })\n }\n\n await email.sendEmail({\n from: `\"${email.defaultFromName}\" <${email.defaultFromAddress}>`,\n html,\n subject,\n to: data.email,\n })\n }\n\n // /////////////////////////////////////\n // afterForgotPassword - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterForgotPassword.reduce(async (priorHook, hook) => {\n await priorHook\n await hook({ args, collection: args.collection?.config, context: req.context })\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n token = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'forgotPassword',\n result: token,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return token\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","httpStatus","URL","buildAfterOperation","APIError","commitTransaction","initTransaction","killTransaction","forgotPasswordOperation","incomingArgs","Object","prototype","hasOwnProperty","call","data","BAD_REQUEST","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","disableEmail","expiration","payload","email","token","randomBytes","toString","user","db","findOne","slug","where","equals","toLowerCase","resetPasswordToken","resetPasswordExpiration","Date","now","toISOString","update","id","protocol","url","serverURL","headers","get","html","t","routes","admin","reset","auth","forgotPassword","generateEmailHTML","subject","generateEmailSubject","sendEmail","from","defaultFromName","defaultFromAddress","to","afterForgotPassword","result","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAG,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMzC,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACvE,UAAU,EAAE,KAAK,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,iBAAe,UAAU,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACzE,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC,CAiClE;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMzC,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACvE,UAAU,EAAE,KAAK,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,iBAAe,UAAU,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACzE,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC,CAiClE;AAED,eAAe,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/login.ts"],"sourcesContent":["import type { GeneratedTypes, Payload , RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\nimport type { Result } from '../login.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { loginOperation } from '../login.js'\n\nexport type Options<TSlug extends keyof GeneratedTypes['collections']> = {\n collection: TSlug\n context?: RequestContext\n data: {\n email: string\n password: string\n }\n depth?: number\n fallbackLocale?: string\n locale?: string\n overrideAccess?: boolean\n req?: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nasync function localLogin<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<Result & { user: GeneratedTypes['collections'][TSlug] }> {\n const {\n collection: collectionSlug,\n data,\n depth,\n overrideAccess = true,\n showHiddenFields,\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. Login Operation.`,\n )\n }\n\n const args = {\n collection,\n data,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n }\n\n const result = await loginOperation<TSlug>(args)\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n\nexport default localLogin\n"],"names":["APIError","createLocalReq","loginOperation","localLogin","payload","options","collection","collectionSlug","data","depth","overrideAccess","showHiddenFields","collections","String","args","req","result","config","auth","removeTokenFromResponses","token"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,cAAa;AAiB5C,eAAeC,WACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EACjB,GAAGN;IAEJ,MAAMC,aAAaF,QAAQQ,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEa,OAAON,gBAAgB,iCAAiC,CAAC;IAEzF;IAEA,MAAMO,OAAO;QACXR;QACAE;QACAC;QACAC;QACAK,KAAK,MAAMd,eAAeI,SAASD;QACnCO;IACF;IAEA,MAAMK,SAAS,MAAMd,eAAsBY;IAE3C,IAAIR,WAAWW,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOH,OAAOI,KAAK;IACrB;IAEA,OAAOJ;AACT;AAEA,eAAeb,WAAU"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/login.ts"],"sourcesContent":["import type { GeneratedTypes, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\nimport type { Result } from '../login.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { loginOperation } from '../login.js'\n\nexport type Options<TSlug extends keyof GeneratedTypes['collections']> = {\n collection: TSlug\n context?: RequestContext\n data: {\n email: string\n password: string\n }\n depth?: number\n fallbackLocale?: string\n locale?: string\n overrideAccess?: boolean\n req?: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nasync function localLogin<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<Result & { user: GeneratedTypes['collections'][TSlug] }> {\n const {\n collection: collectionSlug,\n data,\n depth,\n overrideAccess = true,\n showHiddenFields,\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. Login Operation.`,\n )\n }\n\n const args = {\n collection,\n data,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n }\n\n const result = await loginOperation<TSlug>(args)\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n\nexport default localLogin\n"],"names":["APIError","createLocalReq","loginOperation","localLogin","payload","options","collection","collectionSlug","data","depth","overrideAccess","showHiddenFields","collections","String","args","req","result","config","auth","removeTokenFromResponses","token"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,cAAa;AAiB5C,eAAeC,WACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EACjB,GAAGN;IAEJ,MAAMC,aAAaF,QAAQQ,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEa,OAAON,gBAAgB,iCAAiC,CAAC;IAEzF;IAEA,MAAMO,OAAO;QACXR;QACAE;QACAC;QACAC;QACAK,KAAK,MAAMd,eAAeI,SAASD;QACnCO;IACF;IAEA,MAAMK,SAAS,MAAMd,eAAsBY;IAE3C,IAAIR,WAAWW,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOH,OAAOI,KAAK;IACrB;IAEA,OAAOJ;AACT;AAEA,eAAeb,WAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAG,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAMjD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACnE,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,sBAAsB,CAAA;CAC7B,CAAA;AAED,iBAAe,kBAAkB,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC7E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAMjD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACnE,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,sBAAsB,CAAA;CAC7B,CAAA;AAED,iBAAe,kBAAkB,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC7E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,eAAe,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/resetPassword.ts"],"sourcesContent":["import type { GeneratedTypes, Payload , RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\nimport type { Result } from '../resetPassword.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { resetPasswordOperation } from '../resetPassword.js'\n\nexport type Options<T extends keyof GeneratedTypes['collections']> = {\n collection: T\n context?: RequestContext\n data: {\n password: string\n token: string\n }\n overrideAccess: boolean\n req?: PayloadRequestWithData\n}\n\nasync function localResetPassword<T extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<T>,\n): Promise<Result> {\n const { collection: collectionSlug, data, overrideAccess } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(\n collectionSlug,\n )} can't be found. Reset Password Operation.`,\n )\n }\n\n const result = await resetPasswordOperation({\n collection,\n data,\n overrideAccess,\n req: await createLocalReq(options, payload),\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n\nexport default localResetPassword\n"],"names":["APIError","createLocalReq","resetPasswordOperation","localResetPassword","payload","options","collection","collectionSlug","data","overrideAccess","collections","String","result","req","config","auth","removeTokenFromResponses","token"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,sBAAsB,QAAQ,sBAAqB;AAa5D,eAAeC,mBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,cAAc,EAAE,GAAGJ;IAE7D,MAAMC,aAAaF,QAAQM,WAAW,CAACH,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEW,OAC1BJ,gBACA,0CAA0C,CAAC;IAEjD;IAEA,MAAMK,SAAS,MAAMV,uBAAuB;QAC1CI;QACAE;QACAC;QACAI,KAAK,MAAMZ,eAAeI,SAASD;IACrC;IAEA,IAAIE,WAAWQ,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOJ,OAAOK,KAAK;IACrB;IAEA,OAAOL;AACT;AAEA,eAAeT,mBAAkB"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/resetPassword.ts"],"sourcesContent":["import type { GeneratedTypes, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\nimport type { Result } from '../resetPassword.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { resetPasswordOperation } from '../resetPassword.js'\n\nexport type Options<T extends keyof GeneratedTypes['collections']> = {\n collection: T\n context?: RequestContext\n data: {\n password: string\n token: string\n }\n overrideAccess: boolean\n req?: PayloadRequestWithData\n}\n\nasync function localResetPassword<T extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<T>,\n): Promise<Result> {\n const { collection: collectionSlug, data, overrideAccess } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(\n collectionSlug,\n )} can't be found. Reset Password Operation.`,\n )\n }\n\n const result = await resetPasswordOperation({\n collection,\n data,\n overrideAccess,\n req: await createLocalReq(options, payload),\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n\nexport default localResetPassword\n"],"names":["APIError","createLocalReq","resetPasswordOperation","localResetPassword","payload","options","collection","collectionSlug","data","overrideAccess","collections","String","result","req","config","auth","removeTokenFromResponses","token"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,sBAAsB,QAAQ,sBAAqB;AAa5D,eAAeC,mBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,cAAc,EAAE,GAAGJ;IAE7D,MAAMC,aAAaF,QAAQM,WAAW,CAACH,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEW,OAC1BJ,gBACA,0CAA0C,CAAC;IAEjD;IAEA,MAAMK,SAAS,MAAMV,uBAAuB;QAC1CI;QACAE;QACAC;QACAI,KAAK,MAAMZ,eAAeI,SAASD;IACrC;IAEA,IAAIE,WAAWQ,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOJ,OAAOK,KAAK;IACrB;IAEA,OAAOL;AACT;AAEA,eAAeT,mBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/unlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAG,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAMrE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACnE,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,MAAA;KACN,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,sBAAsB,CAAA;CAC7B,CAAA;AAED,iBAAe,WAAW,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACtE,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/unlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAMrE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACnE,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,MAAA;KACN,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,sBAAsB,CAAA;CAC7B,CAAA;AAED,iBAAe,WAAW,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACtE,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,eAAe,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/unlock.ts"],"sourcesContent":["import type { GeneratedTypes, Payload , RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { unlockOperation } from '../unlock.js'\n\nexport type Options<T extends keyof GeneratedTypes['collections']> = {\n collection: T\n context?: RequestContext\n data: {\n email\n }\n overrideAccess: boolean\n req?: PayloadRequestWithData\n}\n\nasync function localUnlock<T extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<T>,\n): Promise<boolean> {\n const { collection: collectionSlug, data, overrideAccess = true } = 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. Unlock Operation.`,\n )\n }\n\n return unlockOperation({\n collection,\n data,\n overrideAccess,\n req: await createLocalReq(options, payload),\n })\n}\n\nexport default localUnlock\n"],"names":["APIError","createLocalReq","unlockOperation","localUnlock","payload","options","collection","collectionSlug","data","overrideAccess","collections","String","req"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAY9C,eAAeC,YACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,iBAAiB,IAAI,EAAE,GAAGJ;IAEpE,MAAMC,aAAaF,QAAQM,WAAW,CAACH,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEW,OAAOJ,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,OAAOL,gBAAgB;QACrBI;QACAE;QACAC;QACAG,KAAK,MAAMX,eAAeI,SAASD;IACrC;AACF;AAEA,eAAeD,YAAW"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/unlock.ts"],"sourcesContent":["import type { GeneratedTypes, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { unlockOperation } from '../unlock.js'\n\nexport type Options<T extends keyof GeneratedTypes['collections']> = {\n collection: T\n context?: RequestContext\n data: {\n email\n }\n overrideAccess: boolean\n req?: PayloadRequestWithData\n}\n\nasync function localUnlock<T extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<T>,\n): Promise<boolean> {\n const { collection: collectionSlug, data, overrideAccess = true } = 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. Unlock Operation.`,\n )\n }\n\n return unlockOperation({\n collection,\n data,\n overrideAccess,\n req: await createLocalReq(options, payload),\n })\n}\n\nexport default localUnlock\n"],"names":["APIError","createLocalReq","unlockOperation","localUnlock","payload","options","collection","collectionSlug","data","overrideAccess","collections","String","req"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAY9C,eAAeC,YACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,iBAAiB,IAAI,EAAE,GAAGJ;IAEpE,MAAMC,aAAaF,QAAQM,WAAW,CAACH,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEW,OAAOJ,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,OAAOL,gBAAgB;QACrBI;QACAE;QACAC;QACAG,KAAK,MAAMX,eAAeI,SAASD;IACrC;AACF;AAEA,eAAeD,YAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"verifyEmail.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/verifyEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAG,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAMrE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACnE,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iBAAe,gBAAgB,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC3E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"verifyEmail.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/verifyEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAMrE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACnE,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iBAAe,gBAAgB,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC3E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,eAAe,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/verifyEmail.ts"],"sourcesContent":["import type { GeneratedTypes, Payload , RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { verifyEmailOperation } from '../verifyEmail.js'\n\nexport type Options<T extends keyof GeneratedTypes['collections']> = {\n collection: T\n context?: RequestContext\n req?: PayloadRequestWithData\n token: string\n}\n\nasync function localVerifyEmail<T extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<T>,\n): Promise<boolean> {\n const { collection: collectionSlug, token } = 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. Verify Email Operation.`,\n )\n }\n\n return verifyEmailOperation({\n collection,\n req: await createLocalReq(options, payload),\n token,\n })\n}\n\nexport default localVerifyEmail\n"],"names":["APIError","createLocalReq","verifyEmailOperation","localVerifyEmail","payload","options","collection","collectionSlug","token","collections","String","req"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,oBAAoB,QAAQ,oBAAmB;AASxD,eAAeC,iBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,KAAK,EAAE,GAAGH;IAE9C,MAAMC,aAAaF,QAAQK,WAAW,CAACF,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEU,OAAOH,gBAAgB,wCAAwC,CAAC;IAEhG;IAEA,OAAOL,qBAAqB;QAC1BI;QACAK,KAAK,MAAMV,eAAeI,SAASD;QACnCI;IACF;AACF;AAEA,eAAeL,iBAAgB"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/verifyEmail.ts"],"sourcesContent":["import type { GeneratedTypes, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { verifyEmailOperation } from '../verifyEmail.js'\n\nexport type Options<T extends keyof GeneratedTypes['collections']> = {\n collection: T\n context?: RequestContext\n req?: PayloadRequestWithData\n token: string\n}\n\nasync function localVerifyEmail<T extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<T>,\n): Promise<boolean> {\n const { collection: collectionSlug, token } = 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. Verify Email Operation.`,\n )\n }\n\n return verifyEmailOperation({\n collection,\n req: await createLocalReq(options, payload),\n token,\n })\n}\n\nexport default localVerifyEmail\n"],"names":["APIError","createLocalReq","verifyEmailOperation","localVerifyEmail","payload","options","collection","collectionSlug","token","collections","String","req"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,oBAAoB,QAAQ,oBAAmB;AASxD,eAAeC,iBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,KAAK,EAAE,GAAGH;IAE9C,MAAMC,aAAaF,QAAQK,WAAW,CAACF,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEU,OAAOH,gBAAgB,wCAAwC,CAAC;IAEhG;IAEA,OAAOL,qBAAqB;QAC1BI;QACAK,KAAK,MAAMV,eAAeI,SAASD;QACnCI;IACF;AACF;AAEA,eAAeL,iBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/refresh.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAG,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAS7E,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,gBAAgB,iBAAwB,SAAS,KAAG,QAAQ,MAAM,CA2G9E,CAAA"}
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/refresh.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAS5E,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,gBAAgB,iBAAwB,SAAS,KAAG,QAAQ,MAAM,CA2G9E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/operations/refresh.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\nimport url from 'url'\n\nimport type { BeforeOperationHook, Collection } from '../../collections/config/types.js'\nimport type { Document , PayloadRequestWithData } from '../../types/index.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { Forbidden } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getFieldsToSign } from '../getFieldsToSign.js'\n\nexport type Result = {\n exp: number\n refreshedToken: string\n user: Document\n}\n\nexport type Arguments = {\n collection: Collection\n req: PayloadRequestWithData\n token: string\n}\n\nexport const refreshOperation = async (incomingArgs: Arguments): Promise<Result> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\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: 'refresh',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // Refresh\n // /////////////////////////////////////\n\n const {\n collection: { config: collectionConfig },\n req,\n req: {\n payload: { config, secret },\n },\n } = args\n\n if (typeof args.token !== 'string' || !args.req.user) throw new Forbidden(args.req.t)\n\n const parsedURL = url.parse(args.req.url)\n const isGraphQL = parsedURL.pathname === config.routes.graphQL\n\n const user = await args.req.payload.findByID({\n id: args.req.user.id,\n collection: args.req.user.collection,\n depth: isGraphQL ? 0 : args.collection.config.auth.depth,\n req: args.req,\n })\n\n const fieldsToSign = getFieldsToSign({\n collectionConfig,\n email: user?.email as string,\n user: args?.req?.user,\n })\n\n const refreshedToken = jwt.sign(fieldsToSign, secret, {\n expiresIn: collectionConfig.auth.tokenExpiration,\n })\n\n const exp = (jwt.decode(refreshedToken) as Record<string, unknown>).exp as number\n\n let result: Result = {\n exp,\n refreshedToken,\n user,\n }\n\n // /////////////////////////////////////\n // After Refresh - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRefresh.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: args.collection?.config,\n context: args.req.context,\n exp,\n req: args.req,\n token: refreshedToken,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'refresh',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["jwt","url","buildAfterOperation","Forbidden","commitTransaction","initTransaction","killTransaction","getFieldsToSign","refreshOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","payload","secret","token","user","t","parsedURL","parse","isGraphQL","pathname","routes","graphQL","findByID","id","depth","auth","fieldsToSign","email","refreshedToken","sign","expiresIn","tokenExpiration","exp","decode","result","afterRefresh","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/auth/operations/refresh.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\nimport url from 'url'\n\nimport type { BeforeOperationHook, Collection } from '../../collections/config/types.js'\nimport type { Document, PayloadRequestWithData } from '../../types/index.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { Forbidden } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getFieldsToSign } from '../getFieldsToSign.js'\n\nexport type Result = {\n exp: number\n refreshedToken: string\n user: Document\n}\n\nexport type Arguments = {\n collection: Collection\n req: PayloadRequestWithData\n token: string\n}\n\nexport const refreshOperation = async (incomingArgs: Arguments): Promise<Result> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\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: 'refresh',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // Refresh\n // /////////////////////////////////////\n\n const {\n collection: { config: collectionConfig },\n req,\n req: {\n payload: { config, secret },\n },\n } = args\n\n if (typeof args.token !== 'string' || !args.req.user) throw new Forbidden(args.req.t)\n\n const parsedURL = url.parse(args.req.url)\n const isGraphQL = parsedURL.pathname === config.routes.graphQL\n\n const user = await args.req.payload.findByID({\n id: args.req.user.id,\n collection: args.req.user.collection,\n depth: isGraphQL ? 0 : args.collection.config.auth.depth,\n req: args.req,\n })\n\n const fieldsToSign = getFieldsToSign({\n collectionConfig,\n email: user?.email as string,\n user: args?.req?.user,\n })\n\n const refreshedToken = jwt.sign(fieldsToSign, secret, {\n expiresIn: collectionConfig.auth.tokenExpiration,\n })\n\n const exp = (jwt.decode(refreshedToken) as Record<string, unknown>).exp as number\n\n let result: Result = {\n exp,\n refreshedToken,\n user,\n }\n\n // /////////////////////////////////////\n // After Refresh - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRefresh.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: args.collection?.config,\n context: args.req.context,\n exp,\n req: args.req,\n token: refreshedToken,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'refresh',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["jwt","url","buildAfterOperation","Forbidden","commitTransaction","initTransaction","killTransaction","getFieldsToSign","refreshOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","payload","secret","token","user","t","parsedURL","parse","isGraphQL","pathname","routes","graphQL","findByID","id","depth","auth","fieldsToSign","email","refreshedToken","sign","expiresIn","tokenExpiration","exp","decode","result","afterRefresh","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/index.ts"],"names":[],"mappings":"AAUA,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AACD,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM;IACjB,OAAO,CAAC,EAAE,cAAc;IACxB,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC;CAC/D,CAAA;AACD,KAAK,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AA+B3E,eAAO,MAAM,OAAO,EAAE,SAyErB,CAAA;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;CAClC;AACD,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAA;CAC9D;AACD,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,WAAW;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC;CACtD,CAAA;AACD,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAOlE,eAAO,MAAM,IAAI,EAAE,MAuBlB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/index.ts"],"names":[],"mappings":"AAUA,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AACD,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM;IACjB,OAAO,CAAC,EAAE,cAAc;IACxB,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC;CAC/D,CAAA;AACD,KAAK,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AA+B3E,eAAO,MAAM,OAAO,EAAE,SA0ErB,CAAA;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;CAClC;AACD,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAA;CAC9D;AACD,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,WAAW;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC;CACtD,CAAA;AACD,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAOlE,eAAO,MAAM,IAAI,EAAE,MAuBlB,CAAA"}
@@ -73,10 +73,11 @@ export const resolve = async (specifier, context, nextResolve)=>{
73
73
  const { resolvedModule } = ts.resolveModuleName(specifier, fileURLToPath(context.parentURL), tsconfig, host, moduleResolutionCache);
74
74
  if (resolvedModule) {
75
75
  const resolvedIsTS = TS_EXTENSIONS.includes(resolvedModule.extension);
76
+ const resolvedPath = await resolveOriginalPath(resolvedModule.resolvedFileName);
76
77
  return {
77
78
  format: resolvedIsTS ? 'ts' : undefined,
78
79
  shortCircuit: true,
79
- url: pathToFileURL(await resolveOriginalPath(resolvedModule.resolvedFileName)).href
80
+ url: pathToFileURL(resolvedPath ?? resolvedModule.resolvedFileName).href
80
81
  };
81
82
  }
82
83
  // import from local project to either:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/bin/loader/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\nimport { getTsconfig } from 'get-tsconfig'\nimport ts from 'typescript'\nimport { fileURLToPath, pathToFileURL } from 'url'\n\nimport { CLIENT_EXTENSIONS } from './clientExtensions.js'\nimport { compile } from './compile.js'\nimport { specifiersToIgnore } from './ignores.js'\nimport { resolveOriginalPath } from './resolveOriginalPath.js'\n\ninterface ResolveContext {\n conditions: string[]\n parentURL: string | undefined\n}\ninterface ResolveResult {\n format?: string\n shortCircuit?: boolean\n url: string\n}\ntype ResolveArgs = [\n specifier: string,\n context?: ResolveContext,\n nextResolve?: (...args: ResolveArgs) => Promise<ResolveResult>,\n]\ntype ResolveFn = (...args: Required<ResolveArgs>) => Promise<ResolveResult>\n\nconst locatedConfig = getTsconfig()\nconst tsconfig = locatedConfig.config.compilerOptions as unknown as ts.CompilerOptions\n\n// Ensure baseUrl is set in order to support paths\nif (!tsconfig.baseUrl) {\n tsconfig.baseUrl = '.'\n}\n\n// Don't resolve d.ts files, because we aren't type-checking\ntsconfig.noDtsResolution = true\ntsconfig.module = ts.ModuleKind.ESNext\ntsconfig.moduleResolution = ts.ModuleResolutionKind.NodeNext\n\nconst moduleResolutionCache = ts.createModuleResolutionCache(\n ts.sys.getCurrentDirectory(),\n (x) => x,\n tsconfig,\n)\nconst host: ts.ModuleResolutionHost = {\n fileExists: ts.sys.fileExists,\n readFile: ts.sys.readFile,\n}\nconst TS_EXTENSIONS: string[] = [\n ts.Extension.Ts,\n ts.Extension.Tsx,\n ts.Extension.Dts,\n ts.Extension.Mts,\n]\n\nexport const resolve: ResolveFn = async (specifier, context, nextResolve) => {\n const isTS = TS_EXTENSIONS.some((ext) => specifier.endsWith(ext))\n const isClient = CLIENT_EXTENSIONS.some((ext) => specifier.endsWith(ext))\n const shouldIgnore = specifiersToIgnore.includes(specifier)\n\n // If it's a client file, or a file to be ignored is resolved,\n // we'll set `format: 'ignore'`\n // and short circuit, so the load step\n // will return source code of empty object\n if (isClient || shouldIgnore) {\n return {\n format: 'ignore',\n shortCircuit: true,\n // No need to resolve the URL using nextResolve. We ignore client files anyway.\n // Additionally, nextResolve throws an error if the URL is a TS path, so we'd have to use TypeScript's resolveModuleName to resolve the URL, which is unnecessary\n url: 'file:///',\n }\n }\n\n // entrypoint\n if (!context.parentURL) {\n return {\n format: isTS ? 'ts' : undefined,\n shortCircuit: true,\n url: specifier,\n }\n }\n\n // Try and resolve normally\n // This could fail, so we need to swallow that error\n // and keep going\n let nextResult: ResolveResult\n\n if (!isTS) {\n try {\n nextResult = await nextResolve(specifier, context, nextResolve)\n } catch (_) {\n // swallow error\n }\n }\n\n if (nextResult) {\n const nextResultIsTS = TS_EXTENSIONS.some((ext) => nextResult.url.endsWith(ext))\n\n return {\n ...nextResult,\n format: nextResultIsTS ? 'ts' : nextResult.format,\n shortCircuit: true,\n }\n }\n\n const { resolvedModule } = ts.resolveModuleName(\n specifier,\n fileURLToPath(context.parentURL),\n tsconfig,\n host,\n moduleResolutionCache,\n )\n\n if (resolvedModule) {\n const resolvedIsTS = TS_EXTENSIONS.includes(resolvedModule.extension)\n\n return {\n format: resolvedIsTS ? 'ts' : undefined,\n shortCircuit: true,\n url: pathToFileURL(await resolveOriginalPath(resolvedModule.resolvedFileName)).href, // The typescript module resolver does not resolve to the original path, but to the symlinked path, if present. This can cause issues\n }\n }\n\n // import from local project to either:\n // - something TS couldn't resolve\n // - local project non-TS file\n return nextResolve(specifier, context, nextResolve)\n}\n\ninterface LoadContext {\n conditions: string[]\n format: null | string | undefined\n}\ninterface LoadResult {\n format: string\n shortCircuit?: boolean\n source: ArrayBuffer | SharedArrayBuffer | Uint8Array | string\n}\ntype LoadArgs = [\n url: string,\n context: LoadContext,\n nextLoad?: (...args: LoadArgs) => Promise<LoadResult>,\n]\ntype LoadFn = (...args: Required<LoadArgs>) => Promise<LoadResult>\n\nconst swcOptions = {\n ...tsconfig,\n baseUrl: undefined,\n paths: undefined,\n}\nexport const load: LoadFn = async (url, context, nextLoad) => {\n if (context.format === 'ignore') {\n const rawSource = 'export default {}'\n\n return {\n format: 'module',\n shortCircuit: true,\n source: rawSource,\n }\n }\n\n if (context.format === 'ts') {\n const { source } = await nextLoad(url, context)\n const code = typeof source === 'string' ? source : Buffer.from(source).toString()\n const compiled = await compile(code, fileURLToPath(url), swcOptions)\n return {\n format: 'module',\n shortCircuit: true,\n source: compiled,\n }\n } else {\n return nextLoad(url, context)\n }\n}\n"],"names":["getTsconfig","ts","fileURLToPath","pathToFileURL","CLIENT_EXTENSIONS","compile","specifiersToIgnore","resolveOriginalPath","locatedConfig","tsconfig","config","compilerOptions","baseUrl","noDtsResolution","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","NodeNext","moduleResolutionCache","createModuleResolutionCache","sys","getCurrentDirectory","x","host","fileExists","readFile","TS_EXTENSIONS","Extension","Ts","Tsx","Dts","Mts","resolve","specifier","context","nextResolve","isTS","some","ext","endsWith","isClient","shouldIgnore","includes","format","shortCircuit","url","parentURL","undefined","nextResult","_","nextResultIsTS","resolvedModule","resolveModuleName","resolvedIsTS","extension","resolvedFileName","href","swcOptions","paths","load","nextLoad","rawSource","source","code","Buffer","from","toString","compiled"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,oDAAoD,GACpD,SAASA,WAAW,QAAQ,eAAc;AAC1C,OAAOC,QAAQ,aAAY;AAC3B,SAASC,aAAa,EAAEC,aAAa,QAAQ,MAAK;AAElD,SAASC,iBAAiB,QAAQ,wBAAuB;AACzD,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,kBAAkB,QAAQ,eAAc;AACjD,SAASC,mBAAmB,QAAQ,2BAA0B;AAkB9D,MAAMC,gBAAgBR;AACtB,MAAMS,WAAWD,cAAcE,MAAM,CAACC,eAAe;AAErD,kDAAkD;AAClD,IAAI,CAACF,SAASG,OAAO,EAAE;IACrBH,SAASG,OAAO,GAAG;AACrB;AAEA,4DAA4D;AAC5DH,SAASI,eAAe,GAAG;AAC3BJ,SAASK,MAAM,GAAGb,GAAGc,UAAU,CAACC,MAAM;AACtCP,SAASQ,gBAAgB,GAAGhB,GAAGiB,oBAAoB,CAACC,QAAQ;AAE5D,MAAMC,wBAAwBnB,GAAGoB,2BAA2B,CAC1DpB,GAAGqB,GAAG,CAACC,mBAAmB,IAC1B,CAACC,IAAMA,GACPf;AAEF,MAAMgB,OAAgC;IACpCC,YAAYzB,GAAGqB,GAAG,CAACI,UAAU;IAC7BC,UAAU1B,GAAGqB,GAAG,CAACK,QAAQ;AAC3B;AACA,MAAMC,gBAA0B;IAC9B3B,GAAG4B,SAAS,CAACC,EAAE;IACf7B,GAAG4B,SAAS,CAACE,GAAG;IAChB9B,GAAG4B,SAAS,CAACG,GAAG;IAChB/B,GAAG4B,SAAS,CAACI,GAAG;CACjB;AAED,OAAO,MAAMC,UAAqB,OAAOC,WAAWC,SAASC;IAC3D,MAAMC,OAAOV,cAAcW,IAAI,CAAC,CAACC,MAAQL,UAAUM,QAAQ,CAACD;IAC5D,MAAME,WAAWtC,kBAAkBmC,IAAI,CAAC,CAACC,MAAQL,UAAUM,QAAQ,CAACD;IACpE,MAAMG,eAAerC,mBAAmBsC,QAAQ,CAACT;IAEjD,8DAA8D;IAC9D,+BAA+B;IAC/B,sCAAsC;IACtC,0CAA0C;IAC1C,IAAIO,YAAYC,cAAc;QAC5B,OAAO;YACLE,QAAQ;YACRC,cAAc;YACd,+EAA+E;YAC/E,iKAAiK;YACjKC,KAAK;QACP;IACF;IAEA,aAAa;IACb,IAAI,CAACX,QAAQY,SAAS,EAAE;QACtB,OAAO;YACLH,QAAQP,OAAO,OAAOW;YACtBH,cAAc;YACdC,KAAKZ;QACP;IACF;IAEA,2BAA2B;IAC3B,oDAAoD;IACpD,iBAAiB;IACjB,IAAIe;IAEJ,IAAI,CAACZ,MAAM;QACT,IAAI;YACFY,aAAa,MAAMb,YAAYF,WAAWC,SAASC;QACrD,EAAE,OAAOc,GAAG;QACV,gBAAgB;QAClB;IACF;IAEA,IAAID,YAAY;QACd,MAAME,iBAAiBxB,cAAcW,IAAI,CAAC,CAACC,MAAQU,WAAWH,GAAG,CAACN,QAAQ,CAACD;QAE3E,OAAO;YACL,GAAGU,UAAU;YACbL,QAAQO,iBAAiB,OAAOF,WAAWL,MAAM;YACjDC,cAAc;QAChB;IACF;IAEA,MAAM,EAAEO,cAAc,EAAE,GAAGpD,GAAGqD,iBAAiB,CAC7CnB,WACAjC,cAAckC,QAAQY,SAAS,GAC/BvC,UACAgB,MACAL;IAGF,IAAIiC,gBAAgB;QAClB,MAAME,eAAe3B,cAAcgB,QAAQ,CAACS,eAAeG,SAAS;QAEpE,OAAO;YACLX,QAAQU,eAAe,OAAON;YAC9BH,cAAc;YACdC,KAAK5C,cAAc,MAAMI,oBAAoB8C,eAAeI,gBAAgB,GAAGC,IAAI;QACrF;IACF;IAEA,uCAAuC;IACvC,kCAAkC;IAClC,8BAA8B;IAC9B,OAAOrB,YAAYF,WAAWC,SAASC;AACzC,EAAC;AAkBD,MAAMsB,aAAa;IACjB,GAAGlD,QAAQ;IACXG,SAASqC;IACTW,OAAOX;AACT;AACA,OAAO,MAAMY,OAAe,OAAOd,KAAKX,SAAS0B;IAC/C,IAAI1B,QAAQS,MAAM,KAAK,UAAU;QAC/B,MAAMkB,YAAY;QAElB,OAAO;YACLlB,QAAQ;YACRC,cAAc;YACdkB,QAAQD;QACV;IACF;IAEA,IAAI3B,QAAQS,MAAM,KAAK,MAAM;QAC3B,MAAM,EAAEmB,MAAM,EAAE,GAAG,MAAMF,SAASf,KAAKX;QACvC,MAAM6B,OAAO,OAAOD,WAAW,WAAWA,SAASE,OAAOC,IAAI,CAACH,QAAQI,QAAQ;QAC/E,MAAMC,WAAW,MAAMhE,QAAQ4D,MAAM/D,cAAc6C,MAAMY;QACzD,OAAO;YACLd,QAAQ;YACRC,cAAc;YACdkB,QAAQK;QACV;IACF,OAAO;QACL,OAAOP,SAASf,KAAKX;IACvB;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/bin/loader/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\nimport { getTsconfig } from 'get-tsconfig'\nimport ts from 'typescript'\nimport { fileURLToPath, pathToFileURL } from 'url'\n\nimport { CLIENT_EXTENSIONS } from './clientExtensions.js'\nimport { compile } from './compile.js'\nimport { specifiersToIgnore } from './ignores.js'\nimport { resolveOriginalPath } from './resolveOriginalPath.js'\n\ninterface ResolveContext {\n conditions: string[]\n parentURL: string | undefined\n}\ninterface ResolveResult {\n format?: string\n shortCircuit?: boolean\n url: string\n}\ntype ResolveArgs = [\n specifier: string,\n context?: ResolveContext,\n nextResolve?: (...args: ResolveArgs) => Promise<ResolveResult>,\n]\ntype ResolveFn = (...args: Required<ResolveArgs>) => Promise<ResolveResult>\n\nconst locatedConfig = getTsconfig()\nconst tsconfig = locatedConfig.config.compilerOptions as unknown as ts.CompilerOptions\n\n// Ensure baseUrl is set in order to support paths\nif (!tsconfig.baseUrl) {\n tsconfig.baseUrl = '.'\n}\n\n// Don't resolve d.ts files, because we aren't type-checking\ntsconfig.noDtsResolution = true\ntsconfig.module = ts.ModuleKind.ESNext\ntsconfig.moduleResolution = ts.ModuleResolutionKind.NodeNext\n\nconst moduleResolutionCache = ts.createModuleResolutionCache(\n ts.sys.getCurrentDirectory(),\n (x) => x,\n tsconfig,\n)\nconst host: ts.ModuleResolutionHost = {\n fileExists: ts.sys.fileExists,\n readFile: ts.sys.readFile,\n}\nconst TS_EXTENSIONS: string[] = [\n ts.Extension.Ts,\n ts.Extension.Tsx,\n ts.Extension.Dts,\n ts.Extension.Mts,\n]\n\nexport const resolve: ResolveFn = async (specifier, context, nextResolve) => {\n const isTS = TS_EXTENSIONS.some((ext) => specifier.endsWith(ext))\n const isClient = CLIENT_EXTENSIONS.some((ext) => specifier.endsWith(ext))\n const shouldIgnore = specifiersToIgnore.includes(specifier)\n\n // If it's a client file, or a file to be ignored is resolved,\n // we'll set `format: 'ignore'`\n // and short circuit, so the load step\n // will return source code of empty object\n if (isClient || shouldIgnore) {\n return {\n format: 'ignore',\n shortCircuit: true,\n // No need to resolve the URL using nextResolve. We ignore client files anyway.\n // Additionally, nextResolve throws an error if the URL is a TS path, so we'd have to use TypeScript's resolveModuleName to resolve the URL, which is unnecessary\n url: 'file:///',\n }\n }\n\n // entrypoint\n if (!context.parentURL) {\n return {\n format: isTS ? 'ts' : undefined,\n shortCircuit: true,\n url: specifier,\n }\n }\n\n // Try and resolve normally\n // This could fail, so we need to swallow that error\n // and keep going\n let nextResult: ResolveResult\n\n if (!isTS) {\n try {\n nextResult = await nextResolve(specifier, context, nextResolve)\n } catch (_) {\n // swallow error\n }\n }\n\n if (nextResult) {\n const nextResultIsTS = TS_EXTENSIONS.some((ext) => nextResult.url.endsWith(ext))\n\n return {\n ...nextResult,\n format: nextResultIsTS ? 'ts' : nextResult.format,\n shortCircuit: true,\n }\n }\n\n const { resolvedModule } = ts.resolveModuleName(\n specifier,\n fileURLToPath(context.parentURL),\n tsconfig,\n host,\n moduleResolutionCache,\n )\n\n if (resolvedModule) {\n const resolvedIsTS = TS_EXTENSIONS.includes(resolvedModule.extension)\n const resolvedPath = await resolveOriginalPath(resolvedModule.resolvedFileName)\n\n return {\n format: resolvedIsTS ? 'ts' : undefined,\n shortCircuit: true,\n url: pathToFileURL(resolvedPath ?? resolvedModule.resolvedFileName).href, // The typescript module resolver does not resolve to the original path, but to the symlinked path, if present. This can cause issues\n }\n }\n\n // import from local project to either:\n // - something TS couldn't resolve\n // - local project non-TS file\n return nextResolve(specifier, context, nextResolve)\n}\n\ninterface LoadContext {\n conditions: string[]\n format: null | string | undefined\n}\ninterface LoadResult {\n format: string\n shortCircuit?: boolean\n source: ArrayBuffer | SharedArrayBuffer | Uint8Array | string\n}\ntype LoadArgs = [\n url: string,\n context: LoadContext,\n nextLoad?: (...args: LoadArgs) => Promise<LoadResult>,\n]\ntype LoadFn = (...args: Required<LoadArgs>) => Promise<LoadResult>\n\nconst swcOptions = {\n ...tsconfig,\n baseUrl: undefined,\n paths: undefined,\n}\nexport const load: LoadFn = async (url, context, nextLoad) => {\n if (context.format === 'ignore') {\n const rawSource = 'export default {}'\n\n return {\n format: 'module',\n shortCircuit: true,\n source: rawSource,\n }\n }\n\n if (context.format === 'ts') {\n const { source } = await nextLoad(url, context)\n const code = typeof source === 'string' ? source : Buffer.from(source).toString()\n const compiled = await compile(code, fileURLToPath(url), swcOptions)\n return {\n format: 'module',\n shortCircuit: true,\n source: compiled,\n }\n } else {\n return nextLoad(url, context)\n }\n}\n"],"names":["getTsconfig","ts","fileURLToPath","pathToFileURL","CLIENT_EXTENSIONS","compile","specifiersToIgnore","resolveOriginalPath","locatedConfig","tsconfig","config","compilerOptions","baseUrl","noDtsResolution","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","NodeNext","moduleResolutionCache","createModuleResolutionCache","sys","getCurrentDirectory","x","host","fileExists","readFile","TS_EXTENSIONS","Extension","Ts","Tsx","Dts","Mts","resolve","specifier","context","nextResolve","isTS","some","ext","endsWith","isClient","shouldIgnore","includes","format","shortCircuit","url","parentURL","undefined","nextResult","_","nextResultIsTS","resolvedModule","resolveModuleName","resolvedIsTS","extension","resolvedPath","resolvedFileName","href","swcOptions","paths","load","nextLoad","rawSource","source","code","Buffer","from","toString","compiled"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveOriginalPath.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/resolveOriginalPath.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,mBAuBzD"}
1
+ {"version":3,"file":"resolveOriginalPath.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/resolveOriginalPath.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,mBAwBzD"}
@@ -11,7 +11,7 @@ import path from 'path';
11
11
  try {
12
12
  // Normalize and split the path
13
13
  const parts = path.resolve(filePath).split(path.sep);
14
- let currentPath = '/';
14
+ let currentPath = parts[0] || '/';
15
15
  // skip the first slash
16
16
  for (const part of parts.slice(1)){
17
17
  currentPath = path.join(currentPath, part);
@@ -20,7 +20,11 @@ import path from 'path';
20
20
  if (stats.isSymbolicLink()) {
21
21
  // Resolve the symlink
22
22
  const resolvedLink = await fs.readlink(currentPath);
23
- currentPath = path.join(path.dirname(currentPath), resolvedLink);
23
+ if (!path.isAbsolute(resolvedLink)) {
24
+ currentPath = path.join(path.dirname(currentPath), resolvedLink);
25
+ } else {
26
+ currentPath = resolvedLink;
27
+ }
24
28
  }
25
29
  }
26
30
  return currentPath;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/bin/loader/resolveOriginalPath.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport path from 'path'\n\n/**\n * In case any directory in the path contains symlinks, this function attempts to detect that resolves the original path.\n *\n * Example Input: /Users/alessio/Documents/GitHub/payload-3.0-alpha-demo/node_modules/tailwindcss/resolveConfig.js\n * The \"tailwindcss\" in this example is a symlinked directory.\n *\n * Example Output: /Users/alessio/Documents/GitHub/payload-3.0-alpha-demo/node_modules/.pnpm/tailwindcss@3.4.3/node_modules/tailwindcss/resolveConfig.js\n */\nexport async function resolveOriginalPath(filePath: string) {\n try {\n // Normalize and split the path\n const parts = path.resolve(filePath).split(path.sep)\n\n let currentPath = '/'\n // skip the first slash\n for (const part of parts.slice(1)) {\n currentPath = path.join(currentPath, part)\n\n // Check if the current path component is a symlink\n const stats = await fs.lstat(currentPath)\n if (stats.isSymbolicLink()) {\n // Resolve the symlink\n const resolvedLink = await fs.readlink(currentPath)\n currentPath = path.join(path.dirname(currentPath), resolvedLink)\n }\n }\n\n return currentPath\n } catch (error) {\n console.error('Error resolving path:', error)\n }\n}\n"],"names":["fs","path","resolveOriginalPath","filePath","parts","resolve","split","sep","currentPath","part","slice","join","stats","lstat","isSymbolicLink","resolvedLink","readlink","dirname","error","console"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,QAAQ,cAAa;AAC5B,OAAOC,UAAU,OAAM;AAEvB;;;;;;;CAOC,GACD,OAAO,eAAeC,oBAAoBC,QAAgB;IACxD,IAAI;QACF,+BAA+B;QAC/B,MAAMC,QAAQH,KAAKI,OAAO,CAACF,UAAUG,KAAK,CAACL,KAAKM,GAAG;QAEnD,IAAIC,cAAc;QAClB,uBAAuB;QACvB,KAAK,MAAMC,QAAQL,MAAMM,KAAK,CAAC,GAAI;YACjCF,cAAcP,KAAKU,IAAI,CAACH,aAAaC;YAErC,mDAAmD;YACnD,MAAMG,QAAQ,MAAMZ,GAAGa,KAAK,CAACL;YAC7B,IAAII,MAAME,cAAc,IAAI;gBAC1B,sBAAsB;gBACtB,MAAMC,eAAe,MAAMf,GAAGgB,QAAQ,CAACR;gBACvCA,cAAcP,KAAKU,IAAI,CAACV,KAAKgB,OAAO,CAACT,cAAcO;YACrD;QACF;QAEA,OAAOP;IACT,EAAE,OAAOU,OAAO;QACdC,QAAQD,KAAK,CAAC,yBAAyBA;IACzC;AACF"}
1
+ {"version":3,"sources":["../../../src/bin/loader/resolveOriginalPath.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport path from 'path'\n\n/**\n * In case any directory in the path contains symlinks, this function attempts to detect that resolves the original path.\n *\n * Example Input: /Users/alessio/Documents/GitHub/payload-3.0-alpha-demo/node_modules/tailwindcss/resolveConfig.js\n * The \"tailwindcss\" in this example is a symlinked directory.\n *\n * Example Output: /Users/alessio/Documents/GitHub/payload-3.0-alpha-demo/node_modules/.pnpm/tailwindcss@3.4.3/node_modules/tailwindcss/resolveConfig.js\n */\nexport async function resolveOriginalPath(filePath: string) {\n try {\n // Normalize and split the path\n const parts = path.resolve(filePath).split(path.sep)\n let currentPath = parts[0] || '/'\n // skip the first slash\n for (const part of parts.slice(1)) {\n currentPath = path.join(currentPath, part)\n // Check if the current path component is a symlink\n const stats = await fs.lstat(currentPath)\n if (stats.isSymbolicLink()) {\n // Resolve the symlink\n const resolvedLink = await fs.readlink(currentPath)\n if (!path.isAbsolute(resolvedLink)) {\n currentPath = path.join(path.dirname(currentPath), resolvedLink)\n } else {\n currentPath = resolvedLink\n }\n }\n }\n return currentPath\n } catch (error) {\n console.error('Error resolving path:', error)\n }\n}\n"],"names":["fs","path","resolveOriginalPath","filePath","parts","resolve","split","sep","currentPath","part","slice","join","stats","lstat","isSymbolicLink","resolvedLink","readlink","isAbsolute","dirname","error","console"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,QAAQ,cAAa;AAC5B,OAAOC,UAAU,OAAM;AAEvB;;;;;;;CAOC,GACD,OAAO,eAAeC,oBAAoBC,QAAgB;IACxD,IAAI;QACF,+BAA+B;QAC/B,MAAMC,QAAQH,KAAKI,OAAO,CAACF,UAAUG,KAAK,CAACL,KAAKM,GAAG;QACnD,IAAIC,cAAcJ,KAAK,CAAC,EAAE,IAAI;QAC9B,uBAAuB;QACvB,KAAK,MAAMK,QAAQL,MAAMM,KAAK,CAAC,GAAI;YACjCF,cAAcP,KAAKU,IAAI,CAACH,aAAaC;YACrC,mDAAmD;YACnD,MAAMG,QAAQ,MAAMZ,GAAGa,KAAK,CAACL;YAC7B,IAAII,MAAME,cAAc,IAAI;gBAC1B,sBAAsB;gBACtB,MAAMC,eAAe,MAAMf,GAAGgB,QAAQ,CAACR;gBACvC,IAAI,CAACP,KAAKgB,UAAU,CAACF,eAAe;oBAClCP,cAAcP,KAAKU,IAAI,CAACV,KAAKiB,OAAO,CAACV,cAAcO;gBACrD,OAAO;oBACLP,cAAcO;gBAChB;YACF;QACF;QACA,OAAOP;IACT,EAAE,OAAOW,OAAO;QACdC,QAAQD,KAAK,CAAC,yBAAyBA;IACzC;AACF"}
@@ -17,7 +17,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
17
17
  }) => {
18
18
  auth: import("../../auth/types.js").Auth;
19
19
  endpoints: false | import("../../config/types.js").Endpoint[];
20
- fields: import("../../exports/types.js").Field[];
20
+ fields: import("../../exports/index.js").Field[];
21
21
  upload: import("../../uploads/types.js").SanitizedUploadConfig;
22
22
  versions: import("../../versions/types.js").SanitizedCollectionVersions;
23
23
  admin: {
@@ -42,7 +42,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
42
42
  href: string | ((args: {
43
43
  apiURL: string;
44
44
  collection: SanitizedCollectionConfig;
45
- global: import("../../exports/types.js").SanitizedGlobalConfig;
45
+ global: import("../../exports/index.js").SanitizedGlobalConfig;
46
46
  id?: string;
47
47
  routes: {
48
48
  admin: string;
@@ -73,7 +73,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
73
73
  href: string | ((args: {
74
74
  apiURL: string;
75
75
  collection: SanitizedCollectionConfig;
76
- global: import("../../exports/types.js").SanitizedGlobalConfig;
76
+ global: import("../../exports/index.js").SanitizedGlobalConfig;
77
77
  id?: string;
78
78
  routes: {
79
79
  admin: string;
@@ -104,7 +104,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
104
104
  href: string | ((args: {
105
105
  apiURL: string;
106
106
  collection: SanitizedCollectionConfig;
107
- global: import("../../exports/types.js").SanitizedGlobalConfig;
107
+ global: import("../../exports/index.js").SanitizedGlobalConfig;
108
108
  id?: string;
109
109
  routes: {
110
110
  admin: string;
@@ -135,7 +135,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
135
135
  href: string | ((args: {
136
136
  apiURL: string;
137
137
  collection: SanitizedCollectionConfig;
138
- global: import("../../exports/types.js").SanitizedGlobalConfig;
138
+ global: import("../../exports/index.js").SanitizedGlobalConfig;
139
139
  id?: string;
140
140
  routes: {
141
141
  admin: string;
@@ -166,7 +166,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
166
166
  href: string | ((args: {
167
167
  apiURL: string;
168
168
  collection: SanitizedCollectionConfig;
169
- global: import("../../exports/types.js").SanitizedGlobalConfig;
169
+ global: import("../../exports/index.js").SanitizedGlobalConfig;
170
170
  id?: string;
171
171
  routes: {
172
172
  admin: string;
@@ -198,7 +198,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
198
198
  href: string | ((args: {
199
199
  apiURL: string;
200
200
  collection: SanitizedCollectionConfig;
201
- global: import("../../exports/types.js").SanitizedGlobalConfig;
201
+ global: import("../../exports/index.js").SanitizedGlobalConfig;
202
202
  id?: string;
203
203
  routes: {
204
204
  admin: string;
@@ -256,7 +256,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
256
256
  url: string | ((args: {
257
257
  collectionConfig?: SanitizedCollectionConfig;
258
258
  data: Record<string, any>;
259
- globalConfig?: import("../../exports/types.js").SanitizedGlobalConfig;
259
+ globalConfig?: import("../../exports/index.js").SanitizedGlobalConfig;
260
260
  locale: import("../../config/types.js").Locale;
261
261
  payload: import("../../index.js").Payload;
262
262
  }) => string | Promise<string>);
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAG,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC/F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAOrD,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACvE,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE,YAAY,CAChB,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EACpC,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAC3C,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAGD,wBAA8B,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACzF,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAmC/C"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC/F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAOrD,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACvE,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE,YAAY,CAChB,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EACpC,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAC3C,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAGD,wBAA8B,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACzF,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAmC/C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/operations/local/create.ts"],"sourcesContent":["import type { MarkOptional } from 'ts-essentials'\n\nimport type { GeneratedTypes , Payload } from '../../../index.js'\nimport type { Document, PayloadRequestWithData, RequestContext } from '../../../types/index.js'\nimport type { File } from '../../../uploads/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { getFileByPath } from '../../../uploads/getFileByPath.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { createOperation } from '../create.js'\n\nexport type Options<TSlug extends keyof GeneratedTypes['collections']> = {\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 data: MarkOptional<\n GeneratedTypes['collections'][TSlug],\n 'createdAt' | 'id' | 'sizes' | 'updatedAt'\n >\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n fallbackLocale?: GeneratedTypes['locale']\n file?: File\n filePath?: string\n locale?: GeneratedTypes['locale']\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req?: PayloadRequestWithData\n showHiddenFields?: boolean\n user?: Document\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default async function createLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<GeneratedTypes['collections'][TSlug]> {\n const {\n collection: collectionSlug,\n data,\n depth,\n disableVerificationEmail,\n draft,\n file,\n filePath,\n overrideAccess = true,\n overwriteExistingFiles = false,\n showHiddenFields,\n } = options\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. Create Operation.`,\n )\n }\n\n const req = await createLocalReq(options, payload)\n req.file = file ?? (await getFileByPath(filePath))\n\n return createOperation<TSlug>({\n collection,\n data,\n depth,\n disableVerificationEmail,\n draft,\n overrideAccess,\n overwriteExistingFiles,\n req,\n showHiddenFields,\n })\n}\n"],"names":["APIError","getFileByPath","createLocalReq","createOperation","createLocal","payload","options","collection","collectionSlug","data","depth","disableVerificationEmail","draft","file","filePath","overrideAccess","overwriteExistingFiles","showHiddenFields","collections","String","req"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAMA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,aAAa,QAAQ,oCAAmC;AACjE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AA0B9C,iDAAiD;AACjD,eAAe,eAAeC,YAC5BC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,wBAAwB,EACxBC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,iBAAiB,IAAI,EACrBC,yBAAyB,KAAK,EAC9BC,gBAAgB,EACjB,GAAGX;IACJ,MAAMC,aAAaF,QAAQa,WAAW,CAACV,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIP,SACR,CAAC,yBAAyB,EAAEmB,OAAOX,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMY,MAAM,MAAMlB,eAAeI,SAASD;IAC1Ce,IAAIP,IAAI,GAAGA,QAAS,MAAMZ,cAAca;IAExC,OAAOX,gBAAuB;QAC5BI;QACAE;QACAC;QACAC;QACAC;QACAG;QACAC;QACAI;QACAH;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../src/collections/operations/local/create.ts"],"sourcesContent":["import type { MarkOptional } from 'ts-essentials'\n\nimport type { GeneratedTypes, Payload } from '../../../index.js'\nimport type { Document, PayloadRequestWithData, RequestContext } from '../../../types/index.js'\nimport type { File } from '../../../uploads/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { getFileByPath } from '../../../uploads/getFileByPath.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { createOperation } from '../create.js'\n\nexport type Options<TSlug extends keyof GeneratedTypes['collections']> = {\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 data: MarkOptional<\n GeneratedTypes['collections'][TSlug],\n 'createdAt' | 'id' | 'sizes' | 'updatedAt'\n >\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n fallbackLocale?: GeneratedTypes['locale']\n file?: File\n filePath?: string\n locale?: GeneratedTypes['locale']\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req?: PayloadRequestWithData\n showHiddenFields?: boolean\n user?: Document\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default async function createLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<GeneratedTypes['collections'][TSlug]> {\n const {\n collection: collectionSlug,\n data,\n depth,\n disableVerificationEmail,\n draft,\n file,\n filePath,\n overrideAccess = true,\n overwriteExistingFiles = false,\n showHiddenFields,\n } = options\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. Create Operation.`,\n )\n }\n\n const req = await createLocalReq(options, payload)\n req.file = file ?? (await getFileByPath(filePath))\n\n return createOperation<TSlug>({\n collection,\n data,\n depth,\n disableVerificationEmail,\n draft,\n overrideAccess,\n overwriteExistingFiles,\n req,\n showHiddenFields,\n })\n}\n"],"names":["APIError","getFileByPath","createLocalReq","createOperation","createLocal","payload","options","collection","collectionSlug","data","depth","disableVerificationEmail","draft","file","filePath","overrideAccess","overwriteExistingFiles","showHiddenFields","collections","String","req"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAMA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,aAAa,QAAQ,oCAAmC;AACjE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AA0B9C,iDAAiD;AACjD,eAAe,eAAeC,YAC5BC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,wBAAwB,EACxBC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,iBAAiB,IAAI,EACrBC,yBAAyB,KAAK,EAC9BC,gBAAgB,EACjB,GAAGX;IACJ,MAAMC,aAAaF,QAAQa,WAAW,CAACV,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIP,SACR,CAAC,yBAAyB,EAAEmB,OAAOX,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMY,MAAM,MAAMlB,eAAeI,SAASD;IAC1Ce,IAAIP,IAAI,GAAGA,QAAS,MAAMZ,cAAca;IAExC,OAAOX,gBAAuB;QAC5BI;QACAE;QACAC;QACAC;QACAC;QACAG;QACAC;QACAI;QACAH;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAG,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAG,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACvG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAOhE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACvE,UAAU,EAAE,CAAC,CAAA;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACxF,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACxF,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IACjE,WAAW,CAAC,KAAK,CAAC,GAClB,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAChD,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAsC7E,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EACV,QAAQ,EACR,sBAAsB,EACtB,cAAc,EACd,KAAK,EACN,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAOhE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IACvE,UAAU,EAAE,CAAC,CAAA;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACxF,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACxF,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IACjE,WAAW,CAAC,KAAK,CAAC,GAClB,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAChD,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAsC7E,eAAe,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/operations/local/delete.ts"],"sourcesContent":["import type { GeneratedTypes , Payload } from '../../../index.js'\nimport type { Document, PayloadRequestWithData , RequestContext, Where } from '../../../types/index.js'\nimport type { BulkOperationResult } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { deleteOperation } from '../delete.js'\nimport { deleteByIDOperation } from '../deleteByID.js'\n\nexport type BaseOptions<T extends keyof GeneratedTypes['collections']> = {\n collection: T\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n depth?: number\n fallbackLocale?: GeneratedTypes['locale']\n locale?: GeneratedTypes['locale']\n overrideAccess?: boolean\n req?: PayloadRequestWithData\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<T extends keyof GeneratedTypes['collections']> = BaseOptions<T> & {\n id: number | string\n where?: never\n}\n\nexport type ManyOptions<T extends keyof GeneratedTypes['collections']> = BaseOptions<T> & {\n id?: never\n where: Where\n}\n\nexport type Options<TSlug extends keyof GeneratedTypes['collections']> =\n | ByIDOptions<TSlug>\n | ManyOptions<TSlug>\n\nasync function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: ByIDOptions<TSlug>,\n): Promise<GeneratedTypes['collections'][TSlug]>\nasync function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: ManyOptions<TSlug>,\n): Promise<BulkOperationResult<TSlug>>\nasync function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | GeneratedTypes['collections'][TSlug]>\nasync function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | GeneratedTypes['collections'][TSlug]> {\n const {\n id,\n collection: collectionSlug,\n depth,\n overrideAccess = true,\n showHiddenFields,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Delete Operation.`,\n )\n }\n\n const args = {\n id,\n collection,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return deleteByIDOperation<TSlug>(args)\n }\n return deleteOperation<TSlug>(args)\n}\n\nexport default deleteLocal\n"],"names":["APIError","createLocalReq","deleteOperation","deleteByIDOperation","deleteLocal","payload","options","id","collection","collectionSlug","depth","overrideAccess","showHiddenFields","where","collections","String","args","req"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;AA2CtD,eAAeC,YACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EAChBC,KAAK,EACN,GAAGP;IAEJ,MAAME,aAAaH,QAAQS,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIR,SACR,CAAC,yBAAyB,EAAEe,OAAON,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMO,OAAO;QACXT;QACAC;QACAE;QACAC;QACAM,KAAK,MAAMhB,eAAeK,SAASD;QACnCO;QACAC;IACF;IAEA,IAAIP,QAAQC,EAAE,EAAE;QACd,OAAOJ,oBAA2Ba;IACpC;IACA,OAAOd,gBAAuBc;AAChC;AAEA,eAAeZ,YAAW"}
1
+ {"version":3,"sources":["../../../../src/collections/operations/local/delete.ts"],"sourcesContent":["import type { GeneratedTypes, Payload } from '../../../index.js'\nimport type {\n Document,\n PayloadRequestWithData,\n RequestContext,\n Where,\n} from '../../../types/index.js'\nimport type { BulkOperationResult } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { deleteOperation } from '../delete.js'\nimport { deleteByIDOperation } from '../deleteByID.js'\n\nexport type BaseOptions<T extends keyof GeneratedTypes['collections']> = {\n collection: T\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n depth?: number\n fallbackLocale?: GeneratedTypes['locale']\n locale?: GeneratedTypes['locale']\n overrideAccess?: boolean\n req?: PayloadRequestWithData\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<T extends keyof GeneratedTypes['collections']> = BaseOptions<T> & {\n id: number | string\n where?: never\n}\n\nexport type ManyOptions<T extends keyof GeneratedTypes['collections']> = BaseOptions<T> & {\n id?: never\n where: Where\n}\n\nexport type Options<TSlug extends keyof GeneratedTypes['collections']> =\n | ByIDOptions<TSlug>\n | ManyOptions<TSlug>\n\nasync function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: ByIDOptions<TSlug>,\n): Promise<GeneratedTypes['collections'][TSlug]>\nasync function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: ManyOptions<TSlug>,\n): Promise<BulkOperationResult<TSlug>>\nasync function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | GeneratedTypes['collections'][TSlug]>\nasync function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | GeneratedTypes['collections'][TSlug]> {\n const {\n id,\n collection: collectionSlug,\n depth,\n overrideAccess = true,\n showHiddenFields,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Delete Operation.`,\n )\n }\n\n const args = {\n id,\n collection,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return deleteByIDOperation<TSlug>(args)\n }\n return deleteOperation<TSlug>(args)\n}\n\nexport default deleteLocal\n"],"names":["APIError","createLocalReq","deleteOperation","deleteByIDOperation","deleteLocal","payload","options","id","collection","collectionSlug","depth","overrideAccess","showHiddenFields","where","collections","String","args","req"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AASA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;AA2CtD,eAAeC,YACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,EAAE,EACFC,YAAYC,cAAc,EAC1BC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EAChBC,KAAK,EACN,GAAGP;IAEJ,MAAME,aAAaH,QAAQS,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIR,SACR,CAAC,yBAAyB,EAAEe,OAAON,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMO,OAAO;QACXT;QACAC;QACAE;QACAC;QACAM,KAAK,MAAMhB,eAAeK,SAASD;QACnCO;QACAC;IACF;IAEA,IAAIP,QAAQC,EAAE,EAAE;QACd,OAAOJ,oBAA2Ba;IACpC;IACA,OAAOd,gBAAuBc;AAChC;AAEA,eAAeZ,YAAW"}