feat: add login mutation

This commit is contained in:
Ali BARIN
2021-12-20 22:09:20 +01:00
parent 8b05489e40
commit e0f380026e
4 changed files with 50 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
import { GraphQLString, GraphQLNonNull } from 'graphql';
import User from '../../models/user';
import userType from '../types/user';
type Params = {
email: string,
password: string
}
const loginResolver = async (params: Params) => {
const user = await User.query().findOne({
email: params.email,
});
if (user && await user.login(params.password)) {
return user;
}
throw new Error('User could not be found.')
}
const login = {
type: userType,
args: {
email: { type: GraphQLNonNull(GraphQLString) },
password: { type: GraphQLNonNull(GraphQLString) }
},
resolve: (_: any, params: any) => loginResolver(params)
};
export default login;