shopify_api 12.5.0 → 13.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +7 -0
  4. data/Gemfile.lock +2 -2
  5. data/lib/shopify_api/auth/oauth.rb +0 -2
  6. data/lib/shopify_api/clients/http_client.rb +13 -9
  7. data/lib/shopify_api/context.rb +4 -20
  8. data/lib/shopify_api/rest/base.rb +48 -14
  9. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +190 -0
  10. data/lib/shopify_api/rest/resources/2022_04/access_scope.rb +58 -0
  11. data/lib/shopify_api/rest/resources/2022_04/android_pay_key.rb +77 -0
  12. data/lib/shopify_api/rest/resources/2022_04/apple_pay_certificate.rb +105 -0
  13. data/lib/shopify_api/rest/resources/2022_04/application_charge.rb +109 -0
  14. data/lib/shopify_api/rest/resources/2022_04/application_credit.rb +92 -0
  15. data/lib/shopify_api/rest/resources/2022_04/article.rb +265 -0
  16. data/lib/shopify_api/rest/resources/2022_04/asset.rb +118 -0
  17. data/lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb +86 -0
  18. data/lib/shopify_api/rest/resources/2022_04/balance.rb +50 -0
  19. data/lib/shopify_api/rest/resources/2022_04/blog.rb +162 -0
  20. data/lib/shopify_api/rest/resources/2022_04/cancellation_request.rb +83 -0
  21. data/lib/shopify_api/rest/resources/2022_04/carrier_service.rb +116 -0
  22. data/lib/shopify_api/rest/resources/2022_04/checkout.rb +209 -0
  23. data/lib/shopify_api/rest/resources/2022_04/collect.rb +142 -0
  24. data/lib/shopify_api/rest/resources/2022_04/collection.rb +110 -0
  25. data/lib/shopify_api/rest/resources/2022_04/collection_listing.rb +155 -0
  26. data/lib/shopify_api/rest/resources/2022_04/comment.rb +283 -0
  27. data/lib/shopify_api/rest/resources/2022_04/country.rb +137 -0
  28. data/lib/shopify_api/rest/resources/2022_04/currency.rb +57 -0
  29. data/lib/shopify_api/rest/resources/2022_04/custom_collection.rb +187 -0
  30. data/lib/shopify_api/rest/resources/2022_04/customer.rb +329 -0
  31. data/lib/shopify_api/rest/resources/2022_04/customer_address.rb +201 -0
  32. data/lib/shopify_api/rest/resources/2022_04/customer_saved_search.rb +169 -0
  33. data/lib/shopify_api/rest/resources/2022_04/deprecated_api_call.rb +57 -0
  34. data/lib/shopify_api/rest/resources/2022_04/discount_code.rb +222 -0
  35. data/lib/shopify_api/rest/resources/2022_04/dispute.rb +111 -0
  36. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +275 -0
  37. data/lib/shopify_api/rest/resources/2022_04/event.rb +148 -0
  38. data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +278 -0
  39. data/lib/shopify_api/rest/resources/2022_04/fulfillment_event.rb +166 -0
  40. data/lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb +284 -0
  41. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +87 -0
  42. data/lib/shopify_api/rest/resources/2022_04/fulfillment_service.rb +130 -0
  43. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +218 -0
  44. data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +118 -0
  45. data/lib/shopify_api/rest/resources/2022_04/image.rb +157 -0
  46. data/lib/shopify_api/rest/resources/2022_04/inventory_item.rb +108 -0
  47. data/lib/shopify_api/rest/resources/2022_04/inventory_level.rb +179 -0
  48. data/lib/shopify_api/rest/resources/2022_04/location.rb +167 -0
  49. data/lib/shopify_api/rest/resources/2022_04/locations_for_move.rb +56 -0
  50. data/lib/shopify_api/rest/resources/2022_04/marketing_event.rb +209 -0
  51. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +344 -0
  52. data/lib/shopify_api/rest/resources/2022_04/mobile_platform_application.rb +110 -0
  53. data/lib/shopify_api/rest/resources/2022_04/order.rb +473 -0
  54. data/lib/shopify_api/rest/resources/2022_04/order_risk.rb +142 -0
  55. data/lib/shopify_api/rest/resources/2022_04/page.rb +194 -0
  56. data/lib/shopify_api/rest/resources/2022_04/payment.rb +140 -0
  57. data/lib/shopify_api/rest/resources/2022_04/payment_gateway.rb +143 -0
  58. data/lib/shopify_api/rest/resources/2022_04/payment_transaction.rb +107 -0
  59. data/lib/shopify_api/rest/resources/2022_04/payout.rb +97 -0
  60. data/lib/shopify_api/rest/resources/2022_04/policy.rb +69 -0
  61. data/lib/shopify_api/rest/resources/2022_04/price_rule.rb +223 -0
  62. data/lib/shopify_api/rest/resources/2022_04/product.rb +223 -0
  63. data/lib/shopify_api/rest/resources/2022_04/product_listing.rb +196 -0
  64. data/lib/shopify_api/rest/resources/2022_04/product_resource_feedback.rb +88 -0
  65. data/lib/shopify_api/rest/resources/2022_04/province.rb +132 -0
  66. data/lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb +172 -0
  67. data/lib/shopify_api/rest/resources/2022_04/redirect.rb +139 -0
  68. data/lib/shopify_api/rest/resources/2022_04/refund.rb +151 -0
  69. data/lib/shopify_api/rest/resources/2022_04/report.rb +121 -0
  70. data/lib/shopify_api/rest/resources/2022_04/resource_feedback.rb +73 -0
  71. data/lib/shopify_api/rest/resources/2022_04/script_tag.rb +155 -0
  72. data/lib/shopify_api/rest/resources/2022_04/shipping_zone.rb +83 -0
  73. data/lib/shopify_api/rest/resources/2022_04/shop.rb +218 -0
  74. data/lib/shopify_api/rest/resources/2022_04/smart_collection.rb +216 -0
  75. data/lib/shopify_api/rest/resources/2022_04/storefront_access_token.rb +87 -0
  76. data/lib/shopify_api/rest/resources/2022_04/tender_transaction.rb +93 -0
  77. data/lib/shopify_api/rest/resources/2022_04/theme.rb +123 -0
  78. data/lib/shopify_api/rest/resources/2022_04/transaction.rb +181 -0
  79. data/lib/shopify_api/rest/resources/2022_04/usage_charge.rb +102 -0
  80. data/lib/shopify_api/rest/resources/2022_04/user.rb +138 -0
  81. data/lib/shopify_api/rest/resources/2022_04/variant.rb +212 -0
  82. data/lib/shopify_api/rest/resources/2022_04/webhook.rb +168 -0
  83. data/lib/shopify_api/rest/resources/2022_07/application_credit.rb +2 -2
  84. data/lib/shopify_api/rest/resources/2022_07/carrier_service.rb +3 -0
  85. data/lib/shopify_api/rest/resources/2022_07/discount_code.rb +3 -0
  86. data/lib/shopify_api/rest/resources/2022_07/dispute.rb +2 -2
  87. data/lib/shopify_api/rest/resources/2022_07/draft_order.rb +2 -2
  88. data/lib/shopify_api/rest/resources/2022_07/event.rb +2 -2
  89. data/lib/shopify_api/rest/resources/2022_07/fulfillment.rb +6 -0
  90. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +8 -5
  91. data/lib/shopify_api/rest/resources/2022_07/order_risk.rb +9 -2
  92. data/lib/shopify_api/rest/resources/2022_07/shipping_zone.rb +2 -2
  93. data/lib/shopify_api/rest/resources/2022_07/shop.rb +2 -2
  94. data/lib/shopify_api/rest/resources/2022_07/theme.rb +3 -0
  95. data/lib/shopify_api/rest/resources/2022_07/usage_charge.rb +2 -2
  96. data/lib/shopify_api/rest/resources/2022_10/application_credit.rb +2 -2
  97. data/lib/shopify_api/rest/resources/2022_10/carrier_service.rb +3 -0
  98. data/lib/shopify_api/rest/resources/2022_10/discount_code.rb +3 -0
  99. data/lib/shopify_api/rest/resources/2022_10/dispute.rb +2 -2
  100. data/lib/shopify_api/rest/resources/2022_10/draft_order.rb +2 -2
  101. data/lib/shopify_api/rest/resources/2022_10/event.rb +2 -2
  102. data/lib/shopify_api/rest/resources/2022_10/fulfillment.rb +6 -0
  103. data/lib/shopify_api/rest/resources/2022_10/gift_card.rb +8 -5
  104. data/lib/shopify_api/rest/resources/2022_10/order_risk.rb +9 -2
  105. data/lib/shopify_api/rest/resources/2022_10/shipping_zone.rb +2 -2
  106. data/lib/shopify_api/rest/resources/2022_10/shop.rb +2 -2
  107. data/lib/shopify_api/rest/resources/2022_10/theme.rb +3 -0
  108. data/lib/shopify_api/rest/resources/2022_10/usage_charge.rb +2 -2
  109. data/lib/shopify_api/rest/resources/2023_01/application_credit.rb +2 -2
  110. data/lib/shopify_api/rest/resources/2023_01/carrier_service.rb +3 -0
  111. data/lib/shopify_api/rest/resources/2023_01/discount_code.rb +3 -0
  112. data/lib/shopify_api/rest/resources/2023_01/dispute.rb +2 -2
  113. data/lib/shopify_api/rest/resources/2023_01/draft_order.rb +2 -2
  114. data/lib/shopify_api/rest/resources/2023_01/event.rb +2 -2
  115. data/lib/shopify_api/rest/resources/2023_01/fulfillment.rb +6 -0
  116. data/lib/shopify_api/rest/resources/2023_01/gift_card.rb +8 -5
  117. data/lib/shopify_api/rest/resources/2023_01/order_risk.rb +9 -2
  118. data/lib/shopify_api/rest/resources/2023_01/shipping_zone.rb +2 -2
  119. data/lib/shopify_api/rest/resources/2023_01/shop.rb +2 -2
  120. data/lib/shopify_api/rest/resources/2023_01/theme.rb +3 -0
  121. data/lib/shopify_api/rest/resources/2023_01/usage_charge.rb +2 -2
  122. data/lib/shopify_api/rest/resources/2023_04/application_credit.rb +2 -2
  123. data/lib/shopify_api/rest/resources/2023_04/carrier_service.rb +3 -0
  124. data/lib/shopify_api/rest/resources/2023_04/discount_code.rb +3 -0
  125. data/lib/shopify_api/rest/resources/2023_04/dispute.rb +2 -2
  126. data/lib/shopify_api/rest/resources/2023_04/draft_order.rb +2 -2
  127. data/lib/shopify_api/rest/resources/2023_04/event.rb +2 -2
  128. data/lib/shopify_api/rest/resources/2023_04/fulfillment.rb +6 -0
  129. data/lib/shopify_api/rest/resources/2023_04/gift_card.rb +8 -5
  130. data/lib/shopify_api/rest/resources/2023_04/order_risk.rb +9 -2
  131. data/lib/shopify_api/rest/resources/2023_04/shipping_zone.rb +2 -2
  132. data/lib/shopify_api/rest/resources/2023_04/shop.rb +2 -2
  133. data/lib/shopify_api/rest/resources/2023_04/theme.rb +3 -0
  134. data/lib/shopify_api/rest/resources/2023_04/usage_charge.rb +2 -2
  135. data/lib/shopify_api/utils/graphql_proxy.rb +3 -6
  136. data/lib/shopify_api/utils/session_utils.rb +0 -84
  137. data/lib/shopify_api/version.rb +1 -1
  138. data/lib/shopify_api/webhooks/registry.rb +1 -1
  139. metadata +77 -5
  140. data/lib/shopify_api/auth/file_session_storage.rb +0 -72
  141. data/lib/shopify_api/auth/session_storage.rb +0 -30
