Class: Lesli::User::SessionService
- Inherits:
-
ApplicationLesliService
- Object
- ApplicationLesliService
- Lesli::User::SessionService
- Defined in:
- app/services/lesli/user/session_service.rb
Instance Method Summary collapse
-
#create(user_agent, remote_ip, session_source = "devise_standard_session") ⇒ Object
create a new session.
- #index ⇒ Object
Methods inherited from ApplicationLesliService
#delete, #error, #errors, #errors_as_sentence, #find, #found?, #initialize, #list, #result, #show, #successful?, #update
Constructor Details
This class inherits a constructor from Lesli::ApplicationLesliService
Instance Method Details
#create(user_agent, remote_ip, session_source = "devise_standard_session") ⇒ Object
create a new session
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'app/services/lesli/user/session_service.rb', line 55 def create(user_agent, remote_ip, session_source="devise_standard_session") # register a new unique session current_session = current_user.sessions.create({ :remote => remote_ip, :agent_os => user_agent[:os] || "unknown", :agent_platform => user_agent[:platform] || "unknown", :agent_browser => user_agent[:browser] || "unknown", :agent_version => user_agent[:version] || "unknown", :session_source => session_source, :last_used_at => Date2.new.get, :usage_count => 1 }) # register or sync the current_user with the user representation on Firebase #Courier::One::Firebase::User.sync_user(@resource) if defined? CloudOne self.response(current_session) end |
#index ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/services/lesli/user/session_service.rb', line 36 def index Lesli::User::Session .joins(:user) .select( :id, :user_id, :first_name, :session_source, Date2.new.date_time.db_column("created_at", "lesli_user_sessions"), Date2.new.date_time.db_column("last_used_at"), Date2.new.date_time.db_column("expiration_at"), "CONCAT_WS(' ', agent_platform, agent_os, '/', agent_browser, agent_version) as device" ) .page(query[:pagination][:page]) .per(query[:pagination][:perPage]) .order(updated_at: :desc) end |