标签: graphcool

如何使用Apollo Client按顺序链接两个GraphQL查询

我正在使用Apollo Client作为前端,使用Graphcool作为后端.有两个查询firstQuerysecondQuery我希望他们在序列页面打开时调用.下面是示例代码(此处未列出TestPage组件的定义):

export default compose(
        graphql(firstQuery, {
            name: 'firstQuery'
        }),
        graphql(secondQuery, { 
            name: 'secondQuery' ,
            options: (ownProps) => ({
                variables: {
                   var1: *getValueFromFirstQuery*
                }
            })
        })
)(withRouter(TestPage))
Run Code Online (Sandbox Code Playgroud)

我需要var1secondQuery从的结果firstQuery.我如何使用Apollo Client和编写?或者还有其他方法吗?提前致谢.

apollo graphql react-apollo graphcool apollo-client

14
推荐指数
2
解决办法
5275
查看次数

使 GraphQL 模式中的两个字段之一成为必需的?

我正在使用 Graphcool 但这可能是一个通用的 GraphQL 问题。有没有办法使两个字段之一成为必需的?

例如说我有一个 Post 类型。帖子必须附加到组或事件。这可以在模式中指定吗?

type Post {
  body: String!
  author: User!
  event: Event // This or group is required
  group: Group // This or event is required
}
Run Code Online (Sandbox Code Playgroud)

我的实际需求有点复杂。帖子可以附加到事件,也可以附加到组和位置。

type Post {
  body: String!
  author: User!
  event: Event // Either this is required, 
  group: Group // Or both Group AND Location are required 
  location: Location 
}
Run Code Online (Sandbox Code Playgroud)

所以这是有效的:

mutation {
  createPost(
   body: "Here is a comment",
   authorId: "<UserID>",
   eventId: "<EventID>"
  ){
    id
  }
}
Run Code Online (Sandbox Code Playgroud)

就像这样:

