问题标签 [postgraphile]

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

node.js - Postgraphile /graphql 挂起且没有错误

我已经为此挠头整整两天了:DI最初认为它是反向代理。然而,这当然是愚蠢的,因为/graphiql 端点工作完美,所以情况并非如此。只是没有加载任何方案。

所以现在,我无法弄清楚为什么/graphql端点会无限期地挂起。我只能认为我可能无权访问 psql db?但是我已经测试过/graphql端点可以通过以下方式访问:

哪个更令人困惑...

服务器.js

为简洁起见,这里是虚拟主机:

0 投票
1 回答
194 浏览

reactjs - 中继编译器 12 + graphql 16 = 无效的 AST 节点

我有一个 react / express / postgraphile / relay 项目,最近将我所有的包升级到最新版本,看看会发生什么问题。除了这个似乎与graphql 16有关的relay-compiler错误之外,我解决了大多数错误Invalid AST Node。我降级到v15,现在一切正常,但我只是好奇relay-compiler和graphql之间是否有坏血,或者可能在postgraphile 如何生成我的 schema.sql?

TL;博士

中继编译器 12 可以与 graphql 16 一起使用吗?

0 投票
0 回答
25 浏览

angular - Graphql 仍处于待处理状态(Angular)

这是一个 FE 函数,它从 DB(Angular)返回用户列表,它在 ngOinit 函数中调用:

这个 index.js 在我的 BE 项目中我使用 postgraphile 作为库:

在我的应用程序中,我看到所有 API grpahql 函数在很长一段时间内都处于待处理状态:

我启动“npm install”来更新项目,但它还没有工作

0 投票
0 回答
21 浏览

pagination - 如何使用基于光标的分页重新加载整个列表

我有一个使用graphql的基于光标的分页,我想在加载了几页后重新加载整个列表。

但是在重新加载列表时使用before = Cursor of last item将省略最后一项。有人可以帮我吗?

例子

该示例的页面大小为 2,并且已分页一次。

重新加载时我会做类似的事情

但这只会给我前 3 项

0 投票
1 回答
191 浏览

node.js - 如何使用调用 postgraphile 的节点 js 验证 keycloak 令牌?

我是 node js 的新手,我工作的公司需要关于 postgraphile 的概念证明,情况是这样的:

  1. 我创建了一个节点 js 迷你服务器,它使用 postgraphile 访问 postgres 上的数据
  2. 迷你服务器工作正常,可以返回数据,也可以使用突变。
  3. 我使用 keycloak-connect 尝试访问 keycloak 以从邮递员发送的请求中验证令牌,但存在问题。
  4. 如果令牌有效与否,对于迷你服务器来说并不重要,似乎唯一重要的是不记名令牌。

我尝试使用其他插件(如 keycloak-nodejs-connect、keycloak-verify 等)但结果是一样的,我还更改了我的代码以使用这些插件文档中的示例但没有。

这是我的代码:(keycloak-config.js 文件)

我的 Index.js 文件:

我还使用此代码获取令牌并使用 keycloak-verify 插件但一无所获:

我知道我缺乏知识,因为我是后端 (C#) 开发人员,有人可以帮助我吗?提前谢谢。

0 投票
1 回答
30 浏览

node.js - 如何在 Postgraphile 突变中使用 Node.js?

我正在制作一个显示有关不同用户的信息的应用程序,该信息取自第三方 API。我将这些信息以我自己的格式保存在 PostgreSQL 中的多个表中,以跟踪对数据的任何更改并提供更改历史记录第三方 API 仅提供当前数据)。

我想使用 GraphQL,特别是Postgraphile来简化后端开发。但是有一个用例我找不到用 Postgraphile 实现的方法。这是我想要实现的:

  1. 用户想要查看更新的信息
  2. GraphQL 变异查询被发送到服务器,如下所示:
  1. 服务器向第三方服务器发出 API 请求,处理数据,进行一些计算并更新数据库
  2. 请求的字段返回给客户端

我知道这种类型的自定义突变可以用PL/pgSQLPLV8 之类的数据库函数来实现,但是它们不能发出 http 请求,而且我已经在 Typescript 中拥有了大部分数据处理逻辑,所以想使用它。

有没有办法创建一个自定义突变来调用 JavaScript 函数,该函数可以访问我已经创建的 Node.js 模块、接口和类?

我认为可行的一种解决方案:

  1. 在我的服务器上调用 REST 端点,例如/update_user?id=$userid
  2. 从第三方 API 加载用户数据并更新数据库
  3. 客户端收到响应,例如Update successful
  4. 调用普通的 GraphQL 查询来获取数据

有没有更好的方法来满足这个用例?

0 投票
0 回答
17 浏览

node.js - 我们如何在 postgraphile 应用程序中管理会话?

我是 Postgraphile 的新手,我刚刚开始查看这个入门工具包,以了解如何在这个 postgraphile 应用程序中管理会话。我看到上面的入门工具包中有 2 个表用于会话管理,

  1. connect_pg_simple_sessions
  2. sessions

而且我已经看到该sessions表在对数据库发出的每个有效的 graphql 请求中都会更新,该数据库会跟踪发出请求的用户和他/她的最后一次活动时间。它还被用于跟踪用户登录,同时通过login数据库中的函数发出登录请求,成功登录时,将新记录插入到该表中。

但是connect_pg_simple_sessions在服务器上设置中间件时,该表刚刚被使用或初始化。所以我的问题是,如果我们使用sessions表格来跟踪用户登录和用户提出的每个 graphql 请求,那么connect_pg_simple_sessions应用程序中表格的用途是什么?我们如何在用户登录后跟踪用户的会话,就像我们通常在使用任何会话库的普通 express JS 应用程序中所做的那样(例如,像这样的 connect pg simple )?用户登录 postgraphile 应用程序后,我们如何将 cookie 中的会话发送给用户?

0 投票
0 回答
9 浏览

postgresql - 使用 Docker 部署时 Post Graphile 中缺少架构错误

我是 devops 的新手,我已经使用 Docker 映像部署了 Postgraphile。它运行成功,但在架构创建阶段我收到此错误消息。我没有 Postgraphile 背景,所以如果有人可以指导我在这里需要纠正什么。