payload 3.0.0-alpha.54 → 3.0.0-alpha.55

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 (132) hide show
  1. package/auth.d.ts +1 -1
  2. package/auth.js +1 -1
  3. package/database.d.ts +1 -1
  4. package/dist/admin/views/types.d.ts +1 -0
  5. package/dist/admin/views/types.d.ts.map +1 -1
  6. package/dist/admin/views/types.js.map +1 -1
  7. package/dist/auth/executeAuthStrategies.d.ts +3 -0
  8. package/dist/auth/executeAuthStrategies.d.ts.map +1 -0
  9. package/dist/auth/{getAuthenticatedUser.js → executeAuthStrategies.js} +2 -2
  10. package/dist/auth/executeAuthStrategies.js.map +1 -0
  11. package/dist/auth/operations/auth.d.ts +13 -0
  12. package/dist/auth/operations/auth.d.ts.map +1 -0
  13. package/dist/auth/operations/auth.js +35 -0
  14. package/dist/auth/operations/auth.js.map +1 -0
  15. package/dist/auth/operations/local/auth.d.ts +4 -0
  16. package/dist/auth/operations/local/auth.d.ts.map +1 -0
  17. package/dist/auth/operations/local/auth.js +13 -0
  18. package/dist/auth/operations/local/auth.js.map +1 -0
  19. package/dist/auth/operations/local/index.d.ts +1 -0
  20. package/dist/auth/operations/local/index.d.ts.map +1 -1
  21. package/dist/auth/operations/local/index.js +2 -0
  22. package/dist/auth/operations/local/index.js.map +1 -1
  23. package/dist/collections/config/client.d.ts +4 -2
  24. package/dist/collections/config/client.d.ts.map +1 -1
  25. package/dist/collections/config/sanitize.js +2 -2
  26. package/dist/collections/config/sanitize.js.map +1 -1
  27. package/dist/collections/config/schema.d.ts.map +1 -1
  28. package/dist/collections/config/schema.js +2 -5
  29. package/dist/collections/config/schema.js.map +1 -1
  30. package/dist/collections/config/types.d.ts +4 -1
  31. package/dist/collections/config/types.d.ts.map +1 -1
  32. package/dist/collections/config/types.js.map +1 -1
  33. package/dist/collections/operations/local/create.js +1 -1
  34. package/dist/collections/operations/local/create.js.map +1 -1
  35. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  36. package/dist/collections/operations/local/duplicate.js +4 -1
  37. package/dist/collections/operations/local/duplicate.js.map +1 -1
  38. package/dist/collections/operations/local/index.d.ts +1 -0
  39. package/dist/collections/operations/local/index.d.ts.map +1 -1
  40. package/dist/config/client.d.ts +1 -1
  41. package/dist/config/client.d.ts.map +1 -1
  42. package/dist/config/client.js +2 -1
  43. package/dist/config/client.js.map +1 -1
  44. package/dist/config/types.d.ts +3 -1
  45. package/dist/config/types.d.ts.map +1 -1
  46. package/dist/config/types.js.map +1 -1
  47. package/dist/database/types.d.ts +4 -0
  48. package/dist/database/types.d.ts.map +1 -1
  49. package/dist/database/types.js.map +1 -1
  50. package/dist/errors/MissingEditorProp.d.ts +7 -0
  51. package/dist/errors/MissingEditorProp.d.ts.map +1 -0
  52. package/dist/errors/MissingEditorProp.js +10 -0
  53. package/dist/errors/MissingEditorProp.js.map +1 -0
  54. package/dist/exports/auth.d.ts +1 -1
  55. package/dist/exports/auth.d.ts.map +1 -1
  56. package/dist/exports/auth.js +1 -1
  57. package/dist/exports/auth.js.map +1 -1
  58. package/dist/exports/database.d.ts +1 -1
  59. package/dist/exports/database.d.ts.map +1 -1
  60. package/dist/exports/database.js.map +1 -1
  61. package/dist/exports/node.d.ts +4 -0
  62. package/dist/exports/node.d.ts.map +1 -0
  63. package/dist/exports/node.js +5 -0
  64. package/dist/exports/node.js.map +1 -0
  65. package/dist/exports/types.d.ts +1 -1
  66. package/dist/exports/types.d.ts.map +1 -1
  67. package/dist/exports/types.js.map +1 -1
  68. package/dist/exports/utilities.d.ts.map +1 -1
  69. package/dist/exports/utilities.js.map +1 -1
  70. package/dist/exports/versions.d.ts +0 -1
  71. package/dist/exports/versions.d.ts.map +1 -1
  72. package/dist/exports/versions.js +0 -1
  73. package/dist/exports/versions.js.map +1 -1
  74. package/dist/fields/baseFields/baseBlockFields.d.ts +2 -2
  75. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  76. package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
  77. package/dist/fields/baseFields/baseIDField.d.ts +2 -2
  78. package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
  79. package/dist/fields/baseFields/baseIDField.js.map +1 -1
  80. package/dist/fields/config/client.d.ts +5 -0
  81. package/dist/fields/config/client.d.ts.map +1 -1
  82. package/dist/fields/config/sanitize.d.ts +7 -1
  83. package/dist/fields/config/sanitize.d.ts.map +1 -1
  84. package/dist/fields/config/sanitize.js +11 -3
  85. package/dist/fields/config/sanitize.js.map +1 -1
  86. package/dist/fields/config/schema.d.ts.map +1 -1
  87. package/dist/fields/config/schema.js +5 -0
  88. package/dist/fields/config/schema.js.map +1 -1
  89. package/dist/fields/config/types.d.ts +33 -2
  90. package/dist/fields/config/types.d.ts.map +1 -1
  91. package/dist/fields/config/types.js.map +1 -1
  92. package/dist/globals/config/schema.d.ts.map +1 -1
  93. package/dist/globals/config/schema.js +1 -0
  94. package/dist/globals/config/schema.js.map +1 -1
  95. package/dist/globals/config/types.d.ts +5 -0
  96. package/dist/globals/config/types.d.ts.map +1 -1
  97. package/dist/globals/config/types.js.map +1 -1
  98. package/dist/index.d.ts +8 -0
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +9 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  103. package/dist/uploads/getBaseFields.js +25 -34
  104. package/dist/uploads/getBaseFields.js.map +1 -1
  105. package/dist/utilities/importConfig.d.ts +6 -0
  106. package/dist/utilities/importConfig.d.ts.map +1 -0
  107. package/dist/utilities/importConfig.js +32 -0
  108. package/dist/utilities/importConfig.js.map +1 -0
  109. package/dist/utilities/importWithoutClientFiles.d.ts +2 -0
  110. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -0
  111. package/dist/utilities/importWithoutClientFiles.js +13 -0
  112. package/dist/utilities/importWithoutClientFiles.js.map +1 -0
  113. package/node.d.ts +4 -0
  114. package/node.js +5 -0
  115. package/package.json +2 -2
  116. package/src/index.ts +12 -0
  117. package/types.d.ts +1 -1
  118. package/versions.d.ts +0 -1
  119. package/versions.js +0 -1
  120. package/dist/auth/getAuthenticatedUser.d.ts +0 -3
  121. package/dist/auth/getAuthenticatedUser.d.ts.map +0 -1
  122. package/dist/auth/getAuthenticatedUser.js.map +0 -1
  123. package/dist/exports/uploads.d.ts +0 -2
  124. package/dist/exports/uploads.d.ts.map +0 -1
  125. package/dist/exports/uploads.js +0 -3
  126. package/dist/exports/uploads.js.map +0 -1
  127. package/dist/versions/getVersionsModelName.d.ts +0 -4
  128. package/dist/versions/getVersionsModelName.d.ts.map +0 -1
  129. package/dist/versions/getVersionsModelName.js +0 -3
  130. package/dist/versions/getVersionsModelName.js.map +0 -1
  131. package/uploads.d.ts +0 -2
  132. package/uploads.js +0 -3
