mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-24 09:28:31 +00:00
* Updated project set up guide for Mac, added node version and Webpack install steps. * Worked on PR comment i.e Can we change this line to Install Node.js ( version: v14.9.0 ) * Fixed "Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping." * Resolved rubocop comments i.e "Style/FrozenStringLiteralComment: Missing frozen string literal comment." in test folder Co-authored-by: Deepti Kakade <deepti@saeloun.com> Co-authored-by: Deepti Kakade <“deepti@saeloun.com”>
28 lines
570 B
Ruby
28 lines
570 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AuthenticateUser
|
|
prepend SimpleCommand
|
|
|
|
def initialize(email, password)
|
|
@email = email
|
|
@password = password
|
|
end
|
|
|
|
def call
|
|
JsonWebToken.encode(user_id: user.id) if user
|
|
end
|
|
|
|
private
|
|
|
|
attr_accessor :email, :password
|
|
|
|
def user
|
|
user = User.find_by_email(email)
|
|
org_user = OrganizationUser.where(user: user, organization: user.organization)&.first
|
|
|
|
return user if user && user.authenticate(password) && org_user.active?
|
|
|
|
errors.add :user_authentication, "invalid credentials"
|
|
nil
|
|
end
|
|
end
|