nestjs-query: Can not fetch totalCount.

I am using Graphql and TypeORM and trying to fetch totalCount using cursor-based pagination. But it throws the following error: image My module, resolver, and service are as follows:

Module:

import { NestjsQueryTypeOrmModule } from '@nestjs-query/query-typeorm';
import { Module } from '@nestjs/common';
import { HandbookEntity } from './entities/handbook.entity';
import { HandbookResolver } from './handbook.resolver';
import { HandbookService } from './handbook.service';
import { HandbookRepository } from './repositories/handbook.repository';

@Module({
 imports: [NestjsQueryTypeOrmModule.forFeature([HandbookEntity, HandbookRepository])],
 providers: [HandbookResolver, HandbookService],
})
export class HandbookModule {}

Resolver:

import { CRUDResolver } from '@nestjs-query/query-graphql';
import { Resolver } from '@nestjs/graphql';
import { CreateHandbookInput } from './dto/create-handbook.input';
import { HandbookDto } from './dto/handbook.dto';
import { UpdateHandbookInput } from './dto/update-handbook.input';
import { HandbookService } from './handbook.service';

@Resolver(() => HandbookDto)
export class HandbookResolver extends CRUDResolver(HandbookDto, {
  CreateDTOClass: CreateHandbookInput,
  UpdateDTOClass: UpdateHandbookInput,
  enableTotalCount: true,
}) {
  constructor(handbookService: HandbookService) {
    super(handbookService);
  }
}

Service:

import { QueryService } from '@nestjs-query/core';
import { TypeOrmQueryService } from '@nestjs-query/query-typeorm';
import { InjectRepository } from '@nestjs/typeorm';
import { HandbookEntity } from './entities/handbook.entity';
import { HandbookRepository } from './repositories/handbook.repository';

@QueryService(HandbookEntity)
export class HandbookService extends TypeOrmQueryService<HandbookEntity> {
  constructor(
    @InjectRepository(HandbookRepository) private readonly repository: HandbookRepository,
  ) {
    super(repository, { useSoftDelete: true });
  }
}

Could you please help me figure out what I am missing?

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 1
  • Comments: 17 (6 by maintainers)

Most upvoted comments

totalCount is actually a getter method. Check if you have enabled ClassSerializerInterceptor. I fixed this error by removing it. Because ClassSerializerInterceptor is using class-transformer and you need an @Expose decorator to expose the getter method.

https://github.com/typestack/class-transformer#exposing-getters-and-method-return-values