Как вернуть пользовательский объект из резольвера в graphql? - PullRequest
1 голос
/ 14 мая 2019

У меня есть nodejs и приложение graphql.

Моя пользовательская схема и распознаватель с использованием graphql-compose-mongoose:

import { composeWithMongoose } from 'graphql-compose-mongoose';

const UserTC = composeWithMongoose(User, {
  fields: { remove: ['password'] },
});

UserTC.addResolver({
  name: 'currentUser',
  type: UserTC.getType(),
  resolve: currentUserResolver, // return user object...
});

Я добавляю преобразователь в свой UserTC:

UserTC.addResolver({
  name: 'login',
  args: {
    email: { type: 'String!' },
    password: { type: 'String!' },
  },
  type: /// <---- MISSING TYPE HERE
  resolve: async ({ args, context }) => {
    const { email, password } = args;
    const { token, user } = login({ email, password });
    return { token, user }
  },
});

Мне нужно вернуть {токен, пользователь}для этого преобразователя.

Какой тип должен быть определен?

Это я пытаюсь, но не получилось:

type: { token: 'String', user: UserTC.getType() }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...