我可以使用指令根据其他字段值计算字段值吗?

时间:2018-10-10 17:09:16

标签: graphql graphql-js prisma

我有这样一个模型:

type Email {
  id: ID! @unique
  confirmed: Boolean! @default(value: "false")
  formatted: String! @unique
  raw: String!
}

在保存到数据库之前,我需要将raw字段中的值小写并将其放入formatted字段中。

问题是我已经有三个用例(联系我们,订阅新闻,注册),并且我需要在三个不同的解析器中编写相同的代码。

为避免重复,我认为最好以某种方式在指令中执行此操作。

是否可以创建自己的指令来处理此问题?

更新:从Prisma v1.18开始,这是不可能的。

2 个答案:

答案 0 :(得分:0)

基于规范文档,我认为不可能(不幸的是),因为听起来您需要计算字段

“ GraphQL不是一种能够进行任意计算的编程语言,而是一种用于查询具有本规范中定义的功能的应用服务器的语言。”

https://facebook.github.io/graphql/June2018/

答案 1 :(得分:0)

这在Prisma中目前是不可能的,确实需要在应用程序层上实现。不过有一个开放的feature request,如果您对此功能感兴趣,请加入GitHub上的讨论并添加+1。