Я пытаюсь вернуть токен клиентской стороне после успешного входа в систему с помощью apollo-server-express.Но я получаю нулевые данные.Кто-нибудь может помочь?
**Here's my code:**
**//schema.js**
const { gql }=require('apollo-server-express');
const typeDefs = gql`
type User{
id:ID!
firstname:String!
lastname:String!
email:String!
password:String!
}
type LoginResponse{
ok:Boolean!
token:String!
}
type Query{
users:[User]
user(id:ID!):User
}
type Mutation{
loginUser(email:String!,password:String!):LoginResponse
}
`;
module.exports=typeDefs;
**//resolvers.js**
const jwt=require('jsonwebtoken');
const config=require('./confg');
const User=require('./models/User');
const resolvers={
Query:{
users:()=>{
return User.find();
},
user:(root,{id})=>{
return User.findById(id);
}
},
Mutation:{
loginUser:(parent,{email,password})=>{
User.find({email:email})
.then(
user=>{
if(user[0].password===password){
const mytoken=jwt.sign({
id:user[0]._id,
username:user[0].email
},config.jwtSecret);
const response={
ok:true,
token:mytoken
}
return response;
}
else{
return {
ok: false,
errors: [{ path: 'password', message: 'Wrong password' }],
};
}
})
.catch(err=>{
return {
ok: false,
errors: [{ path: 'email', message: 'Wrong email' }],
};
});
}
}
}
module.exports=resolvers;
// Клиентская сторона
мутация {loginUser (электронная почта: "pragse_p@live.com", пароль:"Pr @ gun12") {token ok}}
Вот результат, который я получил, запустив указанный выше код: {"data": {"loginUser": null}}