From a5b175b2922fcdac659ab3de65c34bd78603d866 Mon Sep 17 00:00:00 2001 From: danny-mhlv Date: Wed, 12 Oct 2022 13:47:52 +0300 Subject: [PATCH] Fixed insufficient caching problem --- src/core/interceptors/page.interceptor.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/core/interceptors/page.interceptor.ts b/src/core/interceptors/page.interceptor.ts index 0551733..3a409b1 100644 --- a/src/core/interceptors/page.interceptor.ts +++ b/src/core/interceptors/page.interceptor.ts @@ -42,16 +42,17 @@ export class PageInterceptor implements NestInterceptor { async intercept(context: ExecutionContext, next: CallHandler): Promise> { const query = context.switchToHttp().getRequest().query; - // const offset = !query.offset ? 0 : query.offset; const offset = query.offset; - // const limit = !query.limit ? 10 : query.limit; const limit = query.limit; - // const order = !query.order ? Order.DESC : query.order; const order = query.order; + const query_string = query.query; const prev_page = await this.cacheManager.get('prev_page'); if (prev_page) { - if (offset == prev_page[1] && limit == prev_page[2] && order == prev_page[3]) return of(prev_page[0]); + if (offset == prev_page[1] && + limit == prev_page[2] && + order == prev_page[3] && + query_string === prev_page[4]) return of(prev_page[0]); } return next.handle().pipe( @@ -71,7 +72,7 @@ export class PageInterceptor implements NestInterceptor { // Cache and return the page const page: PageDto = new PageDto(data, meta); - await this.cacheManager.set('prev_page', [page, offset, limit, order]); + await this.cacheManager.set('prev_page', [page, offset, limit, order, query_string]); return page; }) );