# frozen_string_literal: true # Common logic for all the logics that require the token generation # service. module TokenGenerationConcern extend ActiveSupport::Concern def service @service ||= Services::TokenGenerationService.new(service_params) end def generate_user_session_key @user_account.session_key = SecureRandom.hex(16) @user_account.save end def generate_token { token: service.call(DateTime.current + 30.minutes), refresh: service.call(DateTime.current + 3.days) } end end