Sha256: 0ae5733fe6e16a6aa04a274e8c793fe9500d2f119936a49c1b76bd21385dfaa4
Contents?: true
Size: 1.17 KB
Versions: 18
Compression:
Stored size: 1.17 KB
Contents
module Isomorfeus module Transport class SsrLogin def self.init session_id = `global.IsomorfeusSessionId` if session_id && session_id.size > 0 Isomorfeus::Transport.promise_send_path('Isomorfeus::Transport::Handler::AuthenticationHandler', 'ssr_login', session_id).then do |agent| if agent.processed agent.result else agent.processed = true if agent.response.key?(:success) Isomorfeus.store.dispatch(type: 'DATA_LOAD', data: agent.response[:data]) class_name = agent.response[:data].keys.first key = agent.response[:data][class_name].keys.first logged_in_user = Isomorfeus.cached_data_class(class_name).new(key: key) Isomorfeus.set_current_user(logged_in_user) else error = agent.response[:error] Isomorfeus.raise_error(message: "SSR Login failed, #{error}!") # triggers .fail end end end end end end end end Isomorfeus.add_transport_init_class_name('Isomorfeus::Transport::SsrLogin')
Version data entries
18 entries across 18 versions & 1 rubygems