Class: ShopifyApp::SessionRepository
- Inherits:
-
Object
- Object
- ShopifyApp::SessionRepository
show all
- Extended by:
- ShopifyAPI::Auth::SessionStorage
- Defined in:
- lib/shopify_app/session/session_repository.rb
Defined Under Namespace
Classes: ConfigurationError
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.shop_storage ⇒ Object
38
39
40
|
# File 'lib/shopify_app/session/session_repository.rb', line 38
def shop_storage
load_shop_storage || raise(ConfigurationError, "ShopifySessionRepository.shop_storage is not configured!")
end
|
.user_storage ⇒ Object
42
43
44
|
# File 'lib/shopify_app/session/session_repository.rb', line 42
def user_storage
load_user_storage
end
|
Class Method Details
.delete_session(id) ⇒ Object
ShopifyAPI::Auth::SessionStorage override
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/shopify_app/session/session_repository.rb', line 66
def delete_session(id)
match = id.match(/^offline_(.*)/)
record = if match
Shop.find_by(shopify_domain: match[1])
else
User.find_by(shopify_user_id: id.split("_").last)
end
record.destroy
true
end
|
.load_session(id) ⇒ Object
ShopifyAPI::Auth::SessionStorage override
56
57
58
59
60
61
62
63
|
# File 'lib/shopify_app/session/session_repository.rb', line 56
def load_session(id)
match = id.match(/^offline_(.*)/)
if match
retrieve_shop_session_by_shopify_domain(match[1])
else
retrieve_user_session_by_shopify_user_id(id.split("_").last)
end
end
|
.retrieve_shop_session(id) ⇒ Object
14
15
16
|
# File 'lib/shopify_app/session/session_repository.rb', line 14
def retrieve_shop_session(id)
shop_storage.retrieve(id)
end
|
.retrieve_shop_session_by_shopify_domain(shopify_domain) ⇒ Object
22
23
24
|
# File 'lib/shopify_app/session/session_repository.rb', line 22
def retrieve_shop_session_by_shopify_domain(shopify_domain)
shop_storage.retrieve_by_shopify_domain(shopify_domain)
end
|
.retrieve_user_session(id) ⇒ Object
18
19
20
|
# File 'lib/shopify_app/session/session_repository.rb', line 18
def retrieve_user_session(id)
user_storage.retrieve(id)
end
|
.retrieve_user_session_by_shopify_user_id(user_id) ⇒ Object
26
27
28
|
# File 'lib/shopify_app/session/session_repository.rb', line 26
def retrieve_user_session_by_shopify_user_id(user_id)
user_storage.retrieve_by_shopify_user_id(user_id)
end
|
.store_session(session) ⇒ Object
ShopifyAPI::Auth::SessionStorage override
47
48
49
50
51
52
53
|
# File 'lib/shopify_app/session/session_repository.rb', line 47
def store_session(session)
if session.online?
user_storage.store(session, session.associated_user)
else
shop_storage.store(session)
end
end
|
.store_shop_session(session) ⇒ Object
30
31
32
|
# File 'lib/shopify_app/session/session_repository.rb', line 30
def store_shop_session(session)
shop_storage.store(session)
end
|
.store_user_session(session, user) ⇒ Object
34
35
36
|
# File 'lib/shopify_app/session/session_repository.rb', line 34
def store_user_session(session, user)
user_storage.store(session, user)
end
|