From 7225d861f37c64d1a67e52849ec838d6d09ce286 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Tue, 19 Sep 2023 17:12:13 +0800 Subject: [PATCH] use skip and take instead of limit, offset --- packages/api/src/repository/user.ts | 2 +- packages/api/src/resolvers/article/index.ts | 2 +- packages/api/src/services/library_item.ts | 7 +++---- packages/api/src/utils/search.ts | 11 +++++------ 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/api/src/repository/user.ts b/packages/api/src/repository/user.ts index 9cfd69f83..a900746eb 100644 --- a/packages/api/src/repository/user.ts +++ b/packages/api/src/repository/user.ts @@ -31,7 +31,7 @@ export const userRepository = entityManager.getRepository(User).extend({ .where({ profile: { username: In(TOP_USERS) }, }) - .limit(MAX_RECORDS_LIMIT) + .take(MAX_RECORDS_LIMIT) .getMany() }, }) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index d66f4f65e..fb848cdd2 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -690,7 +690,7 @@ export const searchResolver = authorized< pageInfo: { hasPreviousPage: false, startCursor, - hasNextPage: hasNextPage, + hasNextPage, endCursor, totalCount: count, }, diff --git a/packages/api/src/services/library_item.ts b/packages/api/src/services/library_item.ts index 2aa9e1784..d5d08eaec 100644 --- a/packages/api/src/services/library_item.ts +++ b/packages/api/src/services/library_item.ts @@ -289,15 +289,14 @@ export const searchLibraryItems = async ( .leftJoinAndSelect('library_item.highlights', 'highlights') .leftJoinAndSelect('highlights.user', 'user') .leftJoinAndSelect('user.profile', 'profile') - .where('library_item.user_id = :userId', { userId }) // build the where clause buildWhereClause(queryBuilder, args) const libraryItems = await queryBuilder .addOrderBy(`library_item.${sortField}`, sortOrder) - .offset(from) - .limit(size) + .skip(from) + .take(size) .getMany() const count = await queryBuilder.getCount() @@ -432,7 +431,7 @@ export const findLibraryItemsByPrefix = async ( .orWhere('library_item.site_name ILIKE :prefix', { prefix: prefixWildcard, }) - .orderBy('library_item.saved_at', 'DESC') + .orderBy('library_item.savedAt', 'DESC') .limit(limit) .getMany() ) diff --git a/packages/api/src/utils/search.ts b/packages/api/src/utils/search.ts index b50419d10..178996544 100644 --- a/packages/api/src/utils/search.ts +++ b/packages/api/src/utils/search.ts @@ -67,12 +67,11 @@ export interface DateFilter { } export enum SortBy { - SAVED = 'saved_at', - UPDATED = 'updated_at', - PUBLISHED = 'published_at', - READ = 'read_at', - LISTENED = 'listened_at', - WORDS_COUNT = 'word_count', + SAVED = 'savedAt', + UPDATED = 'updatedAt', + PUBLISHED = 'publishedAt', + READ = 'readAt', + WORDS_COUNT = 'wordCount', } export enum SortOrder {