Files
twenty/front/src/modules/metadata/utils/generateFindManyCustomObjectsQuery.ts
Lucas Bordeau 9c29c436b9 Feat/pagination front (#2387)
* Finished renaming and scope

* wip

* WIP update

* Ok

* Cleaned

* Finished infinite scroll

* Clean

* Fixed V1 tables

* Fix post merge

* Removed ScrollWrapper

* Put back ScrollWrapper

* Put back in the right place
2023-11-10 12:43:14 +01:00

43 lines
1.1 KiB
TypeScript

import { gql } from '@apollo/client';
import { capitalize } from '~/utils/string/capitalize';
import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery';
export const generateFindManyCustomObjectsQuery = ({
objectMetadataItem,
}: {
objectMetadataItem: ObjectMetadataItem;
}) => {
return gql`
query FindMany${capitalize(
objectMetadataItem.namePlural,
)}($filter: ${capitalize(
objectMetadataItem.nameSingular,
)}FilterInput, $orderBy: ${capitalize(
objectMetadataItem.nameSingular,
)}OrderByInput, $lastCursor: String) {
${
objectMetadataItem.namePlural
}(filter: $filter, orderBy: $orderBy, first: 30, after: $lastCursor){
edges {
node {
id
${objectMetadataItem.fields
.map(mapFieldMetadataToGraphQLQuery)
.join('\n')}
}
cursor
}
pageInfo {
hasNextPage
startCursor
endCursor
}
}
}
`;
};