payload 3.48.0-canary.5 → 3.48.0

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 (95) hide show
  1. package/dist/admin/functions/index.d.ts +29 -3
  2. package/dist/admin/functions/index.d.ts.map +1 -1
  3. package/dist/admin/functions/index.js.map +1 -1
  4. package/dist/admin/views/folderList.d.ts +1 -0
  5. package/dist/admin/views/folderList.d.ts.map +1 -1
  6. package/dist/admin/views/folderList.js.map +1 -1
  7. package/dist/collections/config/types.d.ts +1 -1
  8. package/dist/collections/config/types.d.ts.map +1 -1
  9. package/dist/collections/config/types.js.map +1 -1
  10. package/dist/collections/endpoints/findDistinct.d.ts +3 -0
  11. package/dist/collections/endpoints/findDistinct.d.ts.map +1 -0
  12. package/dist/collections/endpoints/findDistinct.js +32 -0
  13. package/dist/collections/endpoints/findDistinct.js.map +1 -0
  14. package/dist/collections/endpoints/index.d.ts.map +1 -1
  15. package/dist/collections/endpoints/index.js +6 -0
  16. package/dist/collections/endpoints/index.js.map +1 -1
  17. package/dist/collections/operations/findDistinct.d.ts +20 -0
  18. package/dist/collections/operations/findDistinct.d.ts.map +1 -0
  19. package/dist/collections/operations/findDistinct.js +139 -0
  20. package/dist/collections/operations/findDistinct.js.map +1 -0
  21. package/dist/collections/operations/local/findDistinct.d.ts +76 -0
  22. package/dist/collections/operations/local/findDistinct.d.ts.map +1 -0
  23. package/dist/collections/operations/local/findDistinct.js +25 -0
  24. package/dist/collections/operations/local/findDistinct.js.map +1 -0
  25. package/dist/collections/operations/utils.d.ts +6 -0
  26. package/dist/collections/operations/utils.d.ts.map +1 -1
  27. package/dist/collections/operations/utils.js.map +1 -1
  28. package/dist/config/defaults.d.ts.map +1 -1
  29. package/dist/config/defaults.js +7 -7
  30. package/dist/config/defaults.js.map +1 -1
  31. package/dist/config/sanitize.d.ts.map +1 -1
  32. package/dist/config/sanitize.js +26 -2
  33. package/dist/config/sanitize.js.map +1 -1
  34. package/dist/database/types.d.ts +24 -0
  35. package/dist/database/types.d.ts.map +1 -1
  36. package/dist/database/types.js.map +1 -1
  37. package/dist/folders/addFolderCollection.d.ts +10 -0
  38. package/dist/folders/addFolderCollection.d.ts.map +1 -0
  39. package/dist/folders/addFolderCollection.js +26 -0
  40. package/dist/folders/addFolderCollection.js.map +1 -0
  41. package/dist/folders/addFolderFieldToCollection.d.ts +8 -0
  42. package/dist/folders/addFolderFieldToCollection.d.ts.map +1 -0
  43. package/dist/folders/addFolderFieldToCollection.js +20 -0
  44. package/dist/folders/addFolderFieldToCollection.js.map +1 -0
  45. package/dist/folders/buildFolderField.d.ts +8 -0
  46. package/dist/folders/buildFolderField.d.ts.map +1 -0
  47. package/dist/folders/buildFolderField.js +87 -0
  48. package/dist/folders/buildFolderField.js.map +1 -0
  49. package/dist/folders/createFolderCollection.d.ts +3 -2
  50. package/dist/folders/createFolderCollection.d.ts.map +1 -1
  51. package/dist/folders/createFolderCollection.js +63 -16
  52. package/dist/folders/createFolderCollection.js.map +1 -1
  53. package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts +5 -0
  54. package/dist/folders/hooks/ensureSafeCollectionsChange.d.ts.map +1 -0
  55. package/dist/folders/hooks/ensureSafeCollectionsChange.js +107 -0
  56. package/dist/folders/hooks/ensureSafeCollectionsChange.js.map +1 -0
  57. package/dist/folders/types.d.ts +11 -1
  58. package/dist/folders/types.d.ts.map +1 -1
  59. package/dist/folders/types.js.map +1 -1
  60. package/dist/folders/utils/formatFolderOrDocumentItem.d.ts.map +1 -1
  61. package/dist/folders/utils/formatFolderOrDocumentItem.js +1 -0
  62. package/dist/folders/utils/formatFolderOrDocumentItem.js.map +1 -1
  63. package/dist/folders/utils/getFolderBreadcrumbs.d.ts.map +1 -1
  64. package/dist/folders/utils/getFolderBreadcrumbs.js +4 -2
  65. package/dist/folders/utils/getFolderBreadcrumbs.js.map +1 -1
  66. package/dist/folders/utils/getFolderData.d.ts +3 -2
  67. package/dist/folders/utils/getFolderData.d.ts.map +1 -1
  68. package/dist/folders/utils/getFolderData.js +40 -6
  69. package/dist/folders/utils/getFolderData.js.map +1 -1
  70. package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts +2 -0
  71. package/dist/folders/utils/getFoldersAndDocumentsFromJoin.d.ts.map +1 -1
  72. package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js +5 -1
  73. package/dist/folders/utils/getFoldersAndDocumentsFromJoin.js.map +1 -1
  74. package/dist/index.d.ts +9 -2
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +8 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/utilities/combineWhereConstraints.d.ts.map +1 -1
  79. package/dist/utilities/combineWhereConstraints.js +21 -7
  80. package/dist/utilities/combineWhereConstraints.js.map +1 -1
  81. package/dist/utilities/combineWhereConstraints.spec.js +130 -0
  82. package/dist/utilities/combineWhereConstraints.spec.js.map +1 -0
  83. package/dist/utilities/traverseFields.d.ts +3 -1
  84. package/dist/utilities/traverseFields.d.ts.map +1 -1
  85. package/dist/utilities/traverseFields.js +16 -3
  86. package/dist/utilities/traverseFields.js.map +1 -1
  87. package/package.json +2 -2
  88. package/dist/folders/addFolderCollections.d.ts +0 -3
  89. package/dist/folders/addFolderCollections.d.ts.map +0 -1
  90. package/dist/folders/addFolderCollections.js +0 -49
  91. package/dist/folders/addFolderCollections.js.map +0 -1
  92. package/dist/folders/endpoints/populateFolderData.d.ts +0 -3
  93. package/dist/folders/endpoints/populateFolderData.d.ts.map +0 -1
  94. package/dist/folders/endpoints/populateFolderData.js +0 -105
  95. package/dist/folders/endpoints/populateFolderData.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import type { ImportMap } from '../../bin/generateImportMap/index.js';
2
2
  import type { SanitizedConfig } from '../../config/types.js';
3
3
  import type { PaginatedDocs } from '../../database/types.js';
4
- import type { CollectionSlug, ColumnPreference } from '../../index.js';
4
+ import type { CollectionSlug, ColumnPreference, FolderSortKeys } from '../../index.js';
5
5
  import type { PayloadRequest, Sort, Where } from '../../types/index.js';
6
6
  import type { ColumnsFromURL } from '../../utilities/transformColumnPreferences.js';