package/auth.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './dist/auth/index.js';
2
2
  export { default as executeAccess } from './dist/auth/executeAccess.js';
3
+ export { executeAuthStrategies } from './dist/auth/executeAuthStrategies.js';
3
4
  export { getAccessResults } from './dist/auth/getAccessResults.js';
4
- export { getAuthenticatedUser } from './dist/auth/getAuthenticatedUser.js';
5
5
  export type { AuthStrategyFunction, AuthStrategyFunctionArgs, CollectionPermission, FieldPermissions, GlobalPermission, IncomingAuthType, Permission, Permissions, User, VerifyConfig, } from './dist/auth/types.js';
6
6
  //# sourceMappingURL=auth.d.ts.map
package/auth.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './dist/auth/index.js';
2
2
  export { default as executeAccess } from './dist/auth/executeAccess.js';
3
+ export { executeAuthStrategies } from './dist/auth/executeAuthStrategies.js';
3
4
  export { getAccessResults } from './dist/auth/getAccessResults.js';
4
- export { getAuthenticatedUser } from './dist/auth/getAuthenticatedUser.js';
5
5
 
6
6
  //# sourceMappingURL=auth.js.map
package/database.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { BaseDatabaseAdapter, BeginTransaction, CommitTransaction, Connect, Create, CreateArgs, CreateGlobal, CreateGlobalArgs, CreateGlobalVersion, CreateGlobalVersionArgs, CreateMigration, CreateVersion, CreateVersionArgs, DatabaseAdapterResult as DatabaseAdapterObj, DeleteMany, DeleteManyArgs, DeleteOne, DeleteOneArgs, DeleteVersions, DeleteVersionsArgs, Destroy, Find, FindArgs, FindGlobal, FindGlobalArgs, FindGlobalVersions, FindGlobalVersionsArgs, FindOne, FindOneArgs, FindVersions, FindVersionsArgs, Init, Migration, MigrationData, PaginatedDocs, QueryDrafts, QueryDraftsArgs, RollbackTransaction, Transaction, TypeWithVersion, UpdateGlobal, UpdateGlobalArgs, UpdateGlobalVersion, UpdateGlobalVersionArgs, UpdateOne, UpdateOneArgs, UpdateVersion, UpdateVersionArgs, } from './dist/database/types.js';
1
+ export type { BaseDatabaseAdapter, BeginTransaction, CommitTransaction, Connect, Create, CreateArgs, CreateGlobal, CreateGlobalArgs, CreateGlobalVersion, CreateGlobalVersionArgs, CreateMigration, CreateVersion, CreateVersionArgs, DBIdentifierName, DatabaseAdapterResult as DatabaseAdapterObj, DeleteMany, DeleteManyArgs, DeleteOne, DeleteOneArgs, DeleteVersions, DeleteVersionsArgs, Destroy, Find, FindArgs, FindGlobal, FindGlobalArgs, FindGlobalVersions, FindGlobalVersionsArgs, FindOne, FindOneArgs, FindVersions, FindVersionsArgs, Init, Migration, MigrationData, PaginatedDocs, QueryDrafts, QueryDraftsArgs, RollbackTransaction, Transaction, TypeWithVersion, UpdateGlobal, UpdateGlobalArgs, UpdateGlobalVersion, UpdateGlobalVersionArgs, UpdateOne, UpdateOneArgs, UpdateVersion, UpdateVersionArgs, } from './dist/database/types.js';
2
2
  export * from './dist/database/queryValidation/types.js';
3
3
  export { combineQueries } from './dist/database/combineQueries.js';
4
4
  export { createDatabaseAdapter } from './dist/database/createDatabaseAdapter.js';
@@ -1,6 +1,7 @@
1
1
  import type { Translations } from '@payloadcms/translations';
2
2
  import type { Permissions } from '../../auth/index.js';
3
3
  import type { SanitizedCollectionConfig } from '../../collections/config/types.js';
4
+ import type { Locale } from '../../config/types.js';
4
5
  import type { SanitizedGlobalConfig } from '../../globals/config/types.js';
5
6
  import type { PayloadRequest } from '../../types/index.js';
6
7
  export type AdminViewConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/admin/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IACzD,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;AAEpE,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,eAAe,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAChD,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,YAAY,EAAE,YAAY,CAAA;IAC1B,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IACxD,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/admin/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IACzD,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;AAEpE,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,eAAe,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAChD,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,YAAY,EAAE,YAAY,CAAA;IAC1B,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IACxD,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/admin/views/types.ts"],"sourcesContent":["import type { Translations } from '@payloadcms/translations'\n\nimport type { Permissions } from '../../auth/index.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nexport type AdminViewConfig = {\n Component: AdminViewComponent\n /** Whether the path should be matched exactly or as a prefix */\n exact?: boolean\n path: string\n sensitive?: boolean\n strict?: boolean\n}\n\nexport type AdminViewProps = {\n initPageResult: InitPageResult\n params?: { [key: string]: string | string[] | undefined }\n searchParams: { [key: string]: string | string[] | undefined }\n}\n\nexport type AdminViewComponent = React.ComponentType<AdminViewProps>\n\nexport type AdminView = AdminViewComponent | AdminViewConfig\n\nexport type EditViewProps = {\n collectionSlug?: string\n globalSlug?: string\n}\n\nexport type VisibleEntities = {\n collections: SanitizedCollectionConfig['slug'][]\n globals: SanitizedGlobalConfig['slug'][]\n}\n\nexport type InitPageResult = {\n collectionConfig?: SanitizedCollectionConfig\n cookies: Map<string, string>\n docID?: string\n globalConfig?: SanitizedGlobalConfig\n locale: Locale\n permissions: Permissions\n req: PayloadRequest\n translations: Translations\n visibleEntities: VisibleEntities\n}\n\nexport type ServerSideEditViewProps = {\n initPageResult: InitPageResult\n params: { [key: string]: string | string[] | undefined }\n routeSegments: string[]\n searchParams: { [key: string]: string | string[] | undefined }\n}\n"],"names":[],"mappings":"AAgDA,WAKC"}
