Module: Lab::UserService
- Extended by:
- BCrypt
- Defined in:
- app/services/lab/user_service.rb
Overview
Service for managing LIMS users
Class Method Summary collapse
- .authenticate_user(username:, password:, user_agent:, request_ip:) ⇒ Object
- .create_lims_user(username:, password:) ⇒ Object
Class Method Details
.authenticate_user(username:, password:, user_agent:, request_ip:) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'app/services/lab/user_service.rb', line 17 def authenticate_user(username:, password:, user_agent:, request_ip:) user = User.find_by_username username encrypted_pass = Password.new(user.password) if encrypted_pass == password generate_token(user, user_agent, request_ip) else # throw authentication error nil end end |
.create_lims_user(username:, password:) ⇒ Object
9 10 11 12 13 14 15 |
# File 'app/services/lab/user_service.rb', line 9 def create_lims_user(username:, password:) validate username: username ActiveRecord::Base.transaction do person = create_lims_person create_user username: username, password: password, person: person end end |