Sha256: 10d3369109941280195a233250268565d0d315d3c5c2605642eba814916f07e8
Contents?: true
Size: 670 Bytes
Versions: 1
Compression:
Stored size: 670 Bytes
Contents
module Daidan class LoginUser < BaseMutation argument :email, String, required: true argument :password, String, required: true field :token, String, null: false field :user, BaseUserType, null: false def resolve(email:, password:) user = User.where(email: email).first raise GraphQL::ExecutionError, 'Invalid email or password' unless user && user.authenticate(password) exp_time = Time.now.to_i + (24 * 60 * 60) payload = { user_id: user.id, exp: exp_time } token = JWT.encode(payload, ENV['JWT_SECRET'], 'HS256') { token: token, user: user } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
daidan-0.2.0 | lib/daidan/graphql/mutations/login_user.rb |