shopify_api 12.5.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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