@@ -29,7 +29,9 @@ module ShopifyAPI
29
29
  @shipment_status = T.let(nil, T.nilable(String))
30
30
  @status = T.let(nil, T.nilable(String))
31
31
  @tracking_company = T.let(nil, T.nilable(String))
32
+ @tracking_number = T.let(nil, T.nilable(String))
32
33
  @tracking_numbers = T.let(nil, T.nilable(T::Array[T.untyped]))
34
+ @tracking_url = T.let(nil, T.nilable(String))
33
35
  @tracking_urls = T.let(nil, T.nilable(T::Array[T.untyped]))
34
36
  @updated_at = T.let(nil, T.nilable(String))
35
37
  @variant_inventory_management = T.let(nil, T.nilable(String))
@@ -73,8 +75,12 @@ module ShopifyAPI
73
75
  attr_reader :status
74
76
  sig { returns(T.nilable(String)) }
75
77
  attr_reader :tracking_company
78
+ sig { returns(T.nilable(String)) }
79
+ attr_reader :tracking_number
76
80
  sig { returns(T.nilable(T::Array[String])) }
77
81
  attr_reader :tracking_numbers
82
+ sig { returns(T.nilable(String)) }
83
+ attr_reader :tracking_url
78
84
  sig { returns(T.nilable(T::Array[String])) }
