【发布时间】:2021-06-02 12:38:34
【问题描述】:
我已经测试 GraphQL 几天了,我正在做身份验证管理(通过关注this tutorial)。我目前因以下错误而被阻止:
Unknown arg `email` in where.email for type UserWhereUniqueInput. Did you mean `id`?
当我提出以下要求时:
mutation {
login(email: "contact@floriankamps.fr", password: "Test123") {
token
user {
email
links {
url
description
}
}
}
}
这是我的登录解析器:
let login = async (parent, args, context, info) => {
const user = await context.prisma.user.findUnique({
where: {
email: args.email
}
});
if (!user)
throw new Error('No such user found');
const valid = await bcrypt.compare(args.password, user.password);
if (!valid)
throw new Error('Invalid password');
const token = jwt.sign({ userId: user.id }, APP_SECRET);
return {
token,
user
}
}
还有我的 GraphQL 架构:
type Mutation {
post(url: String!, description: String!): Link!
updateLink(id: Int!, url: String, description: String): Link
deleteLink(id: Int!): Link
signup(email: String!, password: String!, name: String!): AuthPayload
login(email: String!, password: String!): AuthPayload
}
我真的不知道它会妨碍到哪里......
【问题讨论】:
-
UserWhereUniqueInput ?
-
我不知道这是什么
标签: javascript node.js graphql