问题标签 [hasura]

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 回答
564 浏览

node.js - 需要通过模式拼接来查找连接订阅的错误

我正在将apollo-server-express用于 graphql 后端。我将在那里只处理突变,但我想通过带有内省的模式拼接来重定向hasura上的查询和订阅。通过 apollo-server 到 hasura 的查询工作正常并返回预期数据。

但是订阅不起作用,我收到此错误:“预期可迭代,但未找到字段 subscription_root.users”。 来自控制台的错误

此外,服务器 hasura 正在接收事件: 来自 hasura 服务器的事件

但是 apollo-server 对 hasura 的回答表示不满。这不是我遭受这种痛苦的第一天,我无法理解问题所在。

在编辑 hasura 订阅工作。

链接到完整代码

如果您需要任何其他信息,我很乐意提供给您。

0 投票
1 回答
205 浏览

postgresql - 普通人表与教师和学生的特定表或单独的表?

我使用react-adminwithhasura作为 Postgres 的 API。

我需要不同的实体,这些实体基本上都是一个人,但目的不同。例如。一个学生和一个老师。我在想,考虑到相似的属性,最好有一个共享共同特征的人员表,然后为特定属性设置一个单独的表。例如,像这样的表:

我遇到的那个模式的问题是,为了创建一个学生,必须首先创建它的人。因此,在 react-admin 中,我必须先向用户展示一个用于创建人的表单,然后再向用户展示另一个表单以基于该人创建一个学生。

我想这并不理想,也许最好有单独的表studentsteachers尽管某些字段(名字,姓氏,生日......)会在两个表中重复。

这个问题并不是真正具体的,react-admin而是更多关于类似数据库模型设计的一般建议,所以任何提示都非常受欢迎:)。

0 投票
1 回答
133 浏览

graphql - GraphQL 替代 Restful API 还是使用它?

所以我认为 GraphQL 是一个位于 RESTful API 前面的层,可以将多个请求压缩为一个。您是否总是需要通过 REST API,或者 GraphQL 可以直接与您的 MongoDB 对话?或者像 AWS Appsync 和 Hasura 这样的东西,他们使用 GraphQL 并直接与数据库对话?

预先感谢。

0 投票
1 回答
614 浏览

postgresql - 突变缓存更新不适用于 vue-apollo 和 Hasura

我对这些技术完全陌生,并且难以理解它,所以请耐心等待。所以,我的情况是我已经在 Heroku 上部署了 Hasura 并添加了一些数据,现在我正在尝试实现一些功能,我可以在其中添加和编辑表格的某些行。具体来说,我从 Hasura 和vue-apollo一直在关注这个。

我已经实现了添加和编辑(有效),现在还想通过使用update突变的属性并更新缓存来在表中反映这一点。不幸的是,这就是我迷路的地方。我将在下面粘贴一些代码以使我的问题更清楚:

添加播放器 ( ADD_PLAYER_MUTATION) 的突变(与上面链接的 Hasura 文档中的突变相同):

.vue文件中的突变代码

我真的没有得到update突变的一部分。在大多数示例中,该 { data: { x } }位使用函数的名称代替x,因此我也这样做了,即使我真的不明白为什么(至少对我来说很困惑)。记录data玩家数组时会记录,但记录时addPlayer undefined会记录。

我可能做错了对其他人来说非常简单的事情,但我显然不确定是什么。也许突变没有返回正确的东西(尽管我假设它不会undefined在那种情况下登录),或者根本没有返回任何东西。这尤其令人困惑,因为播放器实际上已添加到数据库中,所以它只是update不起作用的部分 - 另外,大多数指南/教程都显示相同的内容而没有太多解释。

0 投票
0 回答
245 浏览

javascript - 如何在 Heroku 上使用 Hasura 实现基本登录?

我对 Web 开发完全陌生,以前从未实现过任何需要某种身份验证的东西——基本上,用户可以在其中注册、登录和注销。

我偶然发现 Hasura,一个基于 Postgres 的 GraphQL 服务器,并将其部署到 Heroku。在创建了一些表并用数据填充它们之后,我创建了一个小型 Vue 应用程序,它可以使用 vue-apollo 查询和改变这些数据,这似乎工作正常。

现在我想限制应用程序的使用,除非用户已登录。我已经阅读了他们文档的身份验证/访问控制部分,但我真的不知道如何实现这一点......所有的示例似乎是使用 React 创建的。他们谈论有(未)登录用户,但我什至不知道如何创建一个,或者“登录”用户在上下文中的含义。此外,它主要提到 JWT 和 webhook,我也从未使用过它们……在我看来,它应该很简单,但似乎过于复杂(可能只是我很笨)。

我想要的只是一个简单的注册表单,用户可以在其中输入用户名和密码,然后使用此用户名和密码登录。我该怎么做,Vue 和 vue-apollo 有这方面的例子吗?

0 投票
1 回答
1694 浏览

postgresql - 带有参数的graphQL突变给出错误:标量中不允许验证失败的变量

我使用 Hasura 和 PostGres 数据库。这是 GraphQL 突变

查询变量

这是查询响应

Postgres DB 类型: thing_uid是 BigInt my_coordinatesGeometric 类型

如果我在查询中将变量 $x、$y 和 $z 替换为 1、2 和 3,则一切正常。

为什么当我使用参数时查询返回错误?

0 投票
1 回答
613 浏览

graphql - 在 AWS 上使用 Cloudfoundry 部署的 Hasura GraphQL 引擎上的订阅错误

Hasura GraphQL 引擎部署在由 AWS 支持的 Cloudfoundry 实例上,它通过 AWS ELB 在子域中公开。控制台在https://hasura.cloud.domain.com/console公开, GraphQL API 在https://hasura.cloud.domain.com/v1alpha1/graphql接受查询。

但是当从控制台执行订阅时,JS 控制台上的以下日志会发生错误:

分析 Chrome 上的 websocket 帧表明(Opcode -1).

基本上,客户端无法打开 websocket 连接。

0 投票
1 回答
231 浏览

graphql - 当向其发送 graphql 查询时 Hasura 是如何工作的?

想知道当 graphql 查询或突变到达端点时 Hasura 是如何工作的?它如何处理查询?它如何生成模式?它如何将 graphql 转换为 postgres 语法来访问数据?

0 投票
0 回答
1170 浏览

openid - 将 Keycloak 访问令牌传递给 NextJS?

NextJS 是一个混合应用程序,我创建了一个使用 keycloak 中间件的自定义快速路由器。

我正在尝试传递用户 ID 的不记名令牌并将此令牌传递给 Hasura,以便我可以锁定一些 graphql API,但我不知道如何处理这个问题。

有没有人可以提供任何例子来处理这个问题?

我需要为混合(SSR React 应用程序)解决这个问题

0 投票
1 回答
1086 浏览

docker - 如何在一个 Istio 服务网格中托管多个应用程序?

我正在设置一个 Istio 服务网格,其中包含两个运行 Graphql 引擎的服务。我打算将它们设置在两个不同的子路径上。您将如何在 VirtualService 上设置重定向?

我已经尝试过使用这个 VirtualService 配置

但是每当我尝试访问这些前缀时,我都会遇到错误 404。

编辑:我已经更新了我的虚拟服务以合并rewrite.uri. 每当我尝试访问任一前缀时,我都会被重定向到/并给出错误 404。这是我更新的网关和 VirtualService 清单。