7
7
  export type DefaultServerFunctionArgs = {
@@ -55,11 +55,37 @@ export type BuildCollectionFolderViewResult = {
55
55
  View: React.ReactNode;
56
56
  };
57
57
  export type GetFolderResultsComponentAndDataArgs = {
58
- activeCollectionSlugs: CollectionSlug[];
58
+ /**
59
+ * If true and no folderID is provided, only folders will be returned.
60
+ * If false, the results will include documents from the active collections.
61
+ */
59
62
  browseByFolder: boolean;
63
+ /**
64
+ * Used to filter document types to include in the results/display.
65
+ *
66
+ * i.e. ['folders', 'posts'] will only include folders and posts in the results.
67
+ *
68
+ * collectionsToQuery?
69
+ */
70
+ collectionsToDisplay: CollectionSlug[];
71
+ /**
72
+ * Used to determine how the results should be displayed.
73
+ */
60
74
  displayAs: 'grid' | 'list';
75
+ /**
76
+ * Used to filter folders by the collections they are assigned to.
77
+ *
78
+ * i.e. ['posts'] will only include folders that are assigned to the posts collections.
79
+ */
80
+ folderAssignedCollections: CollectionSlug[];
81
+ /**
82
+ * The ID of the folder to filter results by.
83
+ */
61
84
  folderID: number | string | undefined;
62
85
  req: PayloadRequest;
63
- sort: string;
86
+ /**
87
+ * The sort order for the results.
88
+ */
89
+ sort: FolderSortKeys;
64
90
  };
65
91
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAA;AAEnF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;AAEjG,MAAM,MAAM,cAAc,CACxB,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,IACtC,CAAC,IAAI,EAAE,yBAAyB,GAAG,KAAK,KAAK,WAAW,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,cAAc,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,IAAI,EAAE;IACJ,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,SAAS,EAAE,SAAS,CAAA;CACrB,GAAG,wBAAwB,KACzB,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB,MAAM,MAAM,SAAS,GAAG;IAKtB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAIxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3B,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACjC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE;QACP,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,oCAAoC,GAAG;IACjD,qBAAqB,EAAE,cAAc,EAAE,CAAA;IACvC,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACrC,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin/functions/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/admin/functions/index.ts"],"sourcesContent":["import type { ImportMap } from '../../bin/generateImportMap/index.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { PaginatedDocs } from '../../database/types.js'\nimport type { CollectionSlug, ColumnPreference } from '../../index.js'\nimport type { PayloadRequest, Sort, Where } from '../../types/index.js'\nimport type { ColumnsFromURL } from '../../utilities/transformColumnPreferences.js'\n\nexport type DefaultServerFunctionArgs = {\n importMap: ImportMap\n req: PayloadRequest\n}\n\nexport type ServerFunctionArgs = {\n args: Record<string, unknown>\n name: string\n}\n\nexport type ServerFunctionClientArgs = {\n args: Record<string, unknown>\n name: string\n}\n\nexport type ServerFunctionClient = (args: ServerFunctionClientArgs) => Promise<unknown> | unknown\n\nexport type ServerFunction<\n TArgs extends object = Record<string, unknown>,\n TReturnType = Promise<unknown> | unknown,\n> = (args: DefaultServerFunctionArgs & TArgs) => TReturnType\n\nexport type ServerFunctionConfig = {\n fn: ServerFunction\n name: string\n}\n\nexport type ServerFunctionHandler = (\n args: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n } & ServerFunctionClientArgs,\n) => Promise<unknown>\n\nexport type ListQuery = {\n /*\n * This is an of strings, i.e. `['title', '-slug']`\n * Use `transformColumnsToPreferences` and `transformColumnsToSearchParams` to convert it back and forth\n */\n columns?: ColumnsFromURL\n limit?: string\n page?: string\n preset?: number | string\n /*\n When provided, is automatically injected into the `where` object\n */\n search?: string\n sort?: Sort\n where?: Where\n} & Record<string, unknown>\n\nexport type BuildTableStateArgs = {\n collectionSlug: string | string[]\n columns?: ColumnPreference[]\n docs?: PaginatedDocs['docs']\n enableRowSelections?: boolean\n orderableFieldName: string\n parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n query?: ListQuery\n renderRowTypes?: boolean\n req: PayloadRequest\n tableAppearance?: 'condensed' | 'default'\n}\n\nexport type BuildCollectionFolderViewResult = {\n View: React.ReactNode\n}\n\nexport type GetFolderResultsComponentAndDataArgs = {\n activeCollectionSlugs: CollectionSlug[]\n browseByFolder: boolean\n displayAs: 'grid' | 'list'\n folderID: number | string | undefined\n req: PayloadRequest\n sort: string\n}\n"],"names":[],"mappings":"AA+EA,WAOC"}
1
+ {"version":3,"sources":["../../../src/admin/functions/index.ts"],"sourcesContent":["import type { ImportMap } from '../../bin/generateImportMap/index.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { PaginatedDocs } from '../../database/types.js'\nimport type { CollectionSlug, ColumnPreference, FolderSortKeys } from '../../index.js'\nimport type { PayloadRequest, Sort, Where } from '../../types/index.js'\nimport type { ColumnsFromURL } from '../../utilities/transformColumnPreferences.js'\n\nexport type DefaultServerFunctionArgs = {\n importMap: ImportMap\n req: PayloadRequest\n}\n\nexport type ServerFunctionArgs = {\n args: Record<string, unknown>\n name: string\n}\n\nexport type ServerFunctionClientArgs = {\n args: Record<string, unknown>\n name: string\n}\n\nexport type ServerFunctionClient = (args: ServerFunctionClientArgs) => Promise<unknown> | unknown\n\nexport type ServerFunction<\n TArgs extends object = Record<string, unknown>,\n TReturnType = Promise<unknown> | unknown,\n> = (args: DefaultServerFunctionArgs & TArgs) => TReturnType\n\nexport type ServerFunctionConfig = {\n fn: ServerFunction\n name: string\n}\n\nexport type ServerFunctionHandler = (\n args: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n } & ServerFunctionClientArgs,\n) => Promise<unknown>\n\nexport type ListQuery = {\n /*\n * This is an of strings, i.e. `['title', '-slug']`\n * Use `transformColumnsToPreferences` and `transformColumnsToSearchParams` to convert it back and forth\n */\n columns?: ColumnsFromURL\n limit?: string\n page?: string\n preset?: number | string\n /*\n When provided, is automatically injected into the `where` object\n */\n search?: string\n sort?: Sort\n where?: Where\n} & Record<string, unknown>\n\nexport type BuildTableStateArgs = {\n collectionSlug: string | string[]\n columns?: ColumnPreference[]\n docs?: PaginatedDocs['docs']\n enableRowSelections?: boolean\n orderableFieldName: string\n parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n query?: ListQuery\n renderRowTypes?: boolean\n req: PayloadRequest\n tableAppearance?: 'condensed' | 'default'\n}\n\nexport type BuildCollectionFolderViewResult = {\n View: React.ReactNode\n}\n\nexport type GetFolderResultsComponentAndDataArgs = {\n /**\n * If true and no folderID is provided, only folders will be returned.\n * If false, the results will include documents from the active collections.\n */\n browseByFolder: boolean\n /**\n * Used to filter document types to include in the results/display.\n *\n * i.e. ['folders', 'posts'] will only include folders and posts in the results.\n *\n * collectionsToQuery?\n */\n collectionsToDisplay: CollectionSlug[]\n /**\n * Used to determine how the results should be displayed.\n */\n displayAs: 'grid' | 'list'\n /**\n * Used to filter folders by the collections they are assigned to.\n *\n * i.e. ['posts'] will only include folders that are assigned to the posts collections.\n */\n folderAssignedCollections: CollectionSlug[]\n /**\n * The ID of the folder to filter results by.\n */\n folderID: number | string | undefined\n req: PayloadRequest\n /**\n * The sort order for the results.\n */\n sort: FolderSortKeys\n}\n"],"names":[],"mappings":"AA+EA,WAiCC"}
@@ -27,6 +27,7 @@ export type FolderListViewClientProps = {
27
27
  disableBulkEdit?: boolean;
28
28
  documents: FolderOrDocument[];
29
29
  enableRowSelections?: boolean;
30
+ folderAssignedCollections?: SanitizedCollectionConfig['slug'][];
30
31
  folderFieldName: string;
31
32
  folderID: null | number | string;
32
33
  FolderResultsComponent: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"folderList.d.ts","sourceRoot":"","sources":["../../../src/admin/views/folderList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folderList.d.ts","sourceRoot":"","sources":["../../../src/admin/views/folderList.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/admin/views/folderList.ts"],"sourcesContent":["import type { ServerProps } from '../../config/types.js'\nimport type { FolderBreadcrumb, FolderOrDocument, FolderSortKeys } from '../../folders/types.js'\nimport type { SanitizedCollectionConfig } from '../../index.js'\nexport type FolderListViewSlots = {\n AfterFolderList?: React.ReactNode\n AfterFolderListTable?: React.ReactNode\n BeforeFolderList?: React.ReactNode\n BeforeFolderListTable?: React.ReactNode\n Description?: React.ReactNode\n listMenuItems?: React.ReactNode[]\n}\n\nexport type FolderListViewServerPropsOnly = {\n collectionConfig: SanitizedCollectionConfig\n documents: FolderOrDocument[]\n subfolders: FolderOrDocument[]\n} & ServerProps\n\nexport type FolderListViewServerProps = FolderListViewClientProps & FolderListViewServerPropsOnly\n\nexport type FolderListViewClientProps = {\n activeCollectionFolderSlugs?: SanitizedCollectionConfig['slug'][]\n allCollectionFolderSlugs: SanitizedCollectionConfig['slug'][]\n allowCreateCollectionSlugs: SanitizedCollectionConfig['slug'][]\n baseFolderPath: `/${string}`\n beforeActions?: React.ReactNode[]\n breadcrumbs: FolderBreadcrumb[]\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n documents: FolderOrDocument[]\n enableRowSelections?: boolean\n folderFieldName: string\n folderID: null | number | string\n FolderResultsComponent: React.ReactNode\n search?: string\n sort?: FolderSortKeys\n subfolders: FolderOrDocument[]\n viewPreference: 'grid' | 'list'\n} & FolderListViewSlots\n\nexport type FolderListViewSlotSharedClientProps = {\n collectionSlug: SanitizedCollectionConfig['slug']\n hasCreatePermission: boolean\n newDocumentURL: string\n}\n\n// BeforeFolderList\nexport type BeforeFolderListClientProps = FolderListViewSlotSharedClientProps\nexport type BeforeFolderListServerPropsOnly = {} & FolderListViewServerPropsOnly\nexport type BeforeFolderListServerProps = BeforeFolderListClientProps &\n BeforeFolderListServerPropsOnly\n\n// BeforeFolderListTable\nexport type BeforeFolderListTableClientProps = FolderListViewSlotSharedClientProps\nexport type BeforeFolderListTableServerPropsOnly = {} & FolderListViewServerPropsOnly\nexport type BeforeFolderListTableServerProps = BeforeFolderListTableClientProps &\n BeforeFolderListTableServerPropsOnly\n\n// AfterFolderList\nexport type AfterFolderListClientProps = FolderListViewSlotSharedClientProps\nexport type AfterFolderListServerPropsOnly = {} & FolderListViewServerPropsOnly\nexport type AfterFolderListServerProps = AfterFolderListClientProps & AfterFolderListServerPropsOnly\n\n// AfterFolderListTable\nexport type AfterFolderListTableClientProps = FolderListViewSlotSharedClientProps\nexport type AfterFolderListTableServerPropsOnly = {} & FolderListViewServerPropsOnly\nexport type AfterFolderListTableServerProps = AfterFolderListTableClientProps &\n AfterFolderListTableServerPropsOnly\n"],"names":[],"mappings":"AAmEA,WACqC"}
1
+ {"version":3,"sources":["../../../src/admin/views/folderList.ts"],"sourcesContent":["import type { ServerProps } from '../../config/types.js'\nimport type { FolderBreadcrumb, FolderOrDocument, FolderSortKeys } from '../../folders/types.js'\nimport type { SanitizedCollectionConfig } from '../../index.js'\nexport type FolderListViewSlots = {\n AfterFolderList?: React.ReactNode\n AfterFolderListTable?: React.ReactNode\n BeforeFolderList?: React.ReactNode\n BeforeFolderListTable?: React.ReactNode\n Description?: React.ReactNode\n listMenuItems?: React.ReactNode[]\n}\n\nexport type FolderListViewServerPropsOnly = {\n collectionConfig: SanitizedCollectionConfig\n documents: FolderOrDocument[]\n subfolders: FolderOrDocument[]\n} & ServerProps\n\nexport type FolderListViewServerProps = FolderListViewClientProps & FolderListViewServerPropsOnly\n\nexport type FolderListViewClientProps = {\n activeCollectionFolderSlugs?: SanitizedCollectionConfig['slug'][]\n allCollectionFolderSlugs: SanitizedCollectionConfig['slug'][]\n allowCreateCollectionSlugs: SanitizedCollectionConfig['slug'][]\n baseFolderPath: `/${string}`\n beforeActions?: React.ReactNode[]\n breadcrumbs: FolderBreadcrumb[]\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n documents: FolderOrDocument[]\n enableRowSelections?: boolean\n folderAssignedCollections?: SanitizedCollectionConfig['slug'][]\n folderFieldName: string\n folderID: null | number | string\n FolderResultsComponent: React.ReactNode\n search?: string\n sort?: FolderSortKeys\n subfolders: FolderOrDocument[]\n viewPreference: 'grid' | 'list'\n} & FolderListViewSlots\n\nexport type FolderListViewSlotSharedClientProps = {\n collectionSlug: SanitizedCollectionConfig['slug']\n hasCreatePermission: boolean\n newDocumentURL: string\n}\n\n// BeforeFolderList\nexport type BeforeFolderListClientProps = FolderListViewSlotSharedClientProps\nexport type BeforeFolderListServerPropsOnly = {} & FolderListViewServerPropsOnly\nexport type BeforeFolderListServerProps = BeforeFolderListClientProps &\n BeforeFolderListServerPropsOnly\n\n// BeforeFolderListTable\nexport type BeforeFolderListTableClientProps = FolderListViewSlotSharedClientProps\nexport type BeforeFolderListTableServerPropsOnly = {} & FolderListViewServerPropsOnly\nexport type BeforeFolderListTableServerProps = BeforeFolderListTableClientProps &\n BeforeFolderListTableServerPropsOnly\n\n// AfterFolderList\nexport type AfterFolderListClientProps = FolderListViewSlotSharedClientProps\nexport type AfterFolderListServerPropsOnly = {} & FolderListViewServerPropsOnly\nexport type AfterFolderListServerProps = AfterFolderListClientProps & AfterFolderListServerPropsOnly\n\n// AfterFolderListTable\nexport type AfterFolderListTableClientProps = FolderListViewSlotSharedClientProps\nexport type AfterFolderListTableServerPropsOnly = {} & FolderListViewServerPropsOnly\nexport type AfterFolderListTableServerProps = AfterFolderListTableClientProps &\n AfterFolderListTableServerPropsOnly\n"],"names":[],"mappings":"AAoEA,WACqC"}
@@ -18,7 +18,7 @@ export type SelectFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollec
18
18
  export type AuthOperationsFromCollectionSlug<TSlug extends CollectionSlug> = TypedAuthOperations[TSlug];
19
19
  export type RequiredDataFromCollection<TData extends JsonObject> = MarkOptional<TData, 'createdAt' | 'id' | 'sizes' | 'updatedAt'>;
20
20
  export type RequiredDataFromCollectionSlug<TSlug extends CollectionSlug> = RequiredDataFromCollection<DataFromCollectionSlug<TSlug>>;
21
- export type HookOperationType = 'autosave' | 'count' | 'countVersions' | 'create' | 'delete' | 'forgotPassword' | 'login' | 'read' | 'refresh' | 'resetPassword' | 'update';
21
+ export type HookOperationType = 'autosave' | 'count' | 'countVersions' | 'create' | 'delete' | 'forgotPassword' | 'login' | 'read' | 'readDistinct' | 'refresh' | 'resetPassword' | 'update';
22
22
  type CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>;
23
23
  export type BeforeOperationHook = (args: {
24
24
  args?: any;
@@ -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":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired, IsAny, MarkOptional } from 'ts-essentials'\n\nimport type { CustomUpload } from '../../admin/types.js'\nimport type { Arguments as MeArguments } from '../../auth/operations/me.js'\nimport type {\n Arguments as RefreshArguments,\n Result as RefreshResult,\n} from '../../auth/operations/refresh.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n AfterErrorHookArgs,\n AfterErrorResult,\n CustomComponent,\n EditConfig,\n Endpoint,\n EntityDescription,\n EntityDescriptionComponent,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n MetaConfig,\n PayloadComponent,\n StaticLabel,\n} from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type {\n Field,\n FlattenedField,\n JoinField,\n RelationshipField,\n UploadField,\n} from '../../fields/config/types.js'\nimport type { CollectionFoldersConfiguration } from '../../folders/types.js'\nimport type {\n CollectionSlug,\n JsonObject,\n RequestContext,\n TypedAuthOperations,\n TypedCollection,\n TypedCollectionSelect,\n TypedLocale,\n} from '../../index.js'\nimport type {\n PayloadRequest,\n SelectIncludeType,\n SelectType,\n Sort,\n TransformCollectionWithSelect,\n Where,\n} 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 DataFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollection[TSlug]\n\nexport type SelectFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollectionSelect[TSlug]\n\nexport type AuthOperationsFromCollectionSlug<TSlug extends CollectionSlug> =\n TypedAuthOperations[TSlug]\n\nexport type RequiredDataFromCollection<TData extends JsonObject> = MarkOptional<\n TData,\n 'createdAt' | 'id' | 'sizes' | 'updatedAt'\n>\n\nexport type RequiredDataFromCollectionSlug<TSlug extends CollectionSlug> =\n RequiredDataFromCollection<DataFromCollectionSlug<TSlug>>\n\nexport type HookOperationType =\n | 'autosave'\n | 'count'\n | 'countVersions'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'resetPassword'\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 data: Partial<T>\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<TOperationGeneric extends CollectionSlug = string> = (\n arg: AfterOperationArg<TOperationGeneric>,\n) =>\n | Awaited<\n ReturnType<AfterOperationMap<TOperationGeneric>[keyof AfterOperationMap<TOperationGeneric>]>\n >\n | Promise<\n Awaited<\n ReturnType<AfterOperationMap<TOperationGeneric>[keyof AfterOperationMap<TOperationGeneric>]>\n >\n >\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\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\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\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\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 RefreshHook<T extends TypeWithID = any> = (args: {\n args: RefreshArguments\n user: T\n}) => Promise<RefreshResult | void> | (RefreshResult | void)\n\nexport type MeHook<T extends TypeWithID = any> = (args: {\n args: MeArguments\n user: T\n}) => ({ exp: number; user: T } | void) | Promise<{ exp: number; user: T } | void>\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\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 AfterErrorHook = (\n args: { collection: SanitizedCollectionConfig } & AfterErrorHookArgs,\n) => AfterErrorResult | Promise<AfterErrorResult>\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 EnableFoldersOptions = {\n // Displays the folder collection and parentFolder field in the document view\n debug?: boolean\n}\n\nexport type BaseListFilter = (args: {\n limit: number\n locale?: TypedLocale\n page: number\n req: PayloadRequest\n sort: string\n}) => null | Promise<null | Where> | Where\n\nexport type CollectionAdminOptions = {\n baseListFilter?: BaseListFilter\n /**\n * Custom admin components\n */\n components?: {\n afterList?: CustomComponent[]\n afterListTable?: CustomComponent[]\n beforeList?: CustomComponent[]\n beforeListTable?: CustomComponent[]\n Description?: EntityDescriptionComponent\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Inject custom components before the document controls\n */\n beforeDocumentControls?: CustomComponent[]\n /**\n * Inject custom components within the 3-dot menu dropdown\n */\n editMenuItems?: CustomComponent[]\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomComponent\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomComponent\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomComponent\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomComponent\n /**\n * Replaces the \"Upload\" section\n * + upload must be enabled\n */\n Upload?: CustomUpload\n }\n listMenuItems?: CustomComponent[]\n views?: {\n /**\n * Replace, modify, or add new \"document\" views.\n * @link https://payloadcms.com/docs/custom-components/document-views\n */\n edit?: EditConfig\n /**\n * Replace or modify the \"list\" view.\n * @link https://payloadcms.com/docs/custom-components/list-view\n */\n list?: {\n actions?: CustomComponent[]\n Component?: PayloadComponent\n }\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection. This will also be used as JSDoc for the generated types\n */\n description?: EntityDescription\n /**\n * Disable the Copy To Locale button in the edit document view\n * @default false\n */\n disableCopyToLocale?: boolean\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Specify a navigational group for collections in the admin sidebar.\n * - Provide a string to place the entity in a custom group.\n * - Provide a record to define localized group names.\n * - Set to `false` to exclude the entity from the sidebar / dashboard without disabling its routes.\n */\n group?: false | 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 meta?: MetaConfig\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<TSlug extends CollectionSlug = any> = {\n /**\n * Do not set this property manually. This is set to true during sanitization, to avoid\n * sanitizing the same collection multiple times.\n */\n _sanitized?: boolean\n /**\n * Access control\n */\n access?: {\n admin?: ({ req }: { req: PayloadRequest }) => boolean | Promise<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?: boolean | IncomingAuthType\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Used to override the default naming of the database table or collection with your using a function or string\n * @WARNING: If you change this property with existing data, you will need to handle the renaming of the table in your database or by using migrations\n */\n dbName?: DBIdentifierName\n defaultPopulate?: IsAny<SelectFromCollectionSlug<TSlug>> extends true\n ? SelectType\n : SelectFromCollectionSlug<TSlug>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: Sort\n /**\n * Disable the bulk edit operation for the collection in the admin panel and the API\n */\n disableBulkEdit?: boolean\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 * Opt-in to enable query presets for this collection.\n * @see https://payloadcms.com/docs/query-presets/overview\n */\n enableQueryPresets?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: false | Omit<Endpoint, 'root'>[]\n fields: Field[]\n /**\n * Enables folders for this collection\n */\n folders?: boolean | CollectionFoldersConfiguration\n /**\n * Specify which fields should be selected always, regardless of the `select` query which can be useful that the field exists for access control / hooks\n */\n forceSelect?: IsAny<SelectFromCollectionSlug<TSlug>> extends true\n ? SelectIncludeType\n : SelectFromCollectionSlug<TSlug>\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n disableMutations?: true\n disableQueries?: true\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<TSlug>[]\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 * Use the `me` hook to control the `me` operation.\n * Here, you can optionally instruct the me operation to return early,\n * and skip its default logic.\n */\n me?: MeHook[]\n /**\n * Use the `refresh` hook to control the refresh operation.\n * Here, you can optionally instruct the refresh operation to return early,\n * and skip its default logic.\n */\n refresh?: RefreshHook[]\n }\n /**\n * Define compound indexes for this collection.\n * This can be used to either speed up querying/sorting by 2 or more fields at the same time or\n * to ensure uniqueness between several fields.\n * Specify field paths\n * @example\n * [{ unique: true, fields: ['title', 'group.name'] }]\n * @default []\n */\n indexes?: CompoundIndex[]\n /**\n * Label configuration\n */\n labels?: {\n plural?: LabelFunction | StaticLabel\n singular?: LabelFunction | StaticLabel\n }\n /**\n * Enables / Disables the ability to lock documents while editing\n * @default true\n */\n lockDocuments?:\n | {\n duration: number\n }\n | false\n /**\n * If true, enables custom ordering for the collection, and documents in the listView can be reordered via drag and drop.\n * New documents are inserted at the end of the list according to this parameter.\n *\n * Under the hood, a field with {@link https://observablehq.com/@dgreensp/implementing-fractional-indexing|fractional indexing} is used to optimize inserts and reorderings.\n *\n * @default false\n *\n * @experimental There may be frequent breaking changes to this API\n */\n orderable?: boolean\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?: boolean | UploadConfig\n /**\n * Enable versioning. Set it to true to enable default versions settings,\n * or customize versions options by setting the property equal to an object\n * containing the version options.\n *\n * @default false // disable versioning\n */\n versions?: boolean | IncomingCollectionVersions\n}\n\nexport type SanitizedJoin = {\n /**\n * The field configuration defining the join\n */\n field: JoinField\n getForeignPath?(args: { locale?: TypedLocale }): string\n /**\n * The path of the join field in dot notation\n */\n joinPath: string\n /**\n * `parentIsLocalized` is true if any parent field of the\n * field configuration defining the join is localized\n */\n parentIsLocalized: boolean\n targetField: RelationshipField | UploadField\n}\n\nexport type SanitizedJoins = {\n [collectionSlug: string]: SanitizedJoin[]\n}\n\n/**\n * @todo remove the `DeepRequired` in v4.\n * We don't actually guarantee that all properties are set when sanitizing configs.\n */\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'admin' | 'auth' | 'endpoints' | 'fields' | 'folders' | 'slug' | 'upload' | 'versions'\n > {\n admin: CollectionAdminOptions\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n /**\n * Fields in the database schema structure\n * Rows / collapsible / tabs w/o name `fields` merged to top, UIs are excluded\n */\n flattenedFields: FlattenedField[]\n /**\n * Object of collections to join 'Join Fields object keyed by collection\n */\n folders: CollectionFoldersConfiguration | false\n joins: SanitizedJoins\n\n /**\n * List of all polymorphic join fields\n */\n polymorphicJoins: SanitizedJoin[]\n\n sanitizedIndexes: SanitizedCompoundIndex[]\n\n slug: CollectionSlug\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n customIDType?: 'number' | 'text'\n graphQL?: {\n countType: GraphQLObjectType\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 CollectionSlug, TSelect extends SelectType> = {\n docs: TransformCollectionWithSelect<TSlug, TSelect>[]\n errors: {\n id: DataFromCollectionSlug<TSlug>['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n docId?: any\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\nexport type CompoundIndex = {\n fields: string[]\n unique?: boolean\n}\n\nexport type SanitizedCompoundIndex = {\n fields: {\n field: FlattenedField\n localizedPath: string\n path: string\n pathHasLocalized: boolean\n }[]\n unique: boolean\n}\n"],"names":[],"mappings":"AAAA,qDAAqD,GA8qBrD,WAQC"}
1
+ {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired, IsAny, MarkOptional } from 'ts-essentials'\n\nimport type { CustomUpload } from '../../admin/types.js'\nimport type { Arguments as MeArguments } from '../../auth/operations/me.js'\nimport type {\n Arguments as RefreshArguments,\n Result as RefreshResult,\n} from '../../auth/operations/refresh.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n AfterErrorHookArgs,\n AfterErrorResult,\n CustomComponent,\n EditConfig,\n Endpoint,\n EntityDescription,\n EntityDescriptionComponent,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n MetaConfig,\n PayloadComponent,\n StaticLabel,\n} from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type {\n Field,\n FlattenedField,\n JoinField,\n RelationshipField,\n UploadField,\n} from '../../fields/config/types.js'\nimport type { CollectionFoldersConfiguration } from '../../folders/types.js'\nimport type {\n CollectionSlug,\n JsonObject,\n RequestContext,\n TypedAuthOperations,\n TypedCollection,\n TypedCollectionSelect,\n TypedLocale,\n} from '../../index.js'\nimport type {\n PayloadRequest,\n SelectIncludeType,\n SelectType,\n Sort,\n TransformCollectionWithSelect,\n Where,\n} 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 DataFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollection[TSlug]\n\nexport type SelectFromCollectionSlug<TSlug extends CollectionSlug> = TypedCollectionSelect[TSlug]\n\nexport type AuthOperationsFromCollectionSlug<TSlug extends CollectionSlug> =\n TypedAuthOperations[TSlug]\n\nexport type RequiredDataFromCollection<TData extends JsonObject> = MarkOptional<\n TData,\n 'createdAt' | 'id' | 'sizes' | 'updatedAt'\n>\n\nexport type RequiredDataFromCollectionSlug<TSlug extends CollectionSlug> =\n RequiredDataFromCollection<DataFromCollectionSlug<TSlug>>\n\nexport type HookOperationType =\n | 'autosave'\n | 'count'\n | 'countVersions'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'readDistinct'\n | 'refresh'\n | 'resetPassword'\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 data: Partial<T>\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<TOperationGeneric extends CollectionSlug = string> = (\n arg: AfterOperationArg<TOperationGeneric>,\n) =>\n | Awaited<\n ReturnType<AfterOperationMap<TOperationGeneric>[keyof AfterOperationMap<TOperationGeneric>]>\n >\n | Promise<\n Awaited<\n ReturnType<AfterOperationMap<TOperationGeneric>[keyof AfterOperationMap<TOperationGeneric>]>\n >\n >\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\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\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\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\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 RefreshHook<T extends TypeWithID = any> = (args: {\n args: RefreshArguments\n user: T\n}) => Promise<RefreshResult | void> | (RefreshResult | void)\n\nexport type MeHook<T extends TypeWithID = any> = (args: {\n args: MeArguments\n user: T\n}) => ({ exp: number; user: T } | void) | Promise<{ exp: number; user: T } | void>\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\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 AfterErrorHook = (\n args: { collection: SanitizedCollectionConfig } & AfterErrorHookArgs,\n) => AfterErrorResult | Promise<AfterErrorResult>\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 EnableFoldersOptions = {\n // Displays the folder collection and parentFolder field in the document view\n debug?: boolean\n}\n\nexport type BaseListFilter = (args: {\n limit: number\n locale?: TypedLocale\n page: number\n req: PayloadRequest\n sort: string\n}) => null | Promise<null | Where> | Where\n\nexport type CollectionAdminOptions = {\n baseListFilter?: BaseListFilter\n /**\n * Custom admin components\n */\n components?: {\n afterList?: CustomComponent[]\n afterListTable?: CustomComponent[]\n beforeList?: CustomComponent[]\n beforeListTable?: CustomComponent[]\n Description?: EntityDescriptionComponent\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Inject custom components before the document controls\n */\n beforeDocumentControls?: CustomComponent[]\n /**\n * Inject custom components within the 3-dot menu dropdown\n */\n editMenuItems?: CustomComponent[]\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomComponent\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomComponent\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomComponent\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomComponent\n /**\n * Replaces the \"Upload\" section\n * + upload must be enabled\n */\n Upload?: CustomUpload\n }\n listMenuItems?: CustomComponent[]\n views?: {\n /**\n * Replace, modify, or add new \"document\" views.\n * @link https://payloadcms.com/docs/custom-components/document-views\n */\n edit?: EditConfig\n /**\n * Replace or modify the \"list\" view.\n * @link https://payloadcms.com/docs/custom-components/list-view\n */\n list?: {\n actions?: CustomComponent[]\n Component?: PayloadComponent\n }\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection. This will also be used as JSDoc for the generated types\n */\n description?: EntityDescription\n /**\n * Disable the Copy To Locale button in the edit document view\n * @default false\n */\n disableCopyToLocale?: boolean\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Specify a navigational group for collections in the admin sidebar.\n * - Provide a string to place the entity in a custom group.\n * - Provide a record to define localized group names.\n * - Set to `false` to exclude the entity from the sidebar / dashboard without disabling its routes.\n */\n group?: false | 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 meta?: MetaConfig\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<TSlug extends CollectionSlug = any> = {\n /**\n * Do not set this property manually. This is set to true during sanitization, to avoid\n * sanitizing the same collection multiple times.\n */\n _sanitized?: boolean\n /**\n * Access control\n */\n access?: {\n admin?: ({ req }: { req: PayloadRequest }) => boolean | Promise<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?: boolean | IncomingAuthType\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Used to override the default naming of the database table or collection with your using a function or string\n * @WARNING: If you change this property with existing data, you will need to handle the renaming of the table in your database or by using migrations\n */\n dbName?: DBIdentifierName\n defaultPopulate?: IsAny<SelectFromCollectionSlug<TSlug>> extends true\n ? SelectType\n : SelectFromCollectionSlug<TSlug>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: Sort\n /**\n * Disable the bulk edit operation for the collection in the admin panel and the API\n */\n disableBulkEdit?: boolean\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 * Opt-in to enable query presets for this collection.\n * @see https://payloadcms.com/docs/query-presets/overview\n */\n enableQueryPresets?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: false | Omit<Endpoint, 'root'>[]\n fields: Field[]\n /**\n * Enables folders for this collection\n */\n folders?: boolean | CollectionFoldersConfiguration\n /**\n * Specify which fields should be selected always, regardless of the `select` query which can be useful that the field exists for access control / hooks\n */\n forceSelect?: IsAny<SelectFromCollectionSlug<TSlug>> extends true\n ? SelectIncludeType\n : SelectFromCollectionSlug<TSlug>\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n disableMutations?: true\n disableQueries?: true\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<TSlug>[]\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 * Use the `me` hook to control the `me` operation.\n * Here, you can optionally instruct the me operation to return early,\n * and skip its default logic.\n */\n me?: MeHook[]\n /**\n * Use the `refresh` hook to control the refresh operation.\n * Here, you can optionally instruct the refresh operation to return early,\n * and skip its default logic.\n */\n refresh?: RefreshHook[]\n }\n /**\n * Define compound indexes for this collection.\n * This can be used to either speed up querying/sorting by 2 or more fields at the same time or\n * to ensure uniqueness between several fields.\n * Specify field paths\n * @example\n * [{ unique: true, fields: ['title', 'group.name'] }]\n * @default []\n */\n indexes?: CompoundIndex[]\n /**\n * Label configuration\n */\n labels?: {\n plural?: LabelFunction | StaticLabel\n singular?: LabelFunction | StaticLabel\n }\n /**\n * Enables / Disables the ability to lock documents while editing\n * @default true\n */\n lockDocuments?:\n | {\n duration: number\n }\n | false\n /**\n * If true, enables custom ordering for the collection, and documents in the listView can be reordered via drag and drop.\n * New documents are inserted at the end of the list according to this parameter.\n *\n * Under the hood, a field with {@link https://observablehq.com/@dgreensp/implementing-fractional-indexing|fractional indexing} is used to optimize inserts and reorderings.\n *\n * @default false\n *\n * @experimental There may be frequent breaking changes to this API\n */\n orderable?: boolean\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?: boolean | UploadConfig\n /**\n * Enable versioning. Set it to true to enable default versions settings,\n * or customize versions options by setting the property equal to an object\n * containing the version options.\n *\n * @default false // disable versioning\n */\n versions?: boolean | IncomingCollectionVersions\n}\n\nexport type SanitizedJoin = {\n /**\n * The field configuration defining the join\n */\n field: JoinField\n getForeignPath?(args: { locale?: TypedLocale }): string\n /**\n * The path of the join field in dot notation\n */\n joinPath: string\n /**\n * `parentIsLocalized` is true if any parent field of the\n * field configuration defining the join is localized\n */\n parentIsLocalized: boolean\n targetField: RelationshipField | UploadField\n}\n\nexport type SanitizedJoins = {\n [collectionSlug: string]: SanitizedJoin[]\n}\n\n/**\n * @todo remove the `DeepRequired` in v4.\n * We don't actually guarantee that all properties are set when sanitizing configs.\n */\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'admin' | 'auth' | 'endpoints' | 'fields' | 'folders' | 'slug' | 'upload' | 'versions'\n > {\n admin: CollectionAdminOptions\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n /**\n * Fields in the database schema structure\n * Rows / collapsible / tabs w/o name `fields` merged to top, UIs are excluded\n */\n flattenedFields: FlattenedField[]\n /**\n * Object of collections to join 'Join Fields object keyed by collection\n */\n folders: CollectionFoldersConfiguration | false\n joins: SanitizedJoins\n\n /**\n * List of all polymorphic join fields\n */\n polymorphicJoins: SanitizedJoin[]\n\n sanitizedIndexes: SanitizedCompoundIndex[]\n\n slug: CollectionSlug\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n customIDType?: 'number' | 'text'\n graphQL?: {\n countType: GraphQLObjectType\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 CollectionSlug, TSelect extends SelectType> = {\n docs: TransformCollectionWithSelect<TSlug, TSelect>[]\n errors: {\n id: DataFromCollectionSlug<TSlug>['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n docId?: any\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\nexport type CompoundIndex = {\n fields: string[]\n unique?: boolean\n}\n\nexport type SanitizedCompoundIndex = {\n fields: {\n field: FlattenedField\n localizedPath: string\n path: string\n pathHasLocalized: boolean\n }[]\n unique: boolean\n}\n"],"names":[],"mappings":"AAAA,qDAAqD,GA+qBrD,WAQC"}
@@ -0,0 +1,3 @@
1
+ import type { PayloadHandler } from '../../config/types.js';
2
+ export declare const findDistinctHandler: PayloadHandler;
3
+ //# sourceMappingURL=findDistinct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findDistinct.d.ts","sourceRoot":"","sources":["../../../src/collections/endpoints/findDistinct.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAS3D,eAAO,MAAM,mBAAmB,EAAE,cAkCjC,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { status as httpStatus } from 'http-status';
2
+ import { APIError } from '../../errors/APIError.js';
3
+ import { getRequestCollection } from '../../utilities/getRequestEntity.js';
4
+ import { headersWithCors } from '../../utilities/headersWithCors.js';
5
+ import { isNumber } from '../../utilities/isNumber.js';
6
+ import { findDistinctOperation } from '../operations/findDistinct.js';
7
+ export const findDistinctHandler = async (req)=>{
8
+ const collection = getRequestCollection(req);
9
+ const { depth, field, limit, page, sort, where } = req.query;
10
+ if (!field) {
11
+ throw new APIError('field must be specified', httpStatus.BAD_REQUEST);
12
+ }
13
+ const result = await findDistinctOperation({
14
+ collection,
15
+ depth: isNumber(depth) ? Number(depth) : undefined,
16
+ field,
17
+ limit: isNumber(limit) ? Number(limit) : undefined,
18
+ page: isNumber(page) ? Number(page) : undefined,
19
+ req,
20
+ sort: typeof sort === 'string' ? sort.split(',') : undefined,
21
+ where
22
+ });
23
+ return Response.json(result, {
24
+ headers: headersWithCors({
25
+ headers: new Headers(),
26
+ req
27
+ }),
28
+ status: httpStatus.OK
29
+ });
30
+ };
31
+
32
+ //# sourceMappingURL=findDistinct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/endpoints/findDistinct.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { PayloadHandler } from '../../config/types.js'\nimport type { Where } from '../../types/index.js'\n\nimport { APIError } from '../../errors/APIError.js'\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { isNumber } from '../../utilities/isNumber.js'\nimport { findDistinctOperation } from '../operations/findDistinct.js'\n\nexport const findDistinctHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { depth, field, limit, page, sort, where } = req.query as {\n depth?: string\n field?: string\n limit?: string\n page?: string\n sort?: string\n sortOrder?: string\n where?: Where\n }\n\n if (!field) {\n throw new APIError('field must be specified', httpStatus.BAD_REQUEST)\n }\n\n const result = await findDistinctOperation({\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n field,\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n req,\n sort: typeof sort === 'string' ? sort.split(',') : undefined,\n where,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["status","httpStatus","APIError","getRequestCollection","headersWithCors","isNumber","findDistinctOperation","findDistinctHandler","req","collection","depth","field","limit","page","sort","where","query","BAD_REQUEST","result","Number","undefined","split","Response","json","headers","Headers","OK"],"mappings":"AAAA,SAASA,UAAUC,UAAU,QAAQ,cAAa;AAKlD,SAASC,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,QAAQ,QAAQ,8BAA6B;AACtD,SAASC,qBAAqB,QAAQ,gCAA+B;AAErE,OAAO,MAAMC,sBAAsC,OAAOC;IACxD,MAAMC,aAAaN,qBAAqBK;IACxC,MAAM,EAAEE,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGP,IAAIQ,KAAK;IAU5D,IAAI,CAACL,OAAO;QACV,MAAM,IAAIT,SAAS,2BAA2BD,WAAWgB,WAAW;IACtE;IAEA,MAAMC,SAAS,MAAMZ,sBAAsB;QACzCG;QACAC,OAAOL,SAASK,SAASS,OAAOT,SAASU;QACzCT;QACAC,OAAOP,SAASO,SAASO,OAAOP,SAASQ;QACzCP,MAAMR,SAASQ,QAAQM,OAAON,QAAQO;QACtCZ;QACAM,MAAM,OAAOA,SAAS,WAAWA,KAAKO,KAAK,CAAC,OAAOD;QACnDL;IACF;IAEA,OAAOO,SAASC,IAAI,CAACL,QAAQ;QAC3BM,SAASpB,gBAAgB;YACvBoB,SAAS,IAAIC;YACbjB;QACF;QACAR,QAAQC,WAAWyB,EAAE;IACvB;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAkBrD,eAAO,MAAM,0BAA0B,EAAE,QAAQ,EAyEhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAmBrD,eAAO,MAAM,0BAA0B,EAAE,QAAQ,EA+EhD,CAAA"}
@@ -45,6 +45,12 @@ export const defaultCollectionEndpoints = [
45
45
  method: 'get',
46
46
  path: '/versions'
47
47
  },
48
+ // Might be uncommented in the future
49
+ // {
50
+ // handler: findDistinctHandler,
51
+ // method: 'get',
52
+ // path: '/distinct',
53
+ // },
48
54
  {
49
55
  handler: duplicateHandler,
50
56
  method: 'post',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/endpoints/index.ts"],"sourcesContent":["import type { Endpoint } from '../../config/types.js'\n\nimport { wrapInternalEndpoints } from '../../utilities/wrapInternalEndpoints.js'\nimport { countHandler } from './count.js'\nimport { createHandler } from './create.js'\nimport { deleteHandler } from './delete.js'\nimport { deleteByIDHandler } from './deleteByID.js'\nimport { docAccessHandler } from './docAccess.js'\nimport { duplicateHandler } from './duplicate.js'\nimport { findHandler } from './find.js'\nimport { findByIDHandler } from './findByID.js'\nimport { findVersionByIDHandler } from './findVersionByID.js'\nimport { findVersionsHandler } from './findVersions.js'\nimport { previewHandler } from './preview.js'\nimport { restoreVersionHandler } from './restoreVersion.js'\nimport { updateHandler } from './update.js'\nimport { updateByIDHandler } from './updateByID.js'\n\nexport const defaultCollectionEndpoints: Endpoint[] = [\n ...wrapInternalEndpoints([\n {\n handler: countHandler,\n method: 'get',\n path: '/count',\n },\n {\n handler: createHandler,\n method: 'post',\n path: '/',\n },\n {\n handler: deleteHandler,\n method: 'delete',\n path: '/',\n },\n {\n handler: deleteByIDHandler,\n method: 'delete',\n path: '/:id',\n },\n {\n handler: docAccessHandler,\n method: 'post',\n path: '/access/:id?',\n },\n {\n handler: findVersionsHandler,\n method: 'get',\n path: '/versions',\n },\n {\n handler: duplicateHandler,\n method: 'post',\n path: '/:id/duplicate',\n },\n {\n handler: findHandler,\n method: 'get',\n path: '/',\n },\n {\n handler: findByIDHandler,\n method: 'get',\n path: '/:id',\n },\n {\n handler: findVersionByIDHandler,\n method: 'get',\n path: '/versions/:id',\n },\n {\n handler: previewHandler,\n method: 'get',\n path: '/:id/preview',\n },\n {\n handler: restoreVersionHandler,\n method: 'post',\n path: '/versions/:id',\n },\n {\n handler: updateHandler,\n method: 'patch',\n path: '/',\n },\n {\n handler: updateByIDHandler,\n method: 'patch',\n path: '/:id',\n },\n ]),\n]\n"],"names":["wrapInternalEndpoints","countHandler","createHandler","deleteHandler","deleteByIDHandler","docAccessHandler","duplicateHandler","findHandler","findByIDHandler","findVersionByIDHandler","findVersionsHandler","previewHandler","restoreVersionHandler","updateHandler","updateByIDHandler","defaultCollectionEndpoints","handler","method","path"],"mappings":"AAEA,SAASA,qBAAqB,QAAQ,2CAA0C;AAChF,SAASC,YAAY,QAAQ,aAAY;AACzC,SAASC,aAAa,QAAQ,cAAa;AAC3C,SAASC,aAAa,QAAQ,cAAa;AAC3C,SAASC,iBAAiB,QAAQ,kBAAiB;AACnD,SAASC,gBAAgB,QAAQ,iBAAgB;AACjD,SAASC,gBAAgB,QAAQ,iBAAgB;AACjD,SAASC,WAAW,QAAQ,YAAW;AACvC,SAASC,eAAe,QAAQ,gBAAe;AAC/C,SAASC,sBAAsB,QAAQ,uBAAsB;AAC7D,SAASC,mBAAmB,QAAQ,oBAAmB;AACvD,SAASC,cAAc,QAAQ,eAAc;AAC7C,SAASC,qBAAqB,QAAQ,sBAAqB;AAC3D,SAASC,aAAa,QAAQ,cAAa;AAC3C,SAASC,iBAAiB,QAAQ,kBAAiB;AAEnD,OAAO,MAAMC,6BAAyC;OACjDf,sBAAsB;QACvB;YACEgB,SAASf;YACTgB,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASd;YACTe,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASb;YACTc,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASZ;YACTa,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASX;YACTY,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASN;YACTO,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASV;YACTW,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAAST;YACTU,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASR;YACTS,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASP;YACTQ,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASL;YACTM,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASJ;YACTK,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASH;YACTI,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASF;YACTG,QAAQ;YACRC,MAAM;QACR;KACD;CACF,CAAA"}
1
+ {"version":3,"sources":["../../../src/collections/endpoints/index.ts"],"sourcesContent":["import type { Endpoint } from '../../config/types.js'\n\nimport { wrapInternalEndpoints } from '../../utilities/wrapInternalEndpoints.js'\nimport { countHandler } from './count.js'\nimport { createHandler } from './create.js'\nimport { deleteHandler } from './delete.js'\nimport { deleteByIDHandler } from './deleteByID.js'\nimport { docAccessHandler } from './docAccess.js'\nimport { duplicateHandler } from './duplicate.js'\nimport { findHandler } from './find.js'\nimport { findByIDHandler } from './findByID.js'\nimport { findDistinctHandler } from './findDistinct.js'\nimport { findVersionByIDHandler } from './findVersionByID.js'\nimport { findVersionsHandler } from './findVersions.js'\nimport { previewHandler } from './preview.js'\nimport { restoreVersionHandler } from './restoreVersion.js'\nimport { updateHandler } from './update.js'\nimport { updateByIDHandler } from './updateByID.js'\n\nexport const defaultCollectionEndpoints: Endpoint[] = [\n ...wrapInternalEndpoints([\n {\n handler: countHandler,\n method: 'get',\n path: '/count',\n },\n {\n handler: createHandler,\n method: 'post',\n path: '/',\n },\n {\n handler: deleteHandler,\n method: 'delete',\n path: '/',\n },\n {\n handler: deleteByIDHandler,\n method: 'delete',\n path: '/:id',\n },\n {\n handler: docAccessHandler,\n method: 'post',\n path: '/access/:id?',\n },\n {\n handler: findVersionsHandler,\n method: 'get',\n path: '/versions',\n },\n // Might be uncommented in the future\n // {\n // handler: findDistinctHandler,\n // method: 'get',\n // path: '/distinct',\n // },\n {\n handler: duplicateHandler,\n method: 'post',\n path: '/:id/duplicate',\n },\n {\n handler: findHandler,\n method: 'get',\n path: '/',\n },\n {\n handler: findByIDHandler,\n method: 'get',\n path: '/:id',\n },\n {\n handler: findVersionByIDHandler,\n method: 'get',\n path: '/versions/:id',\n },\n {\n handler: previewHandler,\n method: 'get',\n path: '/:id/preview',\n },\n {\n handler: restoreVersionHandler,\n method: 'post',\n path: '/versions/:id',\n },\n {\n handler: updateHandler,\n method: 'patch',\n path: '/',\n },\n {\n handler: updateByIDHandler,\n method: 'patch',\n path: '/:id',\n },\n ]),\n]\n"],"names":["wrapInternalEndpoints","countHandler","createHandler","deleteHandler","deleteByIDHandler","docAccessHandler","duplicateHandler","findHandler","findByIDHandler","findVersionByIDHandler","findVersionsHandler","previewHandler","restoreVersionHandler","updateHandler","updateByIDHandler","defaultCollectionEndpoints","handler","method","path"],"mappings":"AAEA,SAASA,qBAAqB,QAAQ,2CAA0C;AAChF,SAASC,YAAY,QAAQ,aAAY;AACzC,SAASC,aAAa,QAAQ,cAAa;AAC3C,SAASC,aAAa,QAAQ,cAAa;AAC3C,SAASC,iBAAiB,QAAQ,kBAAiB;AACnD,SAASC,gBAAgB,QAAQ,iBAAgB;AACjD,SAASC,gBAAgB,QAAQ,iBAAgB;AACjD,SAASC,WAAW,QAAQ,YAAW;AACvC,SAASC,eAAe,QAAQ,gBAAe;AAE/C,SAASC,sBAAsB,QAAQ,uBAAsB;AAC7D,SAASC,mBAAmB,QAAQ,oBAAmB;AACvD,SAASC,cAAc,QAAQ,eAAc;AAC7C,SAASC,qBAAqB,QAAQ,sBAAqB;AAC3D,SAASC,aAAa,QAAQ,cAAa;AAC3C,SAASC,iBAAiB,QAAQ,kBAAiB;AAEnD,OAAO,MAAMC,6BAAyC;OACjDf,sBAAsB;QACvB;YACEgB,SAASf;YACTgB,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASd;YACTe,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASb;YACTc,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASZ;YACTa,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASX;YACTY,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASN;YACTO,QAAQ;YACRC,MAAM;QACR;QACA,qCAAqC;QACrC,IAAI;QACJ,kCAAkC;QAClC,mBAAmB;QACnB,uBAAuB;QACvB,KAAK;QACL;YACEF,SAASV;YACTW,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAAST;YACTU,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASR;YACTS,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASP;YACTQ,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASL;YACTM,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASJ;YACTK,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASH;YACTI,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,SAASF;YACTG,QAAQ;YACRC,MAAM;QACR;KACD;CACF,CAAA"}
@@ -0,0 +1,20 @@
1
+ import type { PaginatedDistinctDocs } from '../../database/types.js';
2
+ import type { PayloadRequest, PopulateType, Sort, Where } from '../../types/index.js';
3
+ import type { Collection } from '../config/types.js';
4
+ export type Arguments = {
5
+ collection: Collection;
6
+ depth?: number;
7
+ disableErrors?: boolean;
8
+ field: string;
9
+ limit?: number;
10
+ locale?: string;
11
+ overrideAccess?: boolean;
12
+ page?: number;
13
+ populate?: PopulateType;
14
+ req?: PayloadRequest;
15
+ showHiddenFields?: boolean;
16
+ sort?: Sort;
17
+ where?: Where;
18
+ };
19
+ export declare const findDistinctOperation: (incomingArgs: Arguments) => Promise<PaginatedDistinctDocs<Record<string, unknown>>>;
20
+ //# sourceMappingURL=findDistinct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findDistinct.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findDistinct.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAapD,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AACD,eAAO,MAAM,qBAAqB,iBAClB,SAAS,KACtB,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAyJxD,CAAA"}
@@ -0,0 +1,139 @@
1
+ import httpStatus from 'http-status';
2
+ import { executeAccess } from '../../auth/executeAccess.js';
3
+ import { combineQueries } from '../../database/combineQueries.js';
4
+ import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
5
+ import { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js';
6
+ import { APIError } from '../../errors/APIError.js';
7
+ import { Forbidden } from '../../errors/Forbidden.js';
8
+ import { relationshipPopulationPromise } from '../../fields/hooks/afterRead/relationshipPopulationPromise.js';
9
+ import { getFieldByPath } from '../../utilities/getFieldByPath.js';
10
+ import { killTransaction } from '../../utilities/killTransaction.js';
11
+ import { buildAfterOperation } from './utils.js';
12
+ export const findDistinctOperation = async (incomingArgs)=>{
13
+ let args = incomingArgs;
14
+ try {
15
+ // /////////////////////////////////////
16
+ // beforeOperation - Collection
17
+ // /////////////////////////////////////
18
+ if (args.collection.config.hooks?.beforeOperation?.length) {
19
+ for (const hook of args.collection.config.hooks.beforeOperation){
20
+ args = await hook({
21
+ args,
22
+ collection: args.collection.config,
23
+ context: args.req.context,
24
+ operation: 'readDistinct',
25
+ req: args.req
26
+ }) || args;
27
+ }
28
+ }
29
+ const { collection: { config: collectionConfig }, disableErrors, overrideAccess, populate, showHiddenFields = false, where } = args;
30
+ const req = args.req;
31
+ const { locale, payload } = req;
32
+ // /////////////////////////////////////
33
+ // Access
34
+ // /////////////////////////////////////
35
+ let accessResult;
36
+ if (!overrideAccess) {
37
+ accessResult = await executeAccess({
38
+ disableErrors,
39
+ req
40
+ }, collectionConfig.access.read);
41
+ // If errors are disabled, and access returns false, return empty results
42
+ if (accessResult === false) {
43
+ return {
44
+ hasNextPage: false,
45
+ hasPrevPage: false,
46
+ limit: args.limit || 0,
47
+ nextPage: null,
48
+ page: 1,
49
+ pagingCounter: 1,
50
+ prevPage: null,
51
+ totalDocs: 0,
52
+ totalPages: 0,
53
+ values: []
54
+ };
55
+ }
56
+ }
57
+ // /////////////////////////////////////
58
+ // Find Distinct
59
+ // /////////////////////////////////////
60
+ const fullWhere = combineQueries(where, accessResult);
61
+ sanitizeWhereQuery({
62
+ fields: collectionConfig.flattenedFields,
63
+ payload,
64
+ where: fullWhere
65
+ });
66
+ await validateQueryPaths({
67
+ collectionConfig,
68
+ overrideAccess: overrideAccess,
69
+ req,
70
+ where: where ?? {}
71
+ });
72
+ const fieldResult = getFieldByPath({
73
+ fields: collectionConfig.flattenedFields,
74
+ path: args.field
75
+ });
76
+ if (!fieldResult) {
77
+ throw new APIError(`Field ${args.field} was not found in the collection ${collectionConfig.slug}`, httpStatus.BAD_REQUEST);
78
+ }
79
+ if (fieldResult.field.hidden && !showHiddenFields) {
80
+ throw new Forbidden(req.t);
81
+ }
82
+ if (fieldResult.field.access?.read) {
83
+ const hasAccess = await fieldResult.field.access.read({
84
+ req
85
+ });
86
+ if (!hasAccess) {
87
+ throw new Forbidden(req.t);
88
+ }
89
+ }
90
+ let result = await payload.db.findDistinct({
91
+ collection: collectionConfig.slug,
92
+ field: args.field,
93
+ limit: args.limit,
94
+ locale: locale,
95
+ page: args.page,
96
+ req,
97
+ sort: args.sort,
98
+ where: fullWhere
99
+ });
100
+ if ((fieldResult.field.type === 'relationship' || fieldResult.field.type === 'upload') && args.depth) {
101
+ const populationPromises = [];
102
+ for (const doc of result.values){
103
+ populationPromises.push(relationshipPopulationPromise({
104
+ currentDepth: 0,
105
+ depth: args.depth,
106
+ draft: false,
107
+ fallbackLocale: req.fallbackLocale || null,
108
+ field: fieldResult.field,
109
+ locale: req.locale || null,
110
+ overrideAccess: args.overrideAccess ?? true,
111
+ parentIsLocalized: false,
112
+ populate,
113
+ req,
114
+ showHiddenFields: false,
115
+ siblingDoc: doc
116
+ }));
117
+ }
118
+ await Promise.all(populationPromises);
119
+ }
120
+ // /////////////////////////////////////
121
+ // afterOperation - Collection
122
+ // /////////////////////////////////////
123
+ result = await buildAfterOperation({
124
+ args,
125
+ collection: collectionConfig,
126
+ operation: 'findDistinct',
127
+ result
128
+ });
129
+ // /////////////////////////////////////
130
+ // Return results
131
+ // /////////////////////////////////////
132
+ return result;
133
+ } catch (error) {
134
+ await killTransaction(args.req);
135
+ throw error;
136
+ }
137
+ };
138
+
139
+ //# sourceMappingURL=findDistinct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/operations/findDistinct.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { PaginatedDistinctDocs } from '../../database/types.js'\nimport type { PayloadRequest, PopulateType, Sort, Where } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { APIError } from '../../errors/APIError.js'\nimport { Forbidden } from '../../errors/Forbidden.js'\nimport { relationshipPopulationPromise } from '../../fields/hooks/afterRead/relationshipPopulationPromise.js'\nimport { getFieldByPath } from '../../utilities/getFieldByPath.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n disableErrors?: boolean\n field: string\n limit?: number\n locale?: string\n overrideAccess?: boolean\n page?: number\n populate?: PopulateType\n req?: PayloadRequest\n showHiddenFields?: boolean\n sort?: Sort\n where?: Where\n}\nexport const findDistinctOperation = async (\n incomingArgs: Arguments,\n): Promise<PaginatedDistinctDocs<Record<string, unknown>>> => {\n let args = incomingArgs\n\n try {\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n if (args.collection.config.hooks?.beforeOperation?.length) {\n for (const hook of args.collection.config.hooks.beforeOperation) {\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req!.context,\n operation: 'readDistinct',\n req: args.req!,\n })) || args\n }\n }\n\n const {\n collection: { config: collectionConfig },\n disableErrors,\n overrideAccess,\n populate,\n showHiddenFields = false,\n where,\n } = args\n\n const req = args.req!\n const { locale, payload } = req\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ disableErrors, req }, collectionConfig.access.read)\n\n // If errors are disabled, and access returns false, return empty results\n if (accessResult === false) {\n return {\n hasNextPage: false,\n hasPrevPage: false,\n limit: args.limit || 0,\n nextPage: null,\n page: 1,\n pagingCounter: 1,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n values: [],\n }\n }\n }\n\n // /////////////////////////////////////\n // Find Distinct\n // /////////////////////////////////////\n\n const fullWhere = combineQueries(where!, accessResult!)\n sanitizeWhereQuery({ fields: collectionConfig.flattenedFields, payload, where: fullWhere })\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess: overrideAccess!,\n req,\n where: where ?? {},\n })\n\n const fieldResult = getFieldByPath({\n fields: collectionConfig.flattenedFields,\n path: args.field,\n })\n\n if (!fieldResult) {\n throw new APIError(\n `Field ${args.field} was not found in the collection ${collectionConfig.slug}`,\n httpStatus.BAD_REQUEST,\n )\n }\n\n if (fieldResult.field.hidden && !showHiddenFields) {\n throw new Forbidden(req.t)\n }\n\n if (fieldResult.field.access?.read) {\n const hasAccess = await fieldResult.field.access.read({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n\n let result = await payload.db.findDistinct({\n collection: collectionConfig.slug,\n field: args.field,\n limit: args.limit,\n locale: locale!,\n page: args.page,\n req,\n sort: args.sort,\n where: fullWhere,\n })\n\n if (\n (fieldResult.field.type === 'relationship' || fieldResult.field.type === 'upload') &&\n args.depth\n ) {\n const populationPromises: Promise<void>[] = []\n for (const doc of result.values) {\n populationPromises.push(\n relationshipPopulationPromise({\n currentDepth: 0,\n depth: args.depth,\n draft: false,\n fallbackLocale: req.fallbackLocale || null,\n field: fieldResult.field,\n locale: req.locale || null,\n overrideAccess: args.overrideAccess ?? true,\n parentIsLocalized: false,\n populate,\n req,\n showHiddenFields: false,\n siblingDoc: doc,\n }),\n )\n }\n await Promise.all(populationPromises)\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'findDistinct',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req!)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","sanitizeWhereQuery","APIError","Forbidden","relationshipPopulationPromise","getFieldByPath","killTransaction","buildAfterOperation","findDistinctOperation","incomingArgs","args","collection","config","hooks","beforeOperation","length","hook","context","req","operation","collectionConfig","disableErrors","overrideAccess","populate","showHiddenFields","where","locale","payload","accessResult","access","read","hasNextPage","hasPrevPage","limit","nextPage","page","pagingCounter","prevPage","totalDocs","totalPages","values","fullWhere","fields","flattenedFields","fieldResult","path","field","slug","BAD_REQUEST","hidden","t","hasAccess","result","db","findDistinct","sort","type","depth","populationPromises","doc","push","currentDepth","draft","fallbackLocale","parentIsLocalized","siblingDoc","Promise","all","error"],"mappings":"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"}