У меня небольшие проблемы при запросе внутри мутации, я думаю, что, возможно, я неправильно вызываю запрос, потому что он выполняется, но не ожидает ответа, поэтому я получаю неопределенное значение, пожалуйста, исправьте меня.
Обратите внимание, что я использую привязку к призме
Это мои преобразователи мутаций:
const Mutation = {
async signUp(parent, args, ctx, info) {
const password = await bcrypt.hash(args.password, 10)
const user = await ctx.db.mutation.createUser({ data: {...args, password} })
const token = jwt.sign({ userId: user.id }, process.env.PRISMA_SECRET)
return {
token,
user,
}
},
async login(parent, args, ctx, info) {
const user = await ctx.db.query.users( {where:{email: args.email}}, info)
if (!user) {
throw new Error('No such user found')
}
const valid = bcrypt.compare(args.password, user.password)
if (!valid) {
throw new Error('Invalid password')
}
const token = jwt.sign({ userId: user.id }, process.env.PRISMA_SECRET)
return {
token,
user,
}
},
};
module.exports = Mutation;
В функции входа в систему при запросе пользователя или пользователей я пробую оба запроса, даже зная, что у меня электронное письмо в качестве уникального поля. всегда печатается. Такой пользователь не найден из-за того, что я получил undefined, IDK, если это из-за привязки к призме. или неправильно выполняет вызов функции для призмы.
Вот моя схема.graphql
type Query {
// some queries
}
type Mutation {
signUp(
name: String!
email: String!
password: String!
): AuthPayLoad
login(
email: String!
password: String!
): AuthPayLoad
}
type AuthPayLoad {
token: String
user: User
}
Так что для призменной привязки мне не нужно определять пользователей запроса (), привязка будет обрабатывать это право ?? Даже если бы это было так, у меня была бы другая ошибка, которой нет.
Может быть, мне не хватает какой-то маленькой детали, буду благодарен, если кто-то укажет мне правильное направление.
Заранее спасибо ...