问题标签 [scaphold]

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 投票
1 回答
675 浏览

graphql - 如何删除graphql中的多个项目?

给定一个 id 数组,我如何编写一个删除突变来同时删除多个项目?
PS:我使用的是 Scaphoold.io 提供的 graphql 托管平台

0 投票
1 回答
46 浏览

graphql - ScapholdSchema 的必填字段是什么?

你能解释一下这个模式是什么意思吗?

0 投票
1 回答
299 浏览

javascript - 使用 Auth0 和 Scaphold 登录 GraphQL

我一直在使用 GraphQL 后端作为名为 Scaphold.io 的服务平台,并且我正在尝试使用 Auth0 实现社交身份验证。但是,当我在平台上启用集成时,我看到了三个突变。哪一种是实施社交身份验证的首选方法?

0 投票
1 回答
705 浏览

reactjs - 如何向 Apollo GraphQL 请求添加额外的请求正文值?

我将 Apollo 与 Scaphold.io 服务一起使用,并且为了向该服务写入 blob,我需要能够向请求正文添加其他选项。

完整的 Scaphold 示例可以在这里找到:https ://scaphold.io/docs/#uploading-files

但它做了这样的事情:

它将 blobField 添加到请求正文的位置。

基于此,我需要将 blobFieldName 属性传递给变量,然后将传递给该属性的值与 blob 添加到请求正文中。但是,使用 Apollo 我无法添加到请求正文中。我尝试了以下操作,但是当我签入网络检查器时,请求正文中没有它:

请指教。

0 投票
2 回答
94 浏览

facebook-graph-api - 如何根据其他组件的订阅结果更新组件的查询结果?

我在同一页面上有 2 个反应组件,

  • 组件1查询用户列表
  • 组件2订阅创建新用户的事件

我想不出一种方法来根据组件 2 的订阅结果更新组件 1 的结果。
组件1:

组件2:

0 投票
1 回答
1544 浏览

graphql - 应该如何对列表中的项目进行重新排序和更新多个对象,并使用 GraphQL 突变进行持久化?

我正在使用的堆栈


我正在尝试做的事情

我正在构建一个向用户显示多个列表的应用程序,每个列表都包含多张卡片。在列表中,卡可以由用户重新排序。卡片也可以从一个列表移动到另一个列表,这会改变卡片的父列表,以及卡片在源列表和目标列表中的顺序。

这是一个 GIF,显示了我的应用程序中卡片/列表和重新排序的 UI。您在这里看到的一切都发生在客户端,并且更改不会持久保存到数据库中:

从我的应用中拖放的示例

这是我用来构建 UI 的查询:

这是来自 Vue Draggable 项目的 GIF,它进一步说明了我在做什么(注意数据中的“订单”值):

Vue Draggable 项目中的拖放示例


问题

我不知道如何构建一个突变来处理重新排序,以便正确保留移动的卡片以及对源列表和目标列表排序的更改。

在 Scaphold 中构建模式意味着我需要(我认为)使用它提供的突变。我看不到将多张卡片和列表传递给单个突变的方法,以便我可以一次更新所有内容。

这是 Scaphold.io 中示例项目的端点:https ://us-west-2.api.scaphold.io/graphql/soreorderingexample

这是 Scaphold.io 生成的架构:https ://d3uepj124s5rcx.cloudfront.net/items/1e1m2q3F170C2G3M0v2p/schema.json


我的问题

  • 在 GraphQL 中考虑这样的持久更改的正确方法是什么?
  • 鉴于 Scaphold 的约束和固执己见的行为,我应该如何进行突变?
0 投票
1 回答
5912 浏览

graphql - 如何将对象列表或数组传递到旨在更新单个对象的 GraphQL 突变中?

我正在使用Scaphold.io构建我正在开发的一个小应用程序的后端,并且在尝试更新单个突变请求中的多个项目时遇到了问题。

在 Scaphold 中,当您创建新类型时,会为常见操作创建突变:创建、更新和删除。

您无法重新定义这些突变的架构或其输入类型。在我正在使用的模型类型中 ( card),我得到了开箱即用的这些突变:

updateCardInput类型定义了以下字段:


我能做什么:更新一张卡片

有了这个,我知道如何定义一个order为单张卡片更新的突变:

变量:


我想要做的:在一个突变中更新多张卡片

我得到了一些使用卡片列表 ( [card]) 作为输入的指针,但我不知道如何让它工作。

理想情况下,类似:

并将多张卡片作为变量传入,例如:

当我尝试这个时,我得到一个错误:


那么……鉴于我无法在 Scaphold 中更改输入类型或突变模式,在 GraphQL 中考虑这样做的正确方法是什么?甚至可能吗?