问题标签 [typegraphql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
93 浏览

typescript - 添加参数装饰器会破坏 azure 函数

我将 type-graphql 与 Azure Functions 打字稿一起使用,一切正常,除非我尝试创建输入类型,如下所示:

@Arg("title") 似乎正在破坏 azure 函数,当它在那里时,当我尝试在本地部署和测试函数时出现以下错误:

[错误] Worker 无法加载函数 graphql:'TypeError: Cannot read property '0' of undefined'

如果没有 @Arg 装饰器,它可以正常构建和运行,我还在代码中的其他地方使用装饰器,并且一切正常。

我在这里缺少什么吗?

0 投票
0 回答
326 浏览

nestjs - 使用解析器类继承时如何注入服务

我尝试在使用 Nestjs 的 TypeGraphQL 中使用解析器类继承,但不知道如何PostService注入BaseResolver

0 投票
1 回答
6172 浏览

enums - 枚举不适用于 nestjs 和 graphql

我最近从直接使用 typegraphql 和 typeorm 转移到将它们与 nestjs 一起使用。大多数情况下,这是一次简单的经历。然而,我有一个关于枚举的问题。

我有一组自定义装饰器,我将它们组合在一起,这样我就可以轻松地装饰我的模型,而无需同时使用 typeorm、typegraphql 和类验证器装饰器。这以前很好用,现在在除枚举之外的所有情况下都可以正常工作。

作为一个例子,这里是一个 @OptionalDecimal 装饰器:

我的@Enum 装饰器是这样的:

我在单独的文件中定义我的枚举,如下所示:

并且这样使用:

我的数据库正在返回枚举的数字 ID,并且数据库(mysql)中的字段类型是enum. 例如,我的数据库返回 1 的 accountState 应该是 SUSPENDED 我收到一个 graphql 错误:

因此,回顾一下这种方法可以直接与 typeorm 和 typegraphql 一起使用,但遗憾的是现在无法使用。我的所有其他装饰器似乎都可以正常工作(50+),所以它只是专门针对枚举的东西。

这对我来说是一个主要障碍,任何帮助将不胜感激,因为我目前没有想法。

编辑 - 作为对 Shusson 的回应,当我手动添加装饰器时,它实际上也不起作用:

干杯,马克

0 投票
0 回答
52 浏览

node.js - 在 GraphQLServer 中进行身份验证和 PubSub 的正确方法

我正在尝试在我的 GraphQL 服务器上使用订阅。我面临的问题是,在初始化 GraphQLServer 时,我不能同时使用中间件来提取我的 JWT 和 PubSub。

这就是我所拥有的:

它适用于这个:

但是,如果我在 GraphQLServer 初始化上下文中注册 PubSub 并将我的代码更改为下面的代码,我将无法再访问我的 @Ctx 装饰器中的内容。

使用 JWT 提取中间件和 PubSub 初始化我的 GraphQLServer 的正确方法是什么?

0 投票
1 回答
4506 浏览

node.js - 可以计算 type-graphql 中的结果列表元素

我是 typeGraphQL 的新手,我的问题是可以计算结果列表元素

我有模型类型书籍

解析器中的查询

在 graphiQL 中运行查询时

得到回应

但我需要添加附加字段,例如获取所有收到项目的总数。如何正确地做到这一点?现在我们必须创建一个单独的查询,但是对于大样本来说这很不方便,并且会导致复杂和大查询的重复

我尝试为元素数量和模型本身创建一个单独的联合类型

并在解析器中运行下一个查询

但是在运行查询时出现 graphiQL 错误,据 error "message": "Expected Iterable, but did not find one for field Query.getBooks.", 我所知,它没有传输模型期望的数据

我尝试使用 createUnionType

联合类型

解析器中的查询

但是字符串中有错误return [...books, ...totalCount];на...totalCount Type 'number' must have a '[Symbol.iterator]()' method that returns an iterator.

如果您没有通过...totalCount请求作品,但没有分别已经没有totalCount

要求

所以,结果我需要一个请求

可能吗?

0 投票
1 回答
3703 浏览

typescript - TypeGraphQL 使用 TypeORM 的 findAndCount 方法

我想使用返回分页的TypeORMfindAndCount函数Promise<[Entity[], number]>。所以我有一个解析器:

我也在使用type-graphql并想用这样的Query注释来注释这个解析器:

但是我无法弄清楚返回类型,我尝试了这个(当然没有工作,因为findAndCount返回了什么):

并尝试像这样使用它:@Query(returns => [TestType])和 this @Query(returns => TestType)

0 投票
0 回答
957 浏览

graphql - 使用 type-graphql 处理子过滤器上的关系数据的最佳方法

我对 graphql / typeorm 之间的关系数据查询有疑问。最好的解释方法是举个例子:)

出于我的问题的目的,例如我使用 prisma API ( https://www.graphqlbin.com/v2/6RQ6TM ) 此 API 是 StarWars GraphQL API 的一个示例

如果我想获取所有电影和相关角色,我会这样查询:

案例一

在这种情况下,可以一次性完成关系数据库调用,同时检索电影和角色(sql select with join) 我的问题是当在这样的查询中添加过滤器时如何保持 sql 性能

案例二

在这种情况下,我们似乎必须使用 FieldResolver 执行此操作并执行其他数据库调用来检索子

为了澄清,请参阅以下示例:

案例 A(简单实现)在 typescript 和 typeorm ORM 中的 nodejs 后端的情况下,我们可以这样:实体:

解析器:

案例 B(扩展实施)

解析器:

我们进行手动连接(两个数据库调用)的问题我正在考虑其他解决方案,但我需要您的审查:

案例B(其他扩展实现)我的目标是检索extendend graphql请求信息,检测查询中的关系并使用join构造sql查询

这是一个不错的选择吗?还是有其他方法可以优化数据库调用?

0 投票
9 回答
27501 浏览

typeorm - 找不到 Role#users 的实体元数据

尝试OneToManyManyToOneTypeORM 建立关系,但我收到此错误,我不知道我的代码有什么问题。

我有以下用户实体:

角色实体:

但是我不断收到此错误

0 投票
0 回答
589 浏览

node.js - TypeORM CLI 与 type-graphql 一起使用时不会生成迁移

我想将TypeORM 与 TypeGraphQL一起使用。

TypeGraphQL 甚至为这种情况提供了一个示例

但是当我这样使用它并尝试从中生成迁移时(使用 TypeORM CLI 并运行migration:generate),什么也没有发生。

日志中没有错误,没有其他日志,什么都没有。

这是我正在运行的命令:

ts-node -P tsconfig.typeorm.json --log-error -r tsconfig-paths/register ./node_modules/typeorm/cli.js migration:generate -n UserEntity

GitHub 上的问题:https ://github.com/typeorm/typeorm/issues/4361

0 投票
1 回答
9685 浏览

elasticsearch - 使用 NestJS/Elastic 对服务进行单元测试的正确方法是什么

我试图对使用弹性搜索的服务进行单元测试。我想确保我使用了正确的技术。

我是这个问题的许多领域的新用户,所以我的大部分尝试都是通过阅读与此类似的其他问题并尝试在我的用例中有意义的问题。我相信我缺少 createTestingModule 中的一个字段。也有时我看到providers: [Service]和其他人components: [Service]

这是我当前的错误:

这是我的代码:

池作业服务

PoolJobService.spec.ts

我也可以对此使用一些见解,但由于当前问题而无法正确测试