Skip to main content

getCommonGraphQLConnectionFilter

talawa-api


talawa-api / utilities/graphQLConnection/getCommonGraphQLConnectionFilter / getCommonGraphQLConnectionFilter

Function: getCommonGraphQLConnectionFilter()

> getCommonGraphQLConnectionFilter(__namedParameters): CommonGraphQLConnectionFilter

This function is used to get an object containing common mongoose filtering logic.

Parameters

__namedParameters

__namedParameters.cursor

null | string

__namedParameters.direction

GraphQLConnectionTraversalDirection

Returns

CommonGraphQLConnectionFilter

Remarks

Here are a few assumptions this function makes which are common to most of the graphQL connections.

The entity that has the latest creation datetime must appear at the top of the connection. This means the default filtering logic would be to filter in descending order by the time of creation of an entity, and if two or more entities have the same time of creation filtering in descending order by the primary key of the entity. MongoDB object ids are lexographically sortable all on their own because they contain information about both the creation time and primary key for the document.

Therefore, this function only returns filtering logic for filtering by the object id of a mongoDB document.

Example

const filter = getCommonGraphQLConnectionFilter(\{
cursor: "65da3f8df35eb5bfd52c5368",
direction: "BACKWARD"
\});
const objectList = await User.find(filter).limit(10);

Defined in

src/utilities/graphQLConnection/getCommonGraphQLConnectionFilter.ts:44