问题标签 [nexus-js]

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 投票
2 回答
735 浏览

graphql - 如何使用带有特定参数的 Nexus 的 Prisma 插件 crud

我有一个Advertisergraphql 类型:

鉴于以下突变:

Nexus 生成此模式(如预期的那样):

问题是,如果我想省略一些参数怎么办?例如,我不希望客户端通过createdAtupdatedAt. 这些列应在服务器中解析。

请参阅此处的(部分)文档 - https://nexusjs.org/docs/plugins/prisma/api#example-4

0 投票
1 回答
7878 浏览

typescript - Nexus Prisma - 如何在全球范围内使用 crud 处理 createdAt 和 updatedAt?

我想出的第一件事是调用computedInputs选项nexusPrisma。但这行不通,因为它们需要根据情况进行不同的处理,但在全球范围内:

为了使它工作,我需要像这样单独设置 computedInputs:

虽然这可能有效,但我无法在嵌套模型上“计算”这些输入。为了防止传递 createdAt/updatedAt,我还必须t.crud在该资源上创建另一个,没有这些时间戳。

可能有效的最后一个解决方法是根本不使用t.crud,这是一个无赖。

0 投票
0 回答
12 浏览

prisma-graphql - 无法测试突变


我正在尝试测试一个只有创建事件的用户才能修改它的突变。我按照nexus教程设置测试环境,测试如下:

但是当我尝试运行这个测试时,我得到了这个错误:

我不能在函数中运行突变吗?

0 投票
0 回答
74 浏览

graphql - 是否可以在 GraphQL 解析器中使父级无效?

在优化我的 GraphQL 解析器时,我意识到使用它们的解析器解析所有字段(而不是使用带有一些预填充数据的父解析器)是以最强大的方式利用 DataLoader 的方式。像这样:

null但是,通过这样做,当用户不存在时(至少在我的知识中)返回用户变得不可能。于是问题就来了。

  1. 是否可以使 GraphQL 解析器中的整个父对象无效?
  2. 如果是这样,如何?
  3. 如果没有,添加类似exists字段的内容会是最好的解决方案吗?
0 投票
2 回答
592 浏览

graphql - 如何将数组作为参数传递给 Nexus?如何使用 Prisma 从这个数组创建多个对象?

我正在尝试学习一起使用 Prisma 和 Nexus。我希望有经验的人可以帮助我。

我想创建一个附有几张图片的帖子。

我的 Prisma 模型如下所示:

我需要编写一个 Nexus 突变,它可以接受带有标题、正文和图像 url 数组的帖子。我需要为每个网址创建一个图像记录,并将它们附加到帖子中。

你能帮我弄清楚如何正确地做到这一点吗?

  1. 我不知道如何将 json 对象数组传递给 args。有类似stringArg()or的东西intArg(),但是你如何接受一个数组?
  2. 创建一堆Image对象并将它们附加到的正确方法是Post什么?我应该有一个 for 循环并手动创建它们,然后以某种方式附加它们吗?或者,还有更好的方法?

你知道有没有人做这种事情的例子?

0 投票
0 回答
73 浏览

typescript - 在 GraphQL Nexus.js 中定义类型时如何增加 ObjectDefinitionBlock?

我正在使用 nexus.js 来构建 GraphQL 架构。要定义一个类型,我们使用ObjectDefinitionBlock. 我将对象类型定义如下:

t是一个ObjectDefinitionBlock允许定义对象字段的方法。x.id是一种类型,bigint并被序列化为内置的 GraphQL 标量类型 - ID。因为,我使用bigint我所有的数据库 ID,所以我必须始终添加一个解析器来转换bigintstring. 我想扩充它t,以便我可以写:

请注意,我不想定义新的 scalar。只需要在标量上编写一个外观,ID以避免为resolve函数编写重复定义。有什么办法可以做到这一点?

0 投票
3 回答
752 浏览

typescript - NexusJS 错误:TypeError:类构造函数 GraphQLNonNull 不能在没有“新”的情况下调用

我试图学习nexus,但遇到了问题。

我用这段代码创建了 index.ts 文件:

然后我尝试运行脚本:

ts-node-dev --transpily-only --no-notify index.ts

并在控制台中出现错误:

我尝试重新安装nexus,但它不起作用

项目文件和目录:

0 投票
1 回答
28 浏览

graphql - 未找到 nexus 生成 supabase url(环境变量)

Prisma Nexus 生成找不到环境变量

import 'dotenv/config'的 Apollo 服务器集的根目录。所以我可以好好发展。但是,当我尝试运行时,出现ts-node --transpile-only apollo/schema以下错误。

这告诉我它dotenv没有在生成时运行。在某处有这个配置吗?

0 投票
0 回答
45 浏览

graphql - 在 GraphQL Nexus 上创建多对一关系字段时的类型错误

我正在为我的网络应用程序使用 Next.js 及其 api 路由、Graphql、Nexus、Prisma。使用 Nexus 为架构创建多对一关系字段时出现类型错误。似乎解析器的返回类型与它想要的不匹配。

当我使用以下 graphql 查询执行时,我仍然能够从产品中检索类别。

我的模式是直截了当的。一个简单的电子商务,有一些品类,每个品类都有它的产品,一个产品只有一个品类。

模式棱镜

这是类型错误:

我已经阅读了这个问题,但我不知道如何解决它
https://github.com/graphql-nexus/nexus/issues/914#issuecomment-887024267