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; }) );