79
85
  attr_reader :tracking_urls
80
86
  sig { returns(T.nilable(String)) }
@@ -17,10 +17,10 @@ module ShopifyAPI
17
17
  super(session: session)
18
18
 
19
19
  @api_client_id = T.let(nil, T.nilable(Integer))
20
- @balance = T.let(nil, T.nilable(String))
20
+ @balance = T.let(nil, T.nilable(Balance))
21
21
  @code = T.let(nil, T.nilable(String))
22
22
  @created_at = T.let(nil, T.nilable(String))
23
- @currency = T.let(nil, T.nilable(String))
23
+ @currency = T.let(nil, T.nilable(Currency))
24
24
  @customer_id = T.let(nil, T.nilable(Integer))
25
25
  @disabled_at = T.let(nil, T.nilable(String))
26
26
  @expires_on = T.let(nil, T.nilable(String))
@@ -35,7 +35,10 @@ module ShopifyAPI
35
35
  @user_id = T.let(nil, T.nilable(Integer))
36
36
  end
37
37
 
38
- @has_one = T.let({}, T::Hash[Symbol, Class])
38
+ @has_one = T.let({
39
+ balance: Balance,
40
+ currency: Currency
41
+ }, T::Hash[Symbol, Class])
39
42
  @has_many = T.let({}, T::Hash[Symbol, Class])