1
+ {"version":3,"sources":["../../../src/admin/views/types.ts"],"sourcesContent":["import type { Translations } from '@payloadcms/translations'\n\nimport type { Permissions } from '../../auth/index.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Locale } from '../../config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nexport type AdminViewConfig = {\n Component: AdminViewComponent\n /** Whether the path should be matched exactly or as a prefix */\n exact?: boolean\n path: string\n sensitive?: boolean\n strict?: boolean\n}\n\nexport type AdminViewProps = {\n initPageResult: InitPageResult\n params?: { [key: string]: string | string[] | undefined }\n searchParams: { [key: string]: string | string[] | undefined }\n}\n\nexport type AdminViewComponent = React.ComponentType<AdminViewProps>\n\nexport type AdminView = AdminViewComponent | AdminViewConfig\n\nexport type EditViewProps = {\n collectionSlug?: string\n globalSlug?: string\n}\n\nexport type VisibleEntities = {\n collections: SanitizedCollectionConfig['slug'][]\n globals: SanitizedGlobalConfig['slug'][]\n}\n\nexport type InitPageResult = {\n collectionConfig?: SanitizedCollectionConfig\n cookies: Map<string, string>\n docID?: string\n globalConfig?: SanitizedGlobalConfig\n locale: Locale\n permissions: Permissions\n req: PayloadRequest\n translations: Translations\n visibleEntities: VisibleEntities\n}\n\nexport type ServerSideEditViewProps = {\n initPageResult: InitPageResult\n params: { [key: string]: string | string[] | undefined }\n routeSegments: string[]\n searchParams: { [key: string]: string | string[] | undefined }\n}\n"],"names":[],"mappings":"AAiDA,WAKC"}
@@ -0,0 +1,3 @@
1
+ import type { AuthStrategyFunctionArgs, User } from './index.js';
2
+ export declare const executeAuthStrategies: (args: AuthStrategyFunctionArgs) => Promise<User | null>;
3
+ //# sourceMappingURL=executeAuthStrategies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeAuthStrategies.d.ts","sourceRoot":"","sources":["../../src/auth/executeAuthStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEhE,eAAO,MAAM,qBAAqB,SAC1B,wBAAwB,KAC7B,QAAQ,IAAI,GAAG,IAAI,CAQrB,CAAA"}
@@ -1,4 +1,4 @@
1
- export const getAuthenticatedUser = async (args)=>{
1
+ export const executeAuthStrategies = async (args)=>{
2
2
  return args.payload.authStrategies.reduce(async (accumulatorPromise, strategy)=>{
3
3
  const authUser = await accumulatorPromise;
4
4
  if (!authUser) {
@@ -8,4 +8,4 @@ export const getAuthenticatedUser = async (args)=>{
8
8
  }, Promise.resolve(null));
9
9
  };
10
10
 
11
- //# sourceMappingURL=getAuthenticatedUser.js.map
11
+ //# sourceMappingURL=executeAuthStrategies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/auth/executeAuthStrategies.ts"],"sourcesContent":["import type { AuthStrategyFunctionArgs, User } from './index.js'\n\nexport const executeAuthStrategies = async (\n args: AuthStrategyFunctionArgs,\n): Promise<User | null> => {\n return args.payload.authStrategies.reduce(async (accumulatorPromise, strategy) => {\n const authUser = await accumulatorPromise\n if (!authUser) {\n return strategy.authenticate(args)\n }\n return authUser\n }, Promise.resolve(null))\n}\n"],"names":["executeAuthStrategies","args","payload","authStrategies","reduce","accumulatorPromise","strategy","authUser","authenticate","Promise","resolve"],"mappings":"AAEA,OAAO,MAAMA,wBAAwB,OACnCC;IAEA,OAAOA,KAAKC,OAAO,CAACC,cAAc,CAACC,MAAM,CAAC,OAAOC,oBAAoBC;QACnE,MAAMC,WAAW,MAAMF;QACvB,IAAI,CAACE,UAAU;YACb,OAAOD,SAASE,YAAY,CAACP;QAC/B;QACA,OAAOM;IACT,GAAGE,QAAQC,OAAO,CAAC;AACrB,EAAC"}
@@ -0,0 +1,13 @@
1
+ import type { PayloadRequest } from '../../types/index.js';
2
+ import type { Permissions, User } from '../types.js';
3
+ export type AuthArgs = {
4
+ headers: Request['headers'];
5
+ req: Omit<PayloadRequest, 'user'>;
6
+ };
7
+ export type AuthResult = {
8
+ cookies: Map<string, string>;
9
+ permissions: Permissions;
10
+ user: User | null;
11
+ };
12
+ export declare const auth: (args: AuthArgs) => Promise<AuthResult>;
13
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AASpD,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,SAAgB,QAAQ,KAAG,QAAQ,UAAU,CAiC7D,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { commitTransaction } from '../../utilities/commitTransaction.js';
2
+ import { initTransaction } from '../../utilities/initTransaction.js';
3
+ import { killTransaction } from '../../utilities/killTransaction.js';
4
+ import { parseCookies } from '../cookies.js';
5
+ import { executeAuthStrategies } from '../executeAuthStrategies.js';
6
+ import { getAccessResults } from '../getAccessResults.js';
7
+ export const auth = async (args)=>{
8
+ const { headers } = args;
9
+ const req = args.req;
10
+ const { payload } = req;
11
+ const cookies = parseCookies(headers);
12
+ try {
13
+ const shouldCommit = await initTransaction(req);
14
+ const user = await executeAuthStrategies({
15
+ cookies,
16
+ headers,
17
+ payload
18
+ });
19
+ req.user = user;
20
+ const permissions = await getAccessResults({
21
+ req
22
+ });
23
+ if (shouldCommit) await commitTransaction(req);
24
+ return {
25
+ cookies,
26
+ permissions,
27
+ user
28
+ };
29
+ } catch (error) {
30
+ await killTransaction(req);
31
+ throw error;
32
+ }
33
+ };
34
+
35
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/auth/operations/auth.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { Permissions, User } from '../types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { parseCookies } from '../cookies.js'\nimport { executeAuthStrategies } from '../executeAuthStrategies.js'\nimport { getAccessResults } from '../getAccessResults.js'\n\nexport type AuthArgs = {\n headers: Request['headers']\n req: Omit<PayloadRequest, 'user'>\n}\n\nexport type AuthResult = {\n cookies: Map<string, string>\n permissions: Permissions\n user: User | null\n}\n\nexport const auth = async (args: AuthArgs): Promise<AuthResult> => {\n const { headers } = args\n const req = args.req as PayloadRequest\n const { payload } = req\n\n const cookies = parseCookies(headers)\n\n try {\n const shouldCommit = await initTransaction(req)\n\n const user = await executeAuthStrategies({\n cookies,\n headers,\n payload,\n })\n\n req.user = user\n\n const permissions = await getAccessResults({\n req,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return {\n cookies,\n permissions,\n user,\n }\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["commitTransaction","initTransaction","killTransaction","parseCookies","executeAuthStrategies","getAccessResults","auth","args","headers","req","payload","cookies","shouldCommit","user","permissions","error"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,YAAY,QAAQ,gBAAe;AAC5C,SAASC,qBAAqB,QAAQ,8BAA6B;AACnE,SAASC,gBAAgB,QAAQ,yBAAwB;AAazD,OAAO,MAAMC,OAAO,OAAOC;IACzB,MAAM,EAAEC,OAAO,EAAE,GAAGD;IACpB,MAAME,MAAMF,KAAKE,GAAG;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,MAAME,UAAUR,aAAaK;IAE7B,IAAI;QACF,MAAMI,eAAe,MAAMX,gBAAgBQ;QAE3C,MAAMI,OAAO,MAAMT,sBAAsB;YACvCO;YACAH;YACAE;QACF;QAEAD,IAAII,IAAI,GAAGA;QAEX,MAAMC,cAAc,MAAMT,iBAAiB;YACzCI;QACF;QAEA,IAAIG,cAAc,MAAMZ,kBAAkBS;QAE1C,OAAO;YACLE;YACAG;YACAD;QACF;IACF,EAAE,OAAOE,OAAgB;QACvB,MAAMb,gBAAgBO;QACtB,MAAMM;IACR;AACF,EAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Payload } from '../../../index.js';
2
+ import type { AuthArgs, AuthResult } from '../auth.js';
3
+ export declare const auth: (payload: Payload, options: AuthArgs) => Promise<AuthResult>;
4
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAKtD,eAAO,MAAM,IAAI,8BAAqC,QAAQ,KAAG,QAAQ,UAAU,CAOlF,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { createLocalReq } from '../../../utilities/createLocalReq.js';
2
+ import { auth as authOperation } from '../auth.js';
3
+ export const auth = async (payload, options)=>{
4
+ const { headers } = options;
5
+ return await authOperation({
6
+ headers,
7
+ req: createLocalReq({
8
+ req: options.req
9
+ }, payload)
10
+ });
11
+ };
12
+
13
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/auth.ts"],"sourcesContent":["import type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { AuthArgs, AuthResult } from '../auth.js'\n\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { auth as authOperation } from '../auth.js'\n\nexport const auth = async (payload: Payload, options: AuthArgs): Promise<AuthResult> => {\n const { headers } = options\n\n return await authOperation({\n headers,\n req: createLocalReq({ req: options.req as PayloadRequest }, payload),\n })\n}\n"],"names":["createLocalReq","auth","authOperation","payload","options","headers","req"],"mappings":"AAIA,SAASA,cAAc,QAAQ,uCAAsC;AACrE,SAASC,QAAQC,aAAa,QAAQ,aAAY;AAElD,OAAO,MAAMD,OAAO,OAAOE,SAAkBC;IAC3C,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,OAAO,MAAMF,cAAc;QACzBG;QACAC,KAAKN,eAAe;YAAEM,KAAKF,QAAQE,GAAG;QAAmB,GAAGH;IAC9D;AACF,EAAC"}
@@ -4,6 +4,7 @@ import resetPassword from './resetPassword.js';
4
4
  import unlock from './unlock.js';
5
5
  import verifyEmail from './verifyEmail.js';
6
6
  declare const _default: {
7
+ auth: (payload: import("packages/payload/src/index.js").Payload, options: import("packages/payload/src/auth/operations/auth.js").AuthArgs) => Promise<import("packages/payload/src/auth/operations/auth.js").AuthResult>;
7
8
  forgotPassword: typeof forgotPassword;
8
9
  login: typeof login;
9
10
  resetPassword: typeof resetPassword;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,WAAW,MAAM,kBAAkB,CAAA;;;;;;;;AAE1C,wBAMC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/index.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,WAAW,MAAM,kBAAkB,CAAA;;;;;;;;;AAE1C,wBAOC"}
@@ -1,9 +1,11 @@
1
+ import { auth } from './auth.js';
1
2
  import forgotPassword from './forgotPassword.js';
2
3
  import login from './login.js';
3
4
  import resetPassword from './resetPassword.js';
4
5
  import unlock from './unlock.js';
5
6
  import verifyEmail from './verifyEmail.js';
6
7
  export default {
8
+ auth,
7
9
  forgotPassword,
8
10
  login,
9
11
  resetPassword,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/index.ts"],"sourcesContent":["import forgotPassword from './forgotPassword.js'\nimport login from './login.js'\nimport resetPassword from './resetPassword.js'\nimport unlock from './unlock.js'\nimport verifyEmail from './verifyEmail.js'\n\nexport default {\n forgotPassword,\n login,\n resetPassword,\n unlock,\n verifyEmail,\n}\n"],"names":["forgotPassword","login","resetPassword","unlock","verifyEmail"],"mappings":"AAAA,OAAOA,oBAAoB,sBAAqB;AAChD,OAAOC,WAAW,aAAY;AAC9B,OAAOC,mBAAmB,qBAAoB;AAC9C,OAAOC,YAAY,cAAa;AAChC,OAAOC,iBAAiB,mBAAkB;AAE1C,eAAe;IACbJ;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/index.ts"],"sourcesContent":["import { auth } from './auth.js'\nimport forgotPassword from './forgotPassword.js'\nimport login from './login.js'\nimport resetPassword from './resetPassword.js'\nimport unlock from './unlock.js'\nimport verifyEmail from './verifyEmail.js'\n\nexport default {\n auth,\n forgotPassword,\n login,\n resetPassword,\n unlock,\n verifyEmail,\n}\n"],"names":["auth","forgotPassword","login","resetPassword","unlock","verifyEmail"],"mappings":"AAAA,SAASA,IAAI,QAAQ,YAAW;AAChC,OAAOC,oBAAoB,sBAAqB;AAChD,OAAOC,WAAW,aAAY;AAC9B,OAAOC,mBAAmB,qBAAoB;AAC9C,OAAOC,YAAY,cAAa;AAChC,OAAOC,iBAAiB,mBAAkB;AAE1C,eAAe;IACbL;IACAC;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
@@ -227,7 +227,6 @@ export declare const createClientCollectionConfig: (collection: SanitizedCollect
227
227
  description: string | import("../../config/types.js").EntityDescriptionComponent | import("../../config/types.js").EntityDescriptionFunction | {
228
228
  [x: string]: string;
229
229
  };
230
- disableDuplicate: boolean;
231
230
  enableRichTextLink: boolean;
232
231
  enableRichTextRelationship: boolean;
233
232
  group: string | {
@@ -246,9 +245,11 @@ export declare const createClientCollectionConfig: (collection: SanitizedCollect
246
245
  width: string | number;
247
246
  }[];
248
247
  url: string | ((args: {
248
+ collectionConfig?: SanitizedCollectionConfig;
249
249
  data: Record<string, any>;
250
- documentInfo: any;
250
+ globalConfig?: import("packages/payload/src/exports/types.js").SanitizedGlobalConfig;
251
251
  locale: import("../../config/types.js").Locale;
252
+ payload: import("packages/payload/src/index.js").Payload;
252
253
  }) => string | Promise<string>);
253
254
  };
254
255
  pagination: {
@@ -296,6 +297,7 @@ export declare const createClientCollectionConfig: (collection: SanitizedCollect
296
297
  update: import("../../config/types.js").Access;
297
298
  };
298
299
  defaultSort: string;
300
+ disableDuplicate: boolean;
299
301
  labels: {
300
302
  plural: string | {
301
303
  [x: string]: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAE/F,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,yBAAyB,EACzB,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CACpD,GAAG;IACF,KAAK,EAAE,IAAI,CACT,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,aAAa,GAAG,mCAAmC,CAC/D,GAAG;QACF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,eAAO,MAAM,4BAA4B,eAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDjF,CAAA;AAED,eAAO,MAAM,6BAA6B,gBAC3B,yBAAyB,EAAE,KACvC,sBAAsB,EACkD,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAE/F,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,yBAAyB,EACzB,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CACpD,GAAG;IACF,KAAK,EAAE,IAAI,CACT,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,aAAa,GAAG,mCAAmC,CAC/D,GAAG;QACF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,eAAO,MAAM,4BAA4B,eAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDjF,CAAA;AAED,eAAO,MAAM,6BAA6B,gBAC3B,yBAAyB,EAAE,KACvC,sBAAsB,EACkD,CAAA"}
@@ -85,7 +85,7 @@ const sanitizeCollection = (config, collection)=>{
85
85
  if (sanitized.upload) {
86
86
  if (sanitized.upload === true) sanitized.upload = {};
87
87
  // disable duplicate for uploads by default
88
- sanitized.admin.disableDuplicate = sanitized.admin.disableDuplicate || true;
88
+ sanitized.disableDuplicate = sanitized.disableDuplicate || true;
89
89
  sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug;
90
90
  sanitized.admin.useAsTitle = sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id' ? sanitized.admin.useAsTitle : 'filename';
91
91
  const uploadFields = getBaseUploadFields({
@@ -113,7 +113,7 @@ const sanitizeCollection = (config, collection)=>{
113
113
  }
114
114
  }
115
115
  // disable duplicate for auth enabled collections by default
116
- sanitized.admin.disableDuplicate = sanitized.admin.disableDuplicate || true;
116
+ sanitized.disableDuplicate = sanitized.disableDuplicate || true;
117
117
  if (!sanitized.auth.strategies) {
118
118
  sanitized.auth.strategies = [];
119
119
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport TimestampsRequired from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { extractTranslations } from '../../translations/extractTranslations.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nconst translations = extractTranslations(['general:createdAt', 'general:updatedAt'])\n\nconst sanitizeCollection = (\n config: Config,\n collection: CollectionConfig,\n): SanitizedCollectionConfig => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: translations['general:updatedAt'],\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: translations['general:createdAt'],\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.admin.disableDuplicate = sanitized.admin.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.admin.disableDuplicate = sanitized.admin.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = sanitizeFields({\n config,\n fields: sanitized.fields,\n validRelationships,\n })\n\n return sanitized as SanitizedCollectionConfig\n}\n\nexport default sanitizeCollection\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","extractTranslations","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","authDefaults","defaults","translations","sanitizeCollection","config","collection","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","index","labels","slug","versions","drafts","autosave","interval","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport TimestampsRequired from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { extractTranslations } from '../../translations/extractTranslations.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nconst translations = extractTranslations(['general:createdAt', 'general:updatedAt'])\n\nconst sanitizeCollection = (\n config: Config,\n collection: CollectionConfig,\n): SanitizedCollectionConfig => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: translations['general:updatedAt'],\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: translations['general:createdAt'],\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = sanitizeFields({\n config,\n fields: sanitized.fields,\n validRelationships,\n })\n\n return sanitized as SanitizedCollectionConfig\n}\n\nexport default sanitizeCollection\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","extractTranslations","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","authDefaults","defaults","translations","sanitizeCollection","config","collection","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","index","labels","slug","versions","drafts","autosave","interval","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAcrB,QAAA,MAAM,gBAAgB,uBAmNpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAcrB,QAAA,MAAM,gBAAgB,uBA8MpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
@@ -44,7 +44,6 @@ const collectionSchema = joi.object().keys({
44
44
  }),
45
45
  defaultColumns: joi.array().items(joi.string()),
46
46
  description: joi.alternatives().try(joi.string(), componentSchema),
47
- disableDuplicate: joi.bool(),
48
47
  enableRichTextLink: joi.boolean(),
49
48
  enableRichTextRelationship: joi.boolean(),
50
49
  group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
@@ -88,7 +87,9 @@ const collectionSchema = joi.object().keys({
88
87
  }))
89
88
  }), joi.boolean()),
90
89
  custom: joi.object().pattern(joi.string(), joi.any()),
90
+ dbName: joi.alternatives().try(joi.string(), joi.func()),
91
91
  defaultSort: joi.string(),
92
+ disableDuplicate: joi.bool(),
92
93
  endpoints: endpointsSchema,
93
94
  fields: joi.array(),
94
95
  graphQL: joi.alternatives().try(joi.object().keys({
@@ -112,10 +113,6 @@ const collectionSchema = joi.object().keys({
112
113
  beforeRead: joi.array().items(joi.func()),
113
114
  beforeValidate: joi.array().items(joi.func())
114
115
  }),
115
- indexes: joi.array().items(joi.object().keys({
116
- fields: joi.object().required(),
117
- options: joi.object()
118
- })),
119
116
  labels: joi.object({
120
117
  plural: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
121
118
  joi.string()
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { endpointsSchema } from '../../config/schema.js'\nimport {\n componentSchema,\n customViewSchema,\n livePreviewSchema,\n} from '../../config/shared/componentSchema.js'\n\nconst strategyBaseSchema = joi.object().keys({\n logout: joi.boolean(),\n refresh: joi.boolean(),\n})\n\nconst collectionSchema = joi.object().keys({\n slug: joi.string().required(),\n access: joi.object({\n admin: joi.func(),\n create: joi.func(),\n delete: joi.func(),\n read: joi.func(),\n readVersions: joi.func(),\n unlock: joi.func(),\n update: joi.func(),\n }),\n admin: joi.object({\n components: joi.object({\n AfterList: joi.array().items(componentSchema),\n AfterListTable: joi.array().items(componentSchema),\n BeforeList: joi.array().items(componentSchema),\n BeforeListTable: joi.array().items(componentSchema),\n edit: joi.object({\n PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: componentSchema,\n }),\n views: joi.object({\n Edit: joi.alternatives().try(\n componentSchema,\n joi.object({\n API: joi.alternatives().try(componentSchema, customViewSchema),\n Default: joi.alternatives().try(componentSchema, customViewSchema),\n LivePreview: joi.alternatives().try(componentSchema, customViewSchema),\n Version: joi.alternatives().try(componentSchema, customViewSchema),\n Versions: joi.alternatives().try(componentSchema, customViewSchema),\n // Relationships\n // References\n }),\n ),\n List: joi.alternatives().try(\n componentSchema,\n joi.object({\n Component: componentSchema,\n actions: joi.array().items(componentSchema),\n }),\n ),\n }),\n }),\n defaultColumns: joi.array().items(joi.string()),\n description: joi.alternatives().try(joi.string(), componentSchema),\n disableDuplicate: joi.bool(),\n enableRichTextLink: joi.boolean(),\n enableRichTextRelationship: joi.boolean(),\n group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n hidden: joi.alternatives().try(joi.boolean(), joi.func()),\n hideAPIURL: joi.bool(),\n listSearchableFields: joi.array().items(joi.string()),\n livePreview: joi.object(livePreviewSchema),\n pagination: joi.object({\n defaultLimit: joi.number(),\n limits: joi.array().items(joi.number()),\n }),\n preview: joi.func(),\n useAsTitle: joi.string(),\n }),\n auth: joi.alternatives().try(\n joi.object({\n cookies: joi.object().keys({\n domain: joi.string(),\n sameSite: joi.string(), // TODO: add further specificity with joi.xor\n secure: joi.boolean(),\n }),\n depth: joi.number(),\n disableLocalStrategy: joi.boolean().valid(true),\n forgotPassword: joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n lockTime: joi.number(),\n maxLoginAttempts: joi.number(),\n removeTokenFromResponses: joi.boolean().valid(true),\n strategies: joi.array().items(\n joi.object().keys({\n name: joi.string().required(),\n authenticate: joi.func().required(),\n }),\n ),\n tokenExpiration: joi.number(),\n useAPIKey: joi.boolean(),\n verify: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n custom: joi.object().pattern(joi.string(), joi.any()),\n defaultSort: joi.string(),\n endpoints: endpointsSchema,\n fields: joi.array(),\n graphQL: joi.alternatives().try(\n joi.object().keys({\n pluralName: joi.string(),\n singularName: joi.string(),\n }),\n joi.boolean(),\n ),\n hooks: joi.object({\n afterChange: joi.array().items(joi.func()),\n afterDelete: joi.array().items(joi.func()),\n afterForgotPassword: joi.array().items(joi.func()),\n afterLogin: joi.array().items(joi.func()),\n afterLogout: joi.array().items(joi.func()),\n afterMe: joi.array().items(joi.func()),\n afterOperation: joi.array().items(joi.func()),\n afterRead: joi.array().items(joi.func()),\n afterRefresh: joi.array().items(joi.func()),\n beforeChange: joi.array().items(joi.func()),\n beforeDelete: joi.array().items(joi.func()),\n beforeLogin: joi.array().items(joi.func()),\n beforeOperation: joi.array().items(joi.func()),\n beforeRead: joi.array().items(joi.func()),\n beforeValidate: joi.array().items(joi.func()),\n }),\n indexes: joi.array().items(\n joi.object().keys({\n fields: joi.object().required(),\n options: joi.object(),\n }),\n ),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n timestamps: joi.boolean(),\n typescript: joi.object().keys({\n interface: joi.string(),\n }),\n upload: joi.alternatives().try(\n joi.object({\n adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),\n crop: joi.bool(),\n disableLocalStorage: joi.bool(),\n filesRequiredOnCreate: joi.bool(),\n focalPoint: joi.bool(),\n formatOptions: joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n handlers: joi.array().items(joi.func()),\n imageSizes: joi.array().items(\n joi\n .object()\n .keys({\n name: joi.string(),\n crop: joi.string(), // TODO: add further specificity with joi.xor\n height: joi.number().integer().allow(null),\n width: joi.number().integer().allow(null),\n })\n .unknown(),\n ),\n mimeTypes: joi.array().items(joi.string()),\n resizeOptions: joi\n .object()\n .keys({\n background: joi.string(),\n fastShrinkOnLoad: joi.bool(),\n fit: joi.string(),\n height: joi.number().allow(null),\n kernel: joi.string(),\n position: joi.alternatives().try(joi.string(), joi.number()),\n width: joi.number().allow(null),\n withoutEnlargement: joi.bool(),\n })\n .allow(null),\n staticDir: joi.string(),\n staticOptions: joi.object(),\n tempFileDir: joi.string(),\n trimOptions: joi.alternatives().try(\n joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n joi.string(),\n joi.number(),\n ),\n useTempFiles: joi.bool(),\n }),\n joi.boolean(),\n ),\n versions: joi.alternatives().try(\n joi.object({\n drafts: joi.alternatives().try(\n joi.object({\n autosave: joi.alternatives().try(\n joi.boolean(),\n joi.object({\n interval: joi.number(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n maxPerDoc: joi.number(),\n }),\n joi.boolean(),\n ),\n})\n\nexport default collectionSchema\n"],"names":["joi","endpointsSchema","componentSchema","customViewSchema","livePreviewSchema","strategyBaseSchema","object","keys","logout","boolean","refresh","collectionSchema","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","AfterList","array","items","AfterListTable","BeforeList","BeforeListTable","edit","PreviewButton","PublishButton","SaveButton","SaveDraftButton","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","defaultColumns","description","disableDuplicate","bool","enableRichTextLink","enableRichTextRelationship","group","pattern","hidden","hideAPIURL","listSearchableFields","livePreview","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","maxLoginAttempts","removeTokenFromResponses","strategies","name","authenticate","tokenExpiration","useAPIKey","verify","custom","any","defaultSort","endpoints","fields","graphQL","pluralName","singularName","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","indexes","options","labels","plural","singular","timestamps","typescript","interface","upload","adminThumbnail","crop","disableLocalStorage","filesRequiredOnCreate","focalPoint","formatOptions","format","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","staticOptions","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","maxPerDoc"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { endpointsSchema } from '../../config/schema.js'\nimport {\n componentSchema,\n customViewSchema,\n livePreviewSchema,\n} from '../../config/shared/componentSchema.js'\n\nconst strategyBaseSchema = joi.object().keys({\n logout: joi.boolean(),\n refresh: joi.boolean(),\n})\n\nconst collectionSchema = joi.object().keys({\n slug: joi.string().required(),\n access: joi.object({\n admin: joi.func(),\n create: joi.func(),\n delete: joi.func(),\n read: joi.func(),\n readVersions: joi.func(),\n unlock: joi.func(),\n update: joi.func(),\n }),\n admin: joi.object({\n components: joi.object({\n AfterList: joi.array().items(componentSchema),\n AfterListTable: joi.array().items(componentSchema),\n BeforeList: joi.array().items(componentSchema),\n BeforeListTable: joi.array().items(componentSchema),\n edit: joi.object({\n PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: componentSchema,\n }),\n views: joi.object({\n Edit: joi.alternatives().try(\n componentSchema,\n joi.object({\n API: joi.alternatives().try(componentSchema, customViewSchema),\n Default: joi.alternatives().try(componentSchema, customViewSchema),\n LivePreview: joi.alternatives().try(componentSchema, customViewSchema),\n Version: joi.alternatives().try(componentSchema, customViewSchema),\n Versions: joi.alternatives().try(componentSchema, customViewSchema),\n // Relationships\n // References\n }),\n ),\n List: joi.alternatives().try(\n componentSchema,\n joi.object({\n Component: componentSchema,\n actions: joi.array().items(componentSchema),\n }),\n ),\n }),\n }),\n defaultColumns: joi.array().items(joi.string()),\n description: joi.alternatives().try(joi.string(), componentSchema),\n enableRichTextLink: joi.boolean(),\n enableRichTextRelationship: joi.boolean(),\n group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n hidden: joi.alternatives().try(joi.boolean(), joi.func()),\n hideAPIURL: joi.bool(),\n listSearchableFields: joi.array().items(joi.string()),\n livePreview: joi.object(livePreviewSchema),\n pagination: joi.object({\n defaultLimit: joi.number(),\n limits: joi.array().items(joi.number()),\n }),\n preview: joi.func(),\n useAsTitle: joi.string(),\n }),\n auth: joi.alternatives().try(\n joi.object({\n cookies: joi.object().keys({\n domain: joi.string(),\n sameSite: joi.string(), // TODO: add further specificity with joi.xor\n secure: joi.boolean(),\n }),\n depth: joi.number(),\n disableLocalStrategy: joi.boolean().valid(true),\n forgotPassword: joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n lockTime: joi.number(),\n maxLoginAttempts: joi.number(),\n removeTokenFromResponses: joi.boolean().valid(true),\n strategies: joi.array().items(\n joi.object().keys({\n name: joi.string().required(),\n authenticate: joi.func().required(),\n }),\n ),\n tokenExpiration: joi.number(),\n useAPIKey: joi.boolean(),\n verify: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultSort: joi.string(),\n disableDuplicate: joi.bool(),\n endpoints: endpointsSchema,\n fields: joi.array(),\n graphQL: joi.alternatives().try(\n joi.object().keys({\n pluralName: joi.string(),\n singularName: joi.string(),\n }),\n joi.boolean(),\n ),\n hooks: joi.object({\n afterChange: joi.array().items(joi.func()),\n afterDelete: joi.array().items(joi.func()),\n afterForgotPassword: joi.array().items(joi.func()),\n afterLogin: joi.array().items(joi.func()),\n afterLogout: joi.array().items(joi.func()),\n afterMe: joi.array().items(joi.func()),\n afterOperation: joi.array().items(joi.func()),\n afterRead: joi.array().items(joi.func()),\n afterRefresh: joi.array().items(joi.func()),\n beforeChange: joi.array().items(joi.func()),\n beforeDelete: joi.array().items(joi.func()),\n beforeLogin: joi.array().items(joi.func()),\n beforeOperation: joi.array().items(joi.func()),\n beforeRead: joi.array().items(joi.func()),\n beforeValidate: joi.array().items(joi.func()),\n }),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n timestamps: joi.boolean(),\n typescript: joi.object().keys({\n interface: joi.string(),\n }),\n upload: joi.alternatives().try(\n joi.object({\n adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),\n crop: joi.bool(),\n disableLocalStorage: joi.bool(),\n filesRequiredOnCreate: joi.bool(),\n focalPoint: joi.bool(),\n formatOptions: joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n handlers: joi.array().items(joi.func()),\n imageSizes: joi.array().items(\n joi\n .object()\n .keys({\n name: joi.string(),\n crop: joi.string(), // TODO: add further specificity with joi.xor\n height: joi.number().integer().allow(null),\n width: joi.number().integer().allow(null),\n })\n .unknown(),\n ),\n mimeTypes: joi.array().items(joi.string()),\n resizeOptions: joi\n .object()\n .keys({\n background: joi.string(),\n fastShrinkOnLoad: joi.bool(),\n fit: joi.string(),\n height: joi.number().allow(null),\n kernel: joi.string(),\n position: joi.alternatives().try(joi.string(), joi.number()),\n width: joi.number().allow(null),\n withoutEnlargement: joi.bool(),\n })\n .allow(null),\n staticDir: joi.string(),\n staticOptions: joi.object(),\n tempFileDir: joi.string(),\n trimOptions: joi.alternatives().try(\n joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n joi.string(),\n joi.number(),\n ),\n useTempFiles: joi.bool(),\n }),\n joi.boolean(),\n ),\n versions: joi.alternatives().try(\n joi.object({\n drafts: joi.alternatives().try(\n joi.object({\n autosave: joi.alternatives().try(\n joi.boolean(),\n joi.object({\n interval: joi.number(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n maxPerDoc: joi.number(),\n }),\n joi.boolean(),\n ),\n})\n\nexport default collectionSchema\n"],"names":["joi","endpointsSchema","componentSchema","customViewSchema","livePreviewSchema","strategyBaseSchema","object","keys","logout","boolean","refresh","collectionSchema","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","AfterList","array","items","AfterListTable","BeforeList","BeforeListTable","edit","PreviewButton","PublishButton","SaveButton","SaveDraftButton","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","defaultColumns","description","enableRichTextLink","enableRichTextRelationship","group","pattern","hidden","hideAPIURL","bool","listSearchableFields","livePreview","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","maxLoginAttempts","removeTokenFromResponses","strategies","name","authenticate","tokenExpiration","useAPIKey","verify","custom","any","dbName","defaultSort","disableDuplicate","endpoints","fields","graphQL","pluralName","singularName","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","labels","plural","singular","timestamps","typescript","interface","upload","adminThumbnail","crop","disableLocalStorage","filesRequiredOnCreate","focalPoint","formatOptions","format","options","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","staticOptions","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","maxPerDoc"],"mappings":"AAAA,OAAOA,SAAS,MAAK;AAErB,SAASC,eAAe,QAAQ,yBAAwB;AACxD,SACEC,eAAe,EACfC,gBAAgB,EAChBC,iBAAiB,QACZ,yCAAwC;AAE/C,MAAMC,qBAAqBL,IAAIM,MAAM,GAAGC,IAAI,CAAC;IAC3CC,QAAQR,IAAIS,OAAO;IACnBC,SAASV,IAAIS,OAAO;AACtB;AAEA,MAAME,mBAAmBX,IAAIM,MAAM,GAAGC,IAAI,CAAC;IACzCK,MAAMZ,IAAIa,MAAM,GAAGC,QAAQ;IAC3BC,QAAQf,IAAIM,MAAM,CAAC;QACjBU,OAAOhB,IAAIiB,IAAI;QACfC,QAAQlB,IAAIiB,IAAI;QAChBE,QAAQnB,IAAIiB,IAAI;QAChBG,MAAMpB,IAAIiB,IAAI;QACdI,cAAcrB,IAAIiB,IAAI;QACtBK,QAAQtB,IAAIiB,IAAI;QAChBM,QAAQvB,IAAIiB,IAAI;IAClB;IACAD,OAAOhB,IAAIM,MAAM,CAAC;QAChBkB,YAAYxB,IAAIM,MAAM,CAAC;YACrBmB,WAAWzB,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAC7B0B,gBAAgB5B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAClC2B,YAAY7B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAC9B4B,iBAAiB9B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YACnC6B,MAAM/B,IAAIM,MAAM,CAAC;gBACf0B,eAAe9B;gBACf+B,eAAe/B;gBACfgC,YAAYhC;gBACZiC,iBAAiBjC;YACnB;YACAkC,OAAOpC,IAAIM,MAAM,CAAC;gBAChB+B,MAAMrC,IAAIsC,YAAY,GAAGC,GAAG,CAC1BrC,iBACAF,IAAIM,MAAM,CAAC;oBACTkC,KAAKxC,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBAC7CsC,SAASzC,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACjDuC,aAAa1C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACrDwC,SAAS3C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACjDyC,UAAU5C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;gBAGpD;gBAEF0C,MAAM7C,IAAIsC,YAAY,GAAGC,GAAG,CAC1BrC,iBACAF,IAAIM,MAAM,CAAC;oBACTwC,WAAW5C;oBACX6C,SAAS/C,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;gBAC7B;YAEJ;QACF;QACA8C,gBAAgBhD,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QAC5CoC,aAAajD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIX;QAClDgD,oBAAoBlD,IAAIS,OAAO;QAC/B0C,4BAA4BnD,IAAIS,OAAO;QACvC2C,OAAOpD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG+C,OAAO,CAACrD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;QAC7FyC,QAAQtD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIS,OAAO,IAAIT,IAAIiB,IAAI;QACtDsC,YAAYvD,IAAIwD,IAAI;QACpBC,sBAAsBzD,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QAClD6C,aAAa1D,IAAIM,MAAM,CAACF;QACxBuD,YAAY3D,IAAIM,MAAM,CAAC;YACrBsD,cAAc5D,IAAI6D,MAAM;YACxBC,QAAQ9D,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAI6D,MAAM;QACtC;QACAE,SAAS/D,IAAIiB,IAAI;QACjB+C,YAAYhE,IAAIa,MAAM;IACxB;IACAoD,MAAMjE,IAAIsC,YAAY,GAAGC,GAAG,CAC1BvC,IAAIM,MAAM,CAAC;QACT4D,SAASlE,IAAIM,MAAM,GAAGC,IAAI,CAAC;YACzB4D,QAAQnE,IAAIa,MAAM;YAClBuD,UAAUpE,IAAIa,MAAM;YACpBwD,QAAQrE,IAAIS,OAAO;QACrB;QACA6D,OAAOtE,IAAI6D,MAAM;QACjBU,sBAAsBvE,IAAIS,OAAO,GAAG+D,KAAK,CAAC;QAC1CC,gBAAgBzE,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChCmE,mBAAmB1E,IAAIiB,IAAI;YAC3B0D,sBAAsB3E,IAAIiB,IAAI;QAChC;QACA2D,UAAU5E,IAAI6D,MAAM;QACpBgB,kBAAkB7E,IAAI6D,MAAM;QAC5BiB,0BAA0B9E,IAAIS,OAAO,GAAG+D,KAAK,CAAC;QAC9CO,YAAY/E,IAAI0B,KAAK,GAAGC,KAAK,CAC3B3B,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChByE,MAAMhF,IAAIa,MAAM,GAAGC,QAAQ;YAC3BmE,cAAcjF,IAAIiB,IAAI,GAAGH,QAAQ;QACnC;QAEFoE,iBAAiBlF,IAAI6D,MAAM;QAC3BsB,WAAWnF,IAAIS,OAAO;QACtB2E,QAAQpF,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIS,OAAO,IACXT,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChBmE,mBAAmB1E,IAAIiB,IAAI;YAC3B0D,sBAAsB3E,IAAIiB,IAAI;QAChC;IAEJ,IACAjB,IAAIS,OAAO;IAEb4E,QAAQrF,IAAIM,MAAM,GAAG+C,OAAO,CAACrD,IAAIa,MAAM,IAAIb,IAAIsF,GAAG;IAClDC,QAAQvF,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAIiB,IAAI;IACrDuE,aAAaxF,IAAIa,MAAM;IACvB4E,kBAAkBzF,IAAIwD,IAAI;IAC1BkC,WAAWzF;IACX0F,QAAQ3F,IAAI0B,KAAK;IACjBkE,SAAS5F,IAAIsC,YAAY,GAAGC,GAAG,CAC7BvC,IAAIM,MAAM,GAAGC,IAAI,CAAC;QAChBsF,YAAY7F,IAAIa,MAAM;QACtBiF,cAAc9F,IAAIa,MAAM;IAC1B,IACAb,IAAIS,OAAO;IAEbsF,OAAO/F,IAAIM,MAAM,CAAC;QAChB0F,aAAahG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCgF,aAAajG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCiF,qBAAqBlG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC/CkF,YAAYnG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACtCmF,aAAapG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCoF,SAASrG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACnCqF,gBAAgBtG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC1CsF,WAAWvG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACrCuF,cAAcxG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxCwF,cAAczG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxCyF,cAAc1G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxC0F,aAAa3G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvC2F,iBAAiB5G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC3C4F,YAAY7G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACtC6F,gBAAgB9G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;IAC5C;IACA8F,QAAQ/G,IAAIM,MAAM,CAAC;QACjB0G,QAAQhH,IACLsC,YAAY,GACZC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG+C,OAAO,CAACrD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;QACtEoG,UAAUjH,IACPsC,YAAY,GACZC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG+C,OAAO,CAACrD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;IACxE;IACAqG,YAAYlH,IAAIS,OAAO;IACvB0G,YAAYnH,IAAIM,MAAM,GAAGC,IAAI,CAAC;QAC5B6G,WAAWpH,IAAIa,MAAM;IACvB;IACAwG,QAAQrH,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIM,MAAM,CAAC;QACTgH,gBAAgBtH,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIX;QACrDqH,MAAMvH,IAAIwD,IAAI;QACdgE,qBAAqBxH,IAAIwD,IAAI;QAC7BiE,uBAAuBzH,IAAIwD,IAAI;QAC/BkE,YAAY1H,IAAIwD,IAAI;QACpBmE,eAAe3H,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAC/BqH,QAAQ5H,IAAIa,MAAM;YAClBgH,SAAS7H,IAAIM,MAAM;QACrB;QACAwH,UAAU9H,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACpC8G,YAAY/H,IAAI0B,KAAK,GAAGC,KAAK,CAC3B3B,IACGM,MAAM,GACNC,IAAI,CAAC;YACJyE,MAAMhF,IAAIa,MAAM;YAChB0G,MAAMvH,IAAIa,MAAM;YAChBmH,QAAQhI,IAAI6D,MAAM,GAAGoE,OAAO,GAAGC,KAAK,CAAC;YACrCC,OAAOnI,IAAI6D,MAAM,GAAGoE,OAAO,GAAGC,KAAK,CAAC;QACtC,GACCE,OAAO;QAEZC,WAAWrI,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QACvCyH,eAAetI,IACZM,MAAM,GACNC,IAAI,CAAC;YACJgI,YAAYvI,IAAIa,MAAM;YACtB2H,kBAAkBxI,IAAIwD,IAAI;YAC1BiF,KAAKzI,IAAIa,MAAM;YACfmH,QAAQhI,IAAI6D,MAAM,GAAGqE,KAAK,CAAC;YAC3BQ,QAAQ1I,IAAIa,MAAM;YAClB8H,UAAU3I,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAI6D,MAAM;YACzDsE,OAAOnI,IAAI6D,MAAM,GAAGqE,KAAK,CAAC;YAC1BU,oBAAoB5I,IAAIwD,IAAI;QAC9B,GACC0E,KAAK,CAAC;QACTW,WAAW7I,IAAIa,MAAM;QACrBiI,eAAe9I,IAAIM,MAAM;QACzByI,aAAa/I,IAAIa,MAAM;QACvBmI,aAAahJ,IAAIsC,YAAY,GAAGC,GAAG,CACjCvC,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChBqH,QAAQ5H,IAAIa,MAAM;YAClBgH,SAAS7H,IAAIM,MAAM;QACrB,IACAN,IAAIa,MAAM,IACVb,IAAI6D,MAAM;QAEZoF,cAAcjJ,IAAIwD,IAAI;IACxB,IACAxD,IAAIS,OAAO;IAEbyI,UAAUlJ,IAAIsC,YAAY,GAAGC,GAAG,CAC9BvC,IAAIM,MAAM,CAAC;QACT6I,QAAQnJ,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIM,MAAM,CAAC;YACT8I,UAAUpJ,IAAIsC,YAAY,GAAGC,GAAG,CAC9BvC,IAAIS,OAAO,IACXT,IAAIM,MAAM,CAAC;gBACT+I,UAAUrJ,IAAI6D,MAAM;YACtB;QAEJ,IACA7D,IAAIS,OAAO;QAEb6I,WAAWtJ,IAAI6D,MAAM;IACvB,IACA7D,IAAIS,OAAO;AAEf;AAEA,eAAeE,iBAAgB"}
@@ -207,7 +207,6 @@ export type CollectionAdminOptions = {
207
207
  * Custom description for collection
208
208
  */
209
209
  description?: EntityDescription;
210
- disableDuplicate?: boolean;
211
210
  enableRichTextLink?: boolean;
212
211
  enableRichTextRelationship?: boolean;
213
212
  /**
@@ -275,6 +274,10 @@ export type CollectionConfig = {
275
274
  * Default field to sort by in collection list view
276
275
  */
277
276
  defaultSort?: string;
277
+ /**
278
+ * When true, do not show the "Duplicate" button while editing documents within this collection and prevent `duplicate` from all APIs
279
+ */
280
+ disableDuplicate?: boolean;
278
281
  /**
279
282
  * Custom rest api endpoints, set false to disable all rest endpoints for this collection.
280
283
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/collections/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/collections/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomPublishButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n} from '../../admin/types.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n EditConfig,\n Endpoint,\n EntityDescription,\n GeneratePreviewURL,\n LivePreviewConfig,\n} from '../../config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, RequestContext } from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type HookOperationType =\n | 'autosave'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<T extends TypeWithID = any> = (\n arg: AfterOperationArg<T>,\n) => Promise<ReturnType<AfterOperationMap<T>[keyof AfterOperationMap<T>]>>\n\nexport type AfterErrorHook = (\n err: Error,\n res: unknown,\n context: RequestContext,\n /** The collection which this hook is being run on. This is null if the AfterError hook was be added to the payload-wide config */\n collection: SanitizedCollectionConfig | null,\n) => { response: any; status: number } | void\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n AfterList?: React.ComponentType<any>[]\n AfterListTable?: React.ComponentType<any>[]\n BeforeList?: React.ComponentType<any>[]\n BeforeListTable?: React.ComponentType<any>[]\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButton\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n }\n views?: {\n /**\n * Set to a React component to replace the entire \"Edit\" view, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n Edit?: EditConfig\n List?:\n | {\n Component?: React.ComponentType<any>\n actions?: React.ComponentType<any>[]\n }\n | React.ComponentType<any>\n }\n }\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n disableDuplicate?: boolean\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: ClientUser }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit view and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig = {\n /**\n * Access control\n */\n access?: {\n admin?: (args?: any) => Promise<boolean> | boolean\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: IncomingAuthType | boolean\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: string\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: Omit<Endpoint, 'root'>[] | false\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: Record<string, string> | string\n singular?: Record<string, string> | string\n }\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: UploadConfig | boolean\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable versioning\n */\n versions?: IncomingCollectionVersions | boolean\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n graphQL?: {\n JWT: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends keyof GeneratedTypes['collections']> = {\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"mappings":"AAibA,WAKC"}
1
+ {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomPublishButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n} from '../../admin/types.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n EditConfig,\n Endpoint,\n EntityDescription,\n GeneratePreviewURL,\n LivePreviewConfig,\n} from '../../config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, RequestContext } from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type HookOperationType =\n | 'autosave'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<T extends TypeWithID = any> = (\n arg: AfterOperationArg<T>,\n) => Promise<ReturnType<AfterOperationMap<T>[keyof AfterOperationMap<T>]>>\n\nexport type AfterErrorHook = (\n err: Error,\n res: unknown,\n context: RequestContext,\n /** The collection which this hook is being run on. This is null if the AfterError hook was be added to the payload-wide config */\n collection: SanitizedCollectionConfig | null,\n) => { response: any; status: number } | void\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n AfterList?: React.ComponentType<any>[]\n AfterListTable?: React.ComponentType<any>[]\n BeforeList?: React.ComponentType<any>[]\n BeforeListTable?: React.ComponentType<any>[]\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButton\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n }\n views?: {\n /**\n * Set to a React component to replace the entire \"Edit\" view, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n Edit?: EditConfig\n List?:\n | {\n Component?: React.ComponentType<any>\n actions?: React.ComponentType<any>[]\n }\n | React.ComponentType<any>\n }\n }\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: ClientUser }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit view and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig = {\n /**\n * Access control\n */\n access?: {\n admin?: (args?: any) => Promise<boolean> | boolean\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: IncomingAuthType | boolean\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: string\n /**\n * When true, do not show the \"Duplicate\" button while editing documents within this collection and prevent `duplicate` from all APIs\n */\n disableDuplicate?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: Omit<Endpoint, 'root'>[] | false\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: Record<string, string> | string\n singular?: Record<string, string> | string\n }\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: UploadConfig | boolean\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable versioning\n */\n versions?: IncomingCollectionVersions | boolean\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n graphQL?: {\n JWT: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends keyof GeneratedTypes['collections']> = {\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"mappings":"AAobA,WAKC"}
@@ -8,7 +8,7 @@ export default async function createLocal(payload, options) {
8
8
  if (!collection) {
9
9
  throw new APIError(`The collection with slug ${String(collectionSlug)} can't be found. Create Operation.`);
10
10
  }
11
- const req = await createLocalReq(options, payload);
11
+ const req = createLocalReq(options, payload);
12
12
  req.file = file ?? await getFileByPath(filePath);
13
13
  return createOperation({
14
14
  collection,