问题标签 [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.
node.js - Postgraphile /graphql 挂起且没有错误
我已经为此挠头整整两天了:DI最初认为它是反向代理。然而,这当然是愚蠢的,因为/graphiql
端点工作完美,所以情况并非如此。只是没有加载任何方案。
所以现在,我无法弄清楚为什么/graphql
端点会无限期地挂起。我只能认为我可能无权访问 psql db?但是我已经测试过/graphql
端点可以通过以下方式访问:
哪个更令人困惑...
服务器.js
为简洁起见,这里是虚拟主机:
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 一起使用吗?
pagination - 如何使用基于光标的分页重新加载整个列表
我有一个使用graphql的基于光标的分页,我想在加载了几页后重新加载整个列表。
但是在重新加载列表时使用before = Cursor of last item
将省略最后一项。有人可以帮我吗?
例子
该示例的页面大小为 2,并且已分页一次。
重新加载时我会做类似的事情
但这只会给我前 3 项
node.js - 如何使用调用 postgraphile 的节点 js 验证 keycloak 令牌?
我是 node js 的新手,我工作的公司需要关于 postgraphile 的概念证明,情况是这样的:
- 我创建了一个节点 js 迷你服务器,它使用 postgraphile 访问 postgres 上的数据
- 迷你服务器工作正常,可以返回数据,也可以使用突变。
- 我使用 keycloak-connect 尝试访问 keycloak 以从邮递员发送的请求中验证令牌,但存在问题。
- 如果令牌有效与否,对于迷你服务器来说并不重要,似乎唯一重要的是不记名令牌。
我尝试使用其他插件(如 keycloak-nodejs-connect、keycloak-verify 等)但结果是一样的,我还更改了我的代码以使用这些插件文档中的示例但没有。
这是我的代码:(keycloak-config.js 文件)
我的 Index.js 文件:
我还使用此代码获取令牌并使用 keycloak-verify 插件但一无所获:
我知道我缺乏知识,因为我是后端 (C#) 开发人员,有人可以帮助我吗?提前谢谢。
node.js - 如何在 Postgraphile 突变中使用 Node.js?
我正在制作一个显示有关不同用户的信息的应用程序,该信息取自第三方 API。我将这些信息以我自己的格式保存在 PostgreSQL 中的多个表中,以跟踪对数据的任何更改并提供更改历史记录(第三方 API 仅提供当前数据)。
我想使用 GraphQL,特别是Postgraphile来简化后端开发。但是有一个用例我找不到用 Postgraphile 实现的方法。这是我想要实现的:
- 用户想要查看更新的信息
- GraphQL 变异查询被发送到服务器,如下所示:
- 服务器向第三方服务器发出 API 请求,处理数据,进行一些计算并更新数据库
- 请求的字段返回给客户端
我知道这种类型的自定义突变可以用PL/pgSQL或PLV8 之类的数据库函数来实现,但是它们不能发出 http 请求,而且我已经在 Typescript 中拥有了大部分数据处理逻辑,所以想使用它。
有没有办法创建一个自定义突变来调用 JavaScript 函数,该函数可以访问我已经创建的 Node.js 模块、接口和类?
我认为可行的一种解决方案:
- 在我的服务器上调用 REST 端点,例如
/update_user?id=$userid
- 从第三方 API 加载用户数据并更新数据库
- 客户端收到响应,例如
Update successful
- 调用普通的 GraphQL 查询来获取数据
有没有更好的方法来满足这个用例?
node.js - 我们如何在 postgraphile 应用程序中管理会话?
我是 Postgraphile 的新手,我刚刚开始查看这个入门工具包,以了解如何在这个 postgraphile 应用程序中管理会话。我看到上面的入门工具包中有 2 个表用于会话管理,
connect_pg_simple_sessions
sessions
而且我已经看到该sessions
表在对数据库发出的每个有效的 graphql 请求中都会更新,该数据库会跟踪发出请求的用户和他/她的最后一次活动时间。它还被用于跟踪用户登录,同时通过login
数据库中的函数发出登录请求,成功登录时,将新记录插入到该表中。
但是connect_pg_simple_sessions
在服务器上设置中间件时,该表刚刚被使用或初始化。所以我的问题是,如果我们使用sessions
表格来跟踪用户登录和用户提出的每个 graphql 请求,那么connect_pg_simple_sessions
应用程序中表格的用途是什么?我们如何在用户登录后跟踪用户的会话,就像我们通常在使用任何会话库的普通 express JS 应用程序中所做的那样(例如,像这样的 connect pg simple )?用户登录 postgraphile 应用程序后,我们如何将 cookie 中的会话发送给用户?
postgresql - 使用 Docker 部署时 Post Graphile 中缺少架构错误
我是 devops 的新手,我已经使用 Docker 映像部署了 Postgraphile。它运行成功,但在架构创建阶段我收到此错误消息。我没有 Postgraphile 背景,所以如果有人可以指导我在这里需要纠正什么。