我需要为我的 graphql 类型创建自定义分页结果。
这是我PaginateResult
的@ObjectType
:
@ObjectType()
export class PaginateResult<T> {
@Field()
docs: T[];
@Field()
totalDocs: string;
@Field()
totalPages: string;
}
Run Code Online (Sandbox Code Playgroud)
及其在解析器中的调用:
@Query((type) => PaginateResult<User>, { nullable: true })
async getUsers(@Args({ type: () => GetAllUserArgs }) args: GetAllUserArgs) {
const queryResolver: QueryResolver = new QueryResolver(args);
return this.userService.getAll(queryResolver.query);
}
Run Code Online (Sandbox Code Playgroud)
和User
@ObjectType
@ObjectType()
export class User {
@Field(() => ID)
id: string;
@Field()
fullName: string;
@Field()
companyName: string;
@Field()
mobile: string;
@Field({ nullable: true })
profilePhoto?: string;
@Field() …
Run Code Online (Sandbox Code Playgroud)