网站搜索

typescript - 如何在 FieldResolver 中访问查询参数


使用 type-graphql 我正在尝试构建一个入口点,该入口点返回一个带有其元信息(如名称、描述等)的列表实体,以及一个计算字段 content,该字段应包含添加到列表中的实体。该入口点必须具有 pageNumber 属性,该属性在返回内容时应予以考虑。

我如何将这个属性从 List 实体解析器传递到 content 字段解析器?
有一个 @Info 装饰器似乎包含了这个信息,但它看起来并不是为了这个目的而使用的。

@Resolver(() => List)
export class MyListResolver {

    @Query(() => List, { nullable: true })
    async list(
        @Arg('id') id: number,
        @Arg('pageNumber', { nullable: true }) pageNumber: number,
    ): Promise<List | null> {

        // Returns list's info
        return await List.findOne(id) || null;
    }

    @FieldResolver(() => [ListEntity])
    async content(@Root() list: List): Promise<ListEntity[]> {

        // How do I access `pageNumber` here so I could return only the requested page of content?

        return listsContentLoader.load(list.id);
    }
}