如何使用GraphQL + parse.com构建Web应用程序?

时间:2015-09-14 17:13:26

标签: parse-platform reactjs graphql relayjs

我想将parse和graphQL用于新的应用程序。它基本上适用于未登录的用户,在这些用户中,人们共享链接并在某些附加项目上进行协作。这将计划在某个地点举行会议。

是否有人知道解决方案或知道如何解决这个问题?这似乎是制作应用程序的绝佳方式。

修改

PARSE IS DEAD

1 个答案:

答案 0 :(得分:10)

是的,您当然可以构建一个由Parse对象支持的GraphQL服务器!

在服务器上,您可以像往常一样构建GraphQL类型;例如,如果您的解析架构中有一个Todo对象和一个User对象(并且从npm使用graphqlgraphql-relay),那么最终可能会出现像

这样的对象
// Build the GraphQL Todo type.
var GraphQLTodo = new GraphQLObjectType({
  name: 'Todo',
  fields: () => ({
    content: {
      type: GraphQLString,
      resolve: (obj) => obj.get('content')
    },
    done: {
      type: GraphQLBoolean,
      resolve: (obj) => obj.get('done')
    },
    user: {
      type: GraphQLUser,
      resolve: (obj) => obj.get('user')
    }
  }),
});

// Build the connection from User to Todo
var {connectionType, edgeType} = connectionDefinitions({
  name: 'UserTodo',
  nodeType: GraphQLTodo,
});

// Build the GraphQL User type.
var GraphQLUser = new GraphQLObjectType({
  name: 'User',
  fields: () => ({
    todosConnection: {
      type: connectionType,
      args: connectionArgs,
      resolve: (obj, args) => new Parse.Query(Todo).equalTo('user', obj).find()
    }
  },
});

如果用户已登录客户端,您可能会将会话令牌传递给服务器,以允许使用该会话令牌进行解析查询(出于ACL原因)。