mutation { …
Run Code Online (Sandbox Code Playgroud)

graphql graphcool

10
推荐指数
1
解决办法
3456
查看次数

Auth0使用Graphcool进行通用登录?

我正在尝试使用Graphcool,Apollo和React应用程序设置Auth0的通用登录.我的网站是一个静态托管Netlify的SPA.

我正在使用Graphcool的官方Auth0模板:https://github.com/graphcool/templates/tree/master/auth/auth0

但是,我在官方文档中找不到太多细节,所以我遵循本教程:https://medium.com/@quiaro/authentication-inside-a-graphcool-service-using-auth0-5056806d02f0

我有一个由登录组件调用的auth组件:

import React from 'react';
import auth0 from 'auth0-js';

export default class Auth {
    auth0 = new auth0.WebAuth({
        domain: 'MY-SITE.auth0.com',
        clientID: 'MY-CLIENT-ID',
        redirectUri: 'http://localhost:3000/callback',
        audience: 'https://MY-SITE.auth0.com/userinfo',
        responseType: 'id_token',
        scope: 'openid email',
    });

    login() {
        this.auth0.authorize();
    }
}

import Auth from './Auth';
class Login extends React.Component {
    render() {
        const auth = new Auth();
        auth.login();
        return (
            // Login message
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,这将我带到Auth0的页面,我可以登录,之后我被重定向回我的网站,并将参数添加到网址:

http://localhost:3000/callback#id_token=LONG-ID-TOKEN&state=STRING
Run Code Online (Sandbox Code Playgroud)

如果我将LONG-ID-TOKEN粘贴到https://jwt.io/中,则信息似乎是正确的,并且表示签名有效:

标题:

{
  "typ": "JWT", …
Run Code Online (Sandbox Code Playgroud)

auth0 graphcool

10
推荐指数
1
解决办法
341
查看次数

GraphQL:过滤数组中的数据

我确定这是一件很简单的事情,但我在GraphQL的doc或Graphcool中找不到任何东西.

假设我有一个具有此架构的实体(新的GraphQL用户,抱歉,如果我在架构表示中出错):

Book {
  name: String!
  author: String!
  categories: [String!]
}
Run Code Online (Sandbox Code Playgroud)

如何查询属于该"mystery"类别的所有书籍?我知道我可以过滤allBooks(filter: {}),但categories_in: ["mystery"]categories_contains: "mystery"没有做到这一点.

graphql graphcool

9
推荐指数
1
解决办法
1万
查看次数

如何将GraphQL变异从一个服务器发送到另一个服务器?

我想将一些Slack消息保存到GraphQL后端.我可以使用Slack API以及他们所谓的"Slack App Commands",因此每次向Slack通道发送消息时,Slack会自动向我的服务器发送HTTP POST请求,并将新消息作为数据.

我正在考虑使用AWS lambda函数将此发布请求转发到我的GraphQL服务器端点(我正在使用GraphCool).我是GraphQL的新手,我使用Apollo从浏览器创建突变.现在我需要从我的节点服务器(AWS Lambda函数)而不是浏览器发送变异.我怎样才能做到这一点?

谢谢.

lambda apollo aws-lambda graphql graphcool

9
推荐指数
1
解决办法
3264
查看次数

Apollo / Graphcool订阅-建立连接之前关闭WebSocket

我正在尝试按照如何在GraphQL上的本教程设置一个graphcool订阅/ websockets,但收到以下消息:

WebSocket与“ wss://subscriptions.graph.cool/v1/###”的连接失败:WebSocket在建立连接之前已关闭。

我似乎已经按照教程掌握了所有内容。您知道为什么未建立websockets连接吗?


index.js

import React from 'react'
import ReactDOM from 'react-dom'
import App from './components/App'
import registerServiceWorker from './registerServiceWorker'
import './styles/index.css'
import { ApolloProvider, createNetworkInterface, ApolloClient } from 'react-apollo'
import { SubscriptionClient, addGraphQLSubscriptions } from 'subscriptions-transport-ws'
import { BrowserRouter } from 'react-router-dom'
import { GC_AUTH_TOKEN } from './constants'

const networkInterface = createNetworkInterface({
  uri: 'https://api.graph.cool/simple/v1/###'
})

const wsClient = new SubscriptionClient('wss://subscriptions.graph.cool/v1/###', {
  reconnect: true,
  connectionParams: {
     authToken: localStorage.getItem(GC_AUTH_TOKEN),
  }
})

const networkInterfaceWithSubscriptions = addGraphQLSubscriptions(
  networkInterface,
  wsClient …
Run Code Online (Sandbox Code Playgroud)

apollo graphcool

7
推荐指数
2
解决办法
2958
查看次数

GraphQL 条件过滤器

使用 GraphCool 后端,有没有办法在查询中使用条件过滤器?

假设我有一个这样的查询:

query ($first: Int, $skip: Int, $favorited: Boolean) {
  allPhotos (
    first: $first
    skip: $skip
    filter: {
      favorited: $favorited
    }
  )
  {
    id
    url
    title
    favorited
  }
}

//variables: { "first": 10, "skip", "favorited": true }
Run Code Online (Sandbox Code Playgroud)

上面的查询将:

1) 只获取收藏的照片。

2)只获取不喜欢的照片。

我的问题是我希望能够:

1) 查询仅收藏或不收藏的照片。

2) 查询照片,不管它们是否被收藏。

如何有条件地包含过滤器?我可以吗?我正在用 Javascript 中的 react-apollo 做一些事情,我可以用代码找出一个解决方案,但我想知道是否有办法在 graphql 领域做到这一点。

graphql graphql-js graphcool

7
推荐指数
1
解决办法
4750
查看次数

Docker在v1插件注册表中找不到插件桥:未找到插件

嗨,我想用graphcool运行此命令:

graphcool-framework local up
Run Code Online (Sandbox Code Playgroud)

我从Docker得到这个错误,

docker   could not find plugin bridge in v1 plugin registry: plugin not found
Run Code Online (Sandbox Code Playgroud)

我的Docker版本是18.03.0-ce版本

有什么问题,如何解决?

感谢您的时间.

docker graphcool

7
推荐指数
3
解决办法
7833
查看次数

将对象数组添加到apollo-react中的变异中

我在前端使用react-apollo,在后端使用graphcool.我有一个突变,创建一个这样的教程:

const CREATE_TUTORIAL_MUTATION = gql`
  mutation CreateTutorialMutation(
    $author: String
    $link: String
    $title: String!
    $postedById: ID!
    $completed: Boolean!
  ) {
    createTutorial(
      author: $author
      link: $link
      title: $title
      postedById: $postedById
      completed: $completed
    ) {
      author
      link
      title
      postedBy {
        id
        name
      }
      completed
    }
  }
`
Run Code Online (Sandbox Code Playgroud)

它在提交处理程序中调用,如此...

this.props.createTutorialMutation({
      variables: {
        author,
        link,
        title,
        completed: false,
        postedById
      }
    })
Run Code Online (Sandbox Code Playgroud)

一切都很美妙.

现在我想在创建新教程时添加一组标记.我创建了输入字段并将其连接起来,以便tags变量是一个对象数组,每个对象都有一个标记id和标记文本.

如果我尝试将标记字段添加到变异中,则需要标量类型.但是对于一组对象似乎没有标量类型.

如果我在调用变异时将tag变量作为参数传递,我如何填充变异中的Scalar类型字段(在148行上这里https://github.com/joshpitzalis/path/blob/graphQL/src/ components/Add.js)和架构?

我是graphQL的新手,我明白我可能会以错误的方式接近这一点.如果是这种情况,我如何在graphQL中添加一个对象数组?

apollo reactjs graphql graphcool

6
推荐指数
1
解决办法
5081
查看次数

如何在android中解析图酷服务

我想在android中解析图酷服务.我无法解析数据.

这是URL:

 https://api.graph.cool/simple/v1/cj8dyjr0144dk33b7pz
Run Code Online (Sandbox Code Playgroud)

必须解析这项服务

 mutation {
    updateLocation(

   id:"cjck0maq9q7ovs54z",
  lat:"16.11",
  long:"81.11"
   ) {
 id,lat,long
}
}
Run Code Online (Sandbox Code Playgroud)

请,任何人都有这个想法.请帮助解决这个问题.

parsing android graphcool

6
推荐指数
1
解决办法
60
查看次数