javascript - 如何在 GraphQL 中将值从 DB 返回到枚举类型
问题描述
在我的 Node 应用程序中,我使用的是 GraphQl,如果状态为 PENDING 或 ANSWERED 基于条件,我必须使用 KenxJS 从 DB 构建一个函数返回结果。GraphQL 中的状态是枚举类型,我很难将 JS 函数的结果转换为 GraphQL 的可理解枚举类型。
枚举类型
enum ConversationStatus {
PENDING
RESOLVED
}
有结果但在 GraphQL 中的函数给出错误
"message": "Expected a value of type \"ConversationStatus\" but received: { status: \"ANSWERED\" }",
conversationStatus({ id }) {
const status = this.tx(feedTableName)
.select(feedColumns.status)
.innerJoin(
tableName,
`${feedTableName}.${feedColumns.conversationId}`,
`${tableName}.${columns.id}`
)
.where(feedColumns.conversationId, '=', id)
.then(r => {
if (r.some(e => e === 'PENDING_ANSWER')) {
return {
status: 'PENDING',
};
}
return {
status: 'ANSWERED',
};
});
return status;
}
if 检查 DB as 上是否至少有一个结果PENDING_ANSWER
,我应该作为状态返回PENDING
,RESOLVED
如果为 false。
PENDING
and是 GraphQL的RESOLVED
枚举类型,我不知道如何以正确的格式返回它们以避免错误
status: PENDING or RESOLVED
解决方案
推荐阅读
- c# - 通过命令提示符运行表单应用程序并向其发送命令
- javascript - 在 if 语句中将它们设置为变量后无法调用函数 - Javascript?
- google-maps - 状态栏下的 Xamarin.Forms 应用程序(显示抠图)
- python - 逐元素乘法tenserflow错误
- javascript - 谷歌云功能不会在 crashlytics velocityAlert 上触发
- tags - libHaru PDF 中没有“标签”/“结构标签”?
- node.js - 在对话流中使用 google 进行帐户链接后继续对话
- firebase - 如何在flutter中验证firebase auth中的电子邮件?
- python - 缩小 AWS 部署包的大小
- python - 使用实时数据创建的线条放大 tkinter 画布