Hey is a decentralized and permissionless social media app built with Lens Protocol 🌿

feat: streamline cursor field policies (#5816)

authored by yoginth.com and committed by

GitHub b30ca30d 61d96bfe

+29 -69
-7
packages/indexer/apollo/cache/createAccountRequestFieldPolicy.ts
··· 1 - import type { FieldPolicy } from '@apollo/client'; 2 - import cursorBasedPagination from '../helpers/cursorBasedPagination'; 3 - 4 - const createAccountRequestFieldPolicy = (): FieldPolicy => 5 - cursorBasedPagination(["request", ["account"]]); 6 - 7 - export default createAccountRequestFieldPolicy;
-7
packages/indexer/apollo/cache/createAccountsFieldPolicy.ts
··· 1 - import type { FieldPolicy } from '@apollo/client'; 2 - import cursorBasedPagination from '../helpers/cursorBasedPagination'; 3 - 4 - const createAccountsFieldPolicy = (): FieldPolicy => 5 - cursorBasedPagination(["request", ["filter", "orderBy"]]); 6 - 7 - export default createAccountsFieldPolicy;
-7
packages/indexer/apollo/cache/createBasicFieldPolicy.ts
··· 1 - import type { FieldPolicy } from '@apollo/client'; 2 - import cursorBasedPagination from '../helpers/cursorBasedPagination'; 3 - 4 - const createBasicFieldPolicy = (): FieldPolicy => 5 - cursorBasedPagination(["request", ["filter", "pageSize"]]); 6 - 7 - export default createBasicFieldPolicy;
+7
packages/indexer/apollo/cache/createCursorFieldPolicy.ts
··· 1 + import type { FieldPolicy } from '@apollo/client'; 2 + import cursorBasedPagination from '../helpers/cursorBasedPagination'; 3 + 4 + const createCursorFieldPolicy = (keyArgs: FieldPolicy['keyArgs']): FieldPolicy => 5 + cursorBasedPagination(keyArgs); 6 + 7 + export default createCursorFieldPolicy;
-7
packages/indexer/apollo/cache/createPostReactionsFieldPolicy.ts
··· 1 - import type { FieldPolicy } from '@apollo/client'; 2 - import cursorBasedPagination from '../helpers/cursorBasedPagination'; 3 - 4 - const createPostReactionsFieldPolicy = (): FieldPolicy => 5 - cursorBasedPagination(["request", ["post"]]); 6 - 7 - export default createPostReactionsFieldPolicy;
-10
packages/indexer/apollo/cache/createPostReferencesFieldPolicy.ts
··· 1 - import type { FieldPolicy } from '@apollo/client'; 2 - import cursorBasedPagination from '../helpers/cursorBasedPagination'; 3 - 4 - const createPostReferencesFieldPolicy = (): FieldPolicy => 5 - cursorBasedPagination([ 6 - "request", 7 - ["referencedPost", "referenceTypes", "relevancyFilter", "visibilityFilter"] 8 - ]); 9 - 10 - export default createPostReferencesFieldPolicy;
-7
packages/indexer/apollo/cache/createWhoReferencedPostFieldPolicy.ts
··· 1 - import type { FieldPolicy } from '@apollo/client'; 2 - import cursorBasedPagination from '../helpers/cursorBasedPagination'; 3 - 4 - const createWhoReferencedPostFieldPolicy = (): FieldPolicy => 5 - cursorBasedPagination(["request", ["post", "referenceTypes"]]); 6 - 7 - export default createWhoReferencedPostFieldPolicy;
+22 -24
packages/indexer/apollo/cache/index.ts
··· 1 1 import { InMemoryCache } from '@apollo/client'; 2 2 import result from '../../possible-types'; 3 - import createAccountRequestFieldPolicy from './createAccountRequestFieldPolicy'; 4 - import createAccountsFieldPolicy from './createAccountsFieldPolicy'; 5 - import createBasicFieldPolicy from './createBasicFieldPolicy'; 6 - import createPostReactionsFieldPolicy from './createPostReactionsFieldPolicy'; 7 - import createPostReferencesFieldPolicy from './createPostReferencesFieldPolicy'; 8 - import createWhoReferencedPostFieldPolicy from './createWhoReferencedPostFieldPolicy'; 3 + import createCursorFieldPolicy from './createCursorFieldPolicy'; 9 4 10 5 const cache = new InMemoryCache({ 11 6 possibleTypes: result.possibleTypes, ··· 14 9 Account: { keyFields: ["address"] }, 15 10 Query: { 16 11 fields: { 17 - timeline: createAccountRequestFieldPolicy(), 18 - timelineHighlights: createAccountRequestFieldPolicy(), 19 - following: createAccountRequestFieldPolicy(), 20 - followers: createAccountRequestFieldPolicy(), 21 - posts: createBasicFieldPolicy(), 22 - postReferences: createPostReferencesFieldPolicy(), 23 - postReactions: createPostReactionsFieldPolicy(), 24 - whoReferencedPost: createWhoReferencedPostFieldPolicy(), 25 - postBookmarks: createBasicFieldPolicy(), 26 - groups: createBasicFieldPolicy(), 27 - accounts: createAccountsFieldPolicy(), 28 - accountsBlocked: createBasicFieldPolicy(), 29 - accountManagers: createBasicFieldPolicy(), 30 - authenticatedSessions: createBasicFieldPolicy(), 31 - usernames: createBasicFieldPolicy(), 32 - notifications: createBasicFieldPolicy(), 33 - mlPostsExplore: createBasicFieldPolicy(), 34 - mlPostsForYou: createBasicFieldPolicy(), 12 + timeline: createCursorFieldPolicy(["request", ["account"]]), 13 + timelineHighlights: createCursorFieldPolicy(["request", ["account"]]), 14 + following: createCursorFieldPolicy(["request", ["account"]]), 15 + followers: createCursorFieldPolicy(["request", ["account"]]), 16 + posts: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 17 + postReferences: createCursorFieldPolicy([ 18 + "request", 19 + ["referencedPost", "referenceTypes", "relevancyFilter", "visibilityFilter"] 20 + ]), 21 + postReactions: createCursorFieldPolicy(["request", ["post"]]), 22 + whoReferencedPost: createCursorFieldPolicy(["request", ["post", "referenceTypes"]]), 23 + postBookmarks: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 24 + groups: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 25 + accounts: createCursorFieldPolicy(["request", ["filter", "orderBy"]]), 26 + accountsBlocked: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 27 + accountManagers: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 28 + authenticatedSessions: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 29 + usernames: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 30 + notifications: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 31 + mlPostsExplore: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 32 + mlPostsForYou: createCursorFieldPolicy(["request", ["filter", "pageSize"]]), 35 33 } 36 34 } 37 35 }