40
43
  @paths = T.let([
41
44
  {http_method: :get, operation: :count, ids: [], path: "gift_cards/count.json"},
@@ -49,13 +52,13 @@ module ShopifyAPI
49
52
 
50
53
  sig { returns(T.nilable(Integer)) }
51
54
  attr_reader :api_client_id
52
- sig { returns(T.nilable(String)) }
55
+ sig { returns(T.nilable(Balance)) }
53
56
  attr_reader :balance
54
57
  sig { returns(T.nilable(String)) }
55
58
  attr_reader :code
56
59
  sig { returns(T.nilable(String)) }
57
60
  attr_reader :created_at
58
- sig { returns(T.nilable(String)) }
61
+ sig { returns(T.nilable(Currency)) }
59
62
  attr_reader :currency
60
63
  sig { returns(T.nilable(Integer)) }
61
64
  attr_reader :customer_id
@@ -24,7 +24,7 @@ module ShopifyAPI
24
24
  @message = T.let(nil, T.nilable(String))
25
25
  @order_id = T.let(nil, T.nilable(Integer))
26
26
  @recommendation = T.let(nil, T.nilable(String))
27
- @score = T.let(nil, T.nilable(Float))
27
+ @score = T.let(nil, T.nilable(String))
28
28
  @source = T.let(nil, T.nilable(String))
29
29
  end
30
30
 
@@ -54,7 +54,7 @@ module ShopifyAPI
54
54
  attr_reader :order_id
55
55
  sig { returns(T.nilable(String)) }
56
56
  attr_reader :recommendation
57
- sig { returns(T.nilable(Float)) }
57
+ sig { returns(T.nilable(String)) }
58
58
  attr_reader :score
59
59
  sig { returns(T.nilable(String)) }
60
60
  attr_reader :source
@@ -67,6 +67,13 @@ module ShopifyAPI
67
67
  "risk"
68
68
  end
69
69
 
70
+ sig do
71
+ returns(String)
72
+ end
73
+ def json_response_body_name()
74
+ "risk"
75
+ end
76
+
70
77
  sig do
71
78
  params(
72
79
  id: T.any(Integer, String),
@@ -19,7 +19,7 @@ module ShopifyAPI
19
19
  @carrier_shipping_rate_providers = T.let(nil, T.untyped)
20
20
  @countries = T.let(nil, T.nilable(T::Array[T.untyped]))
21
21
  @id = T.let(nil, T.nilable(Integer))
22
- @location_group_id = T.let(nil, T.nilable(Integer))
22
+ @location_group_id = T.let(nil, T.nilable(String))
23
23
  @name = T.let(nil, T.nilable(String))
24
24
  @price_based_shipping_rates = T.let(nil, T.nilable(T::Array[T.untyped]))
25
25
  @profile_id = T.let(nil, T.nilable(String))
@@ -42,7 +42,7 @@ module ShopifyAPI
42
42
  attr_reader :countries
43
43
  sig { returns(T.nilable(Integer)) }
44
44
  attr_reader :id
45
- sig { returns(T.nilable(Integer)) }
45
+ sig { returns(T.nilable(String)) }
46
46
  attr_reader :location_group_id
47
47
  sig { returns(T.nilable(String)) }
48
48
  attr_reader :name
@@ -24,7 +24,7 @@ module ShopifyAPI
24
24
  @country = T.let(nil, T.nilable(String))
25
25
  @country_code = T.let(nil, T.nilable(String))
26
26
  @country_name = T.let(nil, T.nilable(String))
27
- @county_taxes = T.let(nil, T.nilable(String))
27
+ @county_taxes = T.let(nil, T.nilable(T::Boolean))
28
28
  @created_at = T.let(nil, T.nilable(String))
29
29
  @currency = T.let(nil, T.nilable(String))
30
30
  @customer_email = T.let(nil, T.nilable(String))
@@ -96,7 +96,7 @@ module ShopifyAPI
96
96
  attr_reader :country_code
97
97
  sig { returns(T.nilable(String)) }
98
98
  attr_reader :country_name
99
- sig { returns(T.nilable(String)) }
99
+ sig { returns(T.nilable(T::Boolean)) }
100
100
  attr_reader :county_taxes
101
101
  sig { returns(T.nilable(String)) }
102
102
  attr_reader :created_at
@@ -22,6 +22,7 @@ module ShopifyAPI
22
22
  @previewable = T.let(nil, T.nilable(T::Boolean))
23
23
  @processing = T.let(nil, T.nilable(T::Boolean))
24
24
  @role = T.let(nil, T.nilable(String))
25
+ @src = T.let(nil, T.nilable(String))
25
26
  @theme_store_id = T.let(nil, T.nilable(Integer))
26
27
  @updated_at = T.let(nil, T.nilable(String))
27
28
  end
@@ -48,6 +49,8 @@ module ShopifyAPI
48
49
  attr_reader :processing
49
50
  sig { returns(T.nilable(String)) }
50
51
  attr_reader :role
52
+ sig { returns(T.nilable(String)) }
53
+ attr_reader :src
51
54
  sig { returns(T.nilable(Integer)) }
52
55
  attr_reader :theme_store_id
53
56
  sig { returns(T.nilable(String)) }
@@ -20,7 +20,7 @@ module ShopifyAPI
20
20
  @currency = T.let(nil, T.nilable(Currency))
21
21
  @description = T.let(nil, T.nilable(String))
22
22
  @id = T.let(nil, T.nilable(Integer))
23
- @price = T.let(nil, T.nilable(Integer))
23
+ @price = T.let(nil, T.nilable(String))
24
24
  @recurring_application_charge_id = T.let(nil, T.nilable(Integer))
25
25
  @updated_at = T.let(nil, T.nilable(String))
26
26
  end
@@ -43,7 +43,7 @@ module ShopifyAPI
43
43
  attr_reader :description
44
44
  sig { returns(T.nilable(Integer)) }
45
45
  attr_reader :id
46
- sig { returns(T.nilable(Integer)) }
46
+ sig { returns(T.nilable(String)) }
47
47
  attr_reader :price
48
48
  sig { returns(T.nilable(Integer)) }
49
49
  attr_reader :recurring_application_charge_id
@@ -9,22 +9,19 @@ module ShopifyAPI
9
9
 
10
10
  sig do
11
11
  params(
12
+ session: Auth::Session,
12
13
  headers: T::Hash[String, T.untyped],
13
14
  body: String,
14
15
  cookies: T.nilable(T::Hash[String, String]),
15
16
  tries: Integer,
16
17
  ).returns(Clients::HttpResponse)
17
18
  end
18
- def proxy_query(headers:, body:, cookies: nil, tries: 1)
19
+ def proxy_query(session:, headers:, body:, cookies: nil, tries: 1)
19
20
  raise Errors::PrivateAppError, "GraphQL proxing is unsupported for private apps." if Context.private?
20
21
 
21
22
  normalized_headers = HttpUtils.normalize_headers(headers)
22
23
 
23
- session = Utils::SessionUtils.load_current_session(
24
- auth_header: normalized_headers["authorization"], cookies: cookies, is_online: true,
25
- )
26
-
27
- if session.nil? || !session.online?
24
+ unless session.online?
28
25
  raise Errors::SessionNotFoundError,
29
26
  "Failed to load an online session from the provided parameters."
30
27
  end
@@ -9,67 +9,6 @@ module ShopifyAPI
9
9
  class << self
10
10
  extend T::Sig
11
11
 
12
- sig do
13
- params(
14
- auth_header: T.nilable(String),
15
- cookies: T.nilable(T::Hash[String, String]),
16
- is_online: T::Boolean,
17
- ).returns(T.nilable(Auth::Session))
18
- end
19
- def load_current_session(auth_header: nil, cookies: nil, is_online: false)
20
- validate_session_storage_for_deprecated_utils
21
- return load_private_session if Context.private?
22
-
23
- session_id = current_session_id(auth_header, cookies, is_online)
24
- return nil unless session_id
25
-
26
- T.must(Context.session_storage).load_session(session_id)
27
- end
28
-
29
- sig do
30
- params(
31
- auth_header: T.nilable(String),
32
- cookies: T.nilable(T::Hash[String, String]),
33
- is_online: T::Boolean,
34
- ).returns(T::Boolean)
35
- end
36
- def delete_current_session(auth_header: nil, cookies: nil, is_online: false)
37
- validate_session_storage_for_deprecated_utils
38
-
39
- session_id = current_session_id(auth_header, cookies, is_online)
40
- return false unless session_id
41
-
42
- T.must(Context.session_storage).delete_session(session_id)
43
- end
44
-
45
- sig do
46
- params(
47
- shop: String,
48
- include_expired: T::Boolean,
49
- ).returns(T.nilable(Auth::Session))
50
- end
51
- def load_offline_session(shop:, include_expired: false)
52
- validate_session_storage_for_deprecated_utils
53
-
54
- session_id = offline_session_id(shop)
55
- session = T.must(Context.session_storage).load_session(session_id)
56
- return nil if session && !include_expired && session.expires && T.must(session.expires) < Time.now
57
-
58
- session
59
- end
60
-
61
- sig do
62
- params(
63
- shop: String,
64
- ).returns(T::Boolean)
65
- end
66
- def delete_offline_session(shop:)
67
- validate_session_storage_for_deprecated_utils
68
-
69
- session_id = offline_session_id(shop)
70
- T.must(Context.session_storage).delete_session(session_id)
71
- end
72
-
73
12
  sig do
74
13
  params(
75
14
  auth_header: T.nilable(String),
@@ -123,29 +62,6 @@ module ShopifyAPI
123
62
  def cookie_session_id(cookies)
124
63
  cookies[Auth::Oauth::SessionCookie::SESSION_COOKIE_NAME]
125
64
  end
126
-
127
- private
128
-
129
- sig { void }
130
- def validate_session_storage_for_deprecated_utils
131
- unless Context.session_storage
132
- raise ShopifyAPI::Errors::SessionStorageError,
133
- "session_storage is required in ShopifyAPI::Context when using deprecated Session utility methods."
134
- end
135
- end
136
-
137
- sig { returns(Auth::Session) }
138
- def load_private_session
139
- unless Context.private_shop
140
- raise Errors::SessionNotFoundError, "Could not load private shop, Context.private_shop is nil."
141
- end
142
-
143
- Auth::Session.new(
144
- shop: T.must(Context.private_shop),
145
- access_token: Context.api_secret_key,
146
- scope: Context.scope.to_a,
147
- )
148
- end
149
65
  end
150
66
  end
151
67
  end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module ShopifyAPI
5
- VERSION = "12.5.0"
5
+ VERSION = "13.0.0"
6
6
  end
@@ -136,7 +136,7 @@ module ShopifyAPI
136
136
  def get_webhook_id(topic:, client:)
137
137
  fetch_id_query = <<~QUERY
138
138
  {
139
- webhookSubscriptions(first: 1, topics: #{topic.gsub("/", "_").upcase}) {
139
+ webhookSubscriptions(first: 1, topics: #{topic.gsub(%r{/|\.}, "_").upcase}) {
140
140
  edges {
141
141
  node {
142
142
  id
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.5.0
4
+ version: 13.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-11 00:00:00.000000000 Z
11
+ date: 2023-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -320,13 +320,11 @@ files:
320
320
  - lib/shopify_api/auth.rb
321
321
  - lib/shopify_api/auth/associated_user.rb
322
322
  - lib/shopify_api/auth/auth_scopes.rb
323
- - lib/shopify_api/auth/file_session_storage.rb
324
323
  - lib/shopify_api/auth/jwt_payload.rb
325
324
  - lib/shopify_api/auth/oauth.rb
326
325
  - lib/shopify_api/auth/oauth/auth_query.rb
327
326
  - lib/shopify_api/auth/oauth/session_cookie.rb
328
327
  - lib/shopify_api/auth/session.rb
329
- - lib/shopify_api/auth/session_storage.rb
330
328
  - lib/shopify_api/clients/graphql/admin.rb
331
329
  - lib/shopify_api/clients/graphql/client.rb
332
330
  - lib/shopify_api/clients/graphql/storefront.rb
@@ -363,6 +361,80 @@ files:
363
361
  - lib/shopify_api/logger.rb
364
362
  - lib/shopify_api/rest/base.rb
365
363
  - lib/shopify_api/rest/base_errors.rb
364
+ - lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb
365
+ - lib/shopify_api/rest/resources/2022_04/access_scope.rb
366
+ - lib/shopify_api/rest/resources/2022_04/android_pay_key.rb
367
+ - lib/shopify_api/rest/resources/2022_04/apple_pay_certificate.rb
368
+ - lib/shopify_api/rest/resources/2022_04/application_charge.rb
369
+ - lib/shopify_api/rest/resources/2022_04/application_credit.rb
370
+ - lib/shopify_api/rest/resources/2022_04/article.rb
371
+ - lib/shopify_api/rest/resources/2022_04/asset.rb
372
+ - lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb
373
+ - lib/shopify_api/rest/resources/2022_04/balance.rb
374
+ - lib/shopify_api/rest/resources/2022_04/blog.rb
375
+ - lib/shopify_api/rest/resources/2022_04/cancellation_request.rb
376
+ - lib/shopify_api/rest/resources/2022_04/carrier_service.rb
377
+ - lib/shopify_api/rest/resources/2022_04/checkout.rb
378
+ - lib/shopify_api/rest/resources/2022_04/collect.rb
379
+ - lib/shopify_api/rest/resources/2022_04/collection.rb
380
+ - lib/shopify_api/rest/resources/2022_04/collection_listing.rb
381
+ - lib/shopify_api/rest/resources/2022_04/comment.rb
382
+ - lib/shopify_api/rest/resources/2022_04/country.rb
383
+ - lib/shopify_api/rest/resources/2022_04/currency.rb
384
+ - lib/shopify_api/rest/resources/2022_04/custom_collection.rb
385
+ - lib/shopify_api/rest/resources/2022_04/customer.rb
386
+ - lib/shopify_api/rest/resources/2022_04/customer_address.rb
387
+ - lib/shopify_api/rest/resources/2022_04/customer_saved_search.rb
388
+ - lib/shopify_api/rest/resources/2022_04/deprecated_api_call.rb
389
+ - lib/shopify_api/rest/resources/2022_04/discount_code.rb
390
+ - lib/shopify_api/rest/resources/2022_04/dispute.rb
391
+ - lib/shopify_api/rest/resources/2022_04/draft_order.rb
392
+ - lib/shopify_api/rest/resources/2022_04/event.rb
393
+ - lib/shopify_api/rest/resources/2022_04/fulfillment.rb
394
+ - lib/shopify_api/rest/resources/2022_04/fulfillment_event.rb
395
+ - lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb
396
+ - lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb
397
+ - lib/shopify_api/rest/resources/2022_04/fulfillment_service.rb
398
+ - lib/shopify_api/rest/resources/2022_04/gift_card.rb
399
+ - lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb
400
+ - lib/shopify_api/rest/resources/2022_04/image.rb
401
+ - lib/shopify_api/rest/resources/2022_04/inventory_item.rb
402
+ - lib/shopify_api/rest/resources/2022_04/inventory_level.rb
403
+ - lib/shopify_api/rest/resources/2022_04/location.rb
404
+ - lib/shopify_api/rest/resources/2022_04/locations_for_move.rb
405
+ - lib/shopify_api/rest/resources/2022_04/marketing_event.rb
406
+ - lib/shopify_api/rest/resources/2022_04/metafield.rb
407
+ - lib/shopify_api/rest/resources/2022_04/mobile_platform_application.rb
408
+ - lib/shopify_api/rest/resources/2022_04/order.rb
409
+ - lib/shopify_api/rest/resources/2022_04/order_risk.rb
410
+ - lib/shopify_api/rest/resources/2022_04/page.rb
411
+ - lib/shopify_api/rest/resources/2022_04/payment.rb
412
+ - lib/shopify_api/rest/resources/2022_04/payment_gateway.rb
413
+ - lib/shopify_api/rest/resources/2022_04/payment_transaction.rb
414
+ - lib/shopify_api/rest/resources/2022_04/payout.rb
415
+ - lib/shopify_api/rest/resources/2022_04/policy.rb
416
+ - lib/shopify_api/rest/resources/2022_04/price_rule.rb
417
+ - lib/shopify_api/rest/resources/2022_04/product.rb
418
+ - lib/shopify_api/rest/resources/2022_04/product_listing.rb
419
+ - lib/shopify_api/rest/resources/2022_04/product_resource_feedback.rb
420
+ - lib/shopify_api/rest/resources/2022_04/province.rb
421
+ - lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb
422
+ - lib/shopify_api/rest/resources/2022_04/redirect.rb
423
+ - lib/shopify_api/rest/resources/2022_04/refund.rb
424
+ - lib/shopify_api/rest/resources/2022_04/report.rb
425
+ - lib/shopify_api/rest/resources/2022_04/resource_feedback.rb
426
+ - lib/shopify_api/rest/resources/2022_04/script_tag.rb
427
+ - lib/shopify_api/rest/resources/2022_04/shipping_zone.rb
428
+ - lib/shopify_api/rest/resources/2022_04/shop.rb
429
+ - lib/shopify_api/rest/resources/2022_04/smart_collection.rb
430
+ - lib/shopify_api/rest/resources/2022_04/storefront_access_token.rb
431
+ - lib/shopify_api/rest/resources/2022_04/tender_transaction.rb
432
+ - lib/shopify_api/rest/resources/2022_04/theme.rb
433
+ - lib/shopify_api/rest/resources/2022_04/transaction.rb
434
+ - lib/shopify_api/rest/resources/2022_04/usage_charge.rb
435
+ - lib/shopify_api/rest/resources/2022_04/user.rb
436
+ - lib/shopify_api/rest/resources/2022_04/variant.rb
437
+ - lib/shopify_api/rest/resources/2022_04/webhook.rb
366
438
  - lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb
367
439
  - lib/shopify_api/rest/resources/2022_07/access_scope.rb
368
440
  - lib/shopify_api/rest/resources/2022_07/android_pay_key.rb
@@ -756,7 +828,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
756
828
  - !ruby/object:Gem::Version
757
829
  version: '0'
758
830
  requirements: []
759
- rubygems_version: 3.4.10
831
+ rubygems_version: 3.4.13
760
832
  signing_key:
761
833
  specification_version: 4
762
834
  summary: The gem for accessing the Shopify API
@@ -1,72 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- require "fileutils"
5
-
6
- module ShopifyAPI
7
- module Auth
8
- class FileSessionStorage
9
- extend T::Sig
10
- extend T::Helpers
11
- include ShopifyAPI::Auth::SessionStorage
12
-
13
- sig { returns(String) }
14
- attr_accessor :path
15
-
16
- sig { params(path: String).void }
17
- def initialize(path: "/tmp/shopify_api_sessions")
18
- @path = path
19
- FileUtils.mkdir_p(path) unless Dir.exist?(path)
20
- end
21
-
22
- sig do
23
- override.params(session: Session)
24
- .returns(T::Boolean)
25
- end
26
- def store_session(session)
27
- File.write(session_file_path(session.id), session.serialize) > 0
28
- end
29
-
30
- sig do
31
- override.params(id: String)
32
- .returns(T.nilable(Session))
33
- end
34
- def load_session(id)
35
- session_path = session_file_path(id)
36
- if File.exist?(session_path)
37
- ShopifyAPI::Auth::Session.deserialize(File.read(session_path))
38
- end
39
- end
40
-
41
- sig do
42
- override.params(id: String)
43
- .returns(T::Boolean)
44
- end
45
- def delete_session(id)
46
- session_path = session_file_path(id)
47
- File.delete(session_path) if File.exist?(session_path)
48
- true
49
- end
50
-
51
- alias_method :eql?, :==
52
- sig { params(other: T.nilable(FileSessionStorage)).returns(T::Boolean) }
53
- def ==(other)
54
- if other
55
- @path == other.path
56
- else
57
- false
58
- end
59
- end
60
-
61
- private
62
-
63
- sig do
64
- params(id: String)
65
- .returns(String)
66
- end
67
- def session_file_path(id)
68
- "#{@path}/#{id}"
69
- end
70
- end
71
- end
72
- end
@@ -1,30 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- module ShopifyAPI
5
- module Auth
6
- module SessionStorage
7
- extend T::Sig
8
- extend T::Helpers
9
- interface!
10
-
11
- sig do
12
- abstract.params(session: Session)
13
- .returns(T::Boolean)
14
- end
15
- def store_session(session); end
16
-
17
- sig do
18
- abstract.params(id: String)
19
- .returns(T.nilable(Session))
20
- end
21
- def load_session(id); end
22
-
23
- sig do
24
- abstract.params(id: String)
25
- .returns(T::Boolean)
26
- end
27
- def delete_session(id); end
28
- end
29
- end
30
- end