shopify_api 12.4.0 → 13.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. checksums.yaml +4 -4
  2. data/.github/api_update_reminder.md +25 -0
  3. data/.github/api_update_reminder_on_release.md +19 -0
  4. data/.github/workflows/api_update_reminder.yml +16 -0
  5. data/.github/workflows/api_update_reminder_on_release.yml +16 -0
  6. data/.github/workflows/stale.yml +20 -10
  7. data/.rubocop.yml +3 -0
  8. data/CHANGELOG.md +18 -4
  9. data/CONTRIBUTING.md +2 -2
  10. data/Gemfile.lock +7 -7
  11. data/README.md +10 -10
  12. data/docs/getting_started.md +2 -2
  13. data/docs/usage/graphql.md +6 -0
  14. data/docs/usage/graphql_storefront.md +8 -2
  15. data/docs/usage/oauth.md +1 -1
  16. data/docs/usage/rest.md +9 -2
  17. data/docs/usage/webhooks.md +1 -1
  18. data/lib/shopify_api/admin_versions.rb +2 -1
  19. data/lib/shopify_api/auth/oauth.rb +0 -2
  20. data/lib/shopify_api/clients/graphql/admin.rb +3 -3
  21. data/lib/shopify_api/clients/graphql/client.rb +13 -3
  22. data/lib/shopify_api/clients/graphql/storefront.rb +3 -3
  23. data/lib/shopify_api/clients/http_client.rb +21 -10
  24. data/lib/shopify_api/clients/rest/admin.rb +14 -3
  25. data/lib/shopify_api/context.rb +4 -20
  26. data/lib/shopify_api/rest/base.rb +50 -14
  27. data/lib/shopify_api/rest/resources/2022_04/application_charge.rb +6 -1
  28. data/lib/shopify_api/rest/resources/2022_04/application_credit.rb +8 -3
  29. data/lib/shopify_api/rest/resources/2022_04/discount_code.rb +3 -0
  30. data/lib/shopify_api/rest/resources/2022_04/dispute.rb +2 -2
  31. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +2 -2
  32. data/lib/shopify_api/rest/resources/2022_04/event.rb +2 -2
  33. data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +6 -0
  34. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +10 -7
  35. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +2 -2
  36. data/lib/shopify_api/rest/resources/2022_04/order.rb +2 -2
  37. data/lib/shopify_api/rest/resources/2022_04/order_risk.rb +9 -2
  38. data/lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb +6 -1
  39. data/lib/shopify_api/rest/resources/2022_04/shipping_zone.rb +8 -8
  40. data/lib/shopify_api/rest/resources/2022_04/shop.rb +2 -2
  41. data/lib/shopify_api/rest/resources/2022_04/theme.rb +3 -0
  42. data/lib/shopify_api/rest/resources/2022_04/usage_charge.rb +8 -3
  43. data/lib/shopify_api/rest/resources/2022_07/application_charge.rb +6 -1
  44. data/lib/shopify_api/rest/resources/2022_07/application_credit.rb +8 -3
  45. data/lib/shopify_api/rest/resources/2022_07/carrier_service.rb +3 -0
  46. data/lib/shopify_api/rest/resources/2022_07/discount_code.rb +3 -0
  47. data/lib/shopify_api/rest/resources/2022_07/dispute.rb +2 -2
  48. data/lib/shopify_api/rest/resources/2022_07/draft_order.rb +2 -2
  49. data/lib/shopify_api/rest/resources/2022_07/event.rb +2 -2
  50. data/lib/shopify_api/rest/resources/2022_07/fulfillment.rb +6 -0
  51. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +10 -7
  52. data/lib/shopify_api/rest/resources/2022_07/metafield.rb +2 -2
  53. data/lib/shopify_api/rest/resources/2022_07/order.rb +2 -2
  54. data/lib/shopify_api/rest/resources/2022_07/order_risk.rb +9 -2
  55. data/lib/shopify_api/rest/resources/2022_07/recurring_application_charge.rb +6 -1
  56. data/lib/shopify_api/rest/resources/2022_07/shipping_zone.rb +8 -8
  57. data/lib/shopify_api/rest/resources/2022_07/shop.rb +2 -2
  58. data/lib/shopify_api/rest/resources/2022_07/theme.rb +3 -0
  59. data/lib/shopify_api/rest/resources/2022_07/usage_charge.rb +8 -3
  60. data/lib/shopify_api/rest/resources/2022_10/application_charge.rb +6 -1
  61. data/lib/shopify_api/rest/resources/2022_10/application_credit.rb +8 -3
  62. data/lib/shopify_api/rest/resources/2022_10/carrier_service.rb +3 -0
  63. data/lib/shopify_api/rest/resources/2022_10/discount_code.rb +3 -0
  64. data/lib/shopify_api/rest/resources/2022_10/dispute.rb +2 -2
  65. data/lib/shopify_api/rest/resources/2022_10/draft_order.rb +2 -2
  66. data/lib/shopify_api/rest/resources/2022_10/event.rb +2 -2
  67. data/lib/shopify_api/rest/resources/2022_10/fulfillment.rb +6 -0
  68. data/lib/shopify_api/rest/resources/2022_10/gift_card.rb +10 -7
  69. data/lib/shopify_api/rest/resources/2022_10/metafield.rb +2 -2
  70. data/lib/shopify_api/rest/resources/2022_10/order.rb +2 -2
  71. data/lib/shopify_api/rest/resources/2022_10/order_risk.rb +9 -2
  72. data/lib/shopify_api/rest/resources/2022_10/recurring_application_charge.rb +6 -1
  73. data/lib/shopify_api/rest/resources/2022_10/shipping_zone.rb +8 -8
  74. data/lib/shopify_api/rest/resources/2022_10/shop.rb +2 -2
  75. data/lib/shopify_api/rest/resources/2022_10/theme.rb +3 -0
  76. data/lib/shopify_api/rest/resources/2022_10/usage_charge.rb +8 -3
  77. data/lib/shopify_api/rest/resources/2023_01/application_charge.rb +6 -1
  78. data/lib/shopify_api/rest/resources/2023_01/application_credit.rb +8 -3
  79. data/lib/shopify_api/rest/resources/2023_01/carrier_service.rb +3 -0
  80. data/lib/shopify_api/rest/resources/2023_01/discount_code.rb +3 -0
  81. data/lib/shopify_api/rest/resources/2023_01/dispute.rb +2 -2
  82. data/lib/shopify_api/rest/resources/2023_01/dispute_evidence.rb +117 -0
  83. data/lib/shopify_api/rest/resources/{2022_01/android_pay_key.rb → 2023_01/dispute_file_upload.rb} +29 -25
  84. data/lib/shopify_api/rest/resources/2023_01/draft_order.rb +2 -2
  85. data/lib/shopify_api/rest/resources/2023_01/event.rb +2 -2
  86. data/lib/shopify_api/rest/resources/2023_01/fulfillment.rb +6 -0
  87. data/lib/shopify_api/rest/resources/2023_01/gift_card.rb +10 -7
  88. data/lib/shopify_api/rest/resources/2023_01/metafield.rb +2 -2
  89. data/lib/shopify_api/rest/resources/2023_01/order.rb +2 -2
  90. data/lib/shopify_api/rest/resources/2023_01/order_risk.rb +9 -2
  91. data/lib/shopify_api/rest/resources/2023_01/recurring_application_charge.rb +6 -1
  92. data/lib/shopify_api/rest/resources/2023_01/shipping_zone.rb +8 -8
  93. data/lib/shopify_api/rest/resources/2023_01/shop.rb +2 -2
  94. data/lib/shopify_api/rest/resources/2023_01/theme.rb +3 -0
  95. data/lib/shopify_api/rest/resources/2023_01/usage_charge.rb +8 -3
  96. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/application_charge.rb +6 -1
  97. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/application_credit.rb +8 -3
  98. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/customer.rb +3 -0
  99. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/discount_code.rb +3 -0
  100. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/dispute.rb +2 -2
  101. data/lib/shopify_api/rest/resources/2023_04/dispute_evidence.rb +117 -0
  102. data/lib/shopify_api/rest/resources/2023_04/dispute_file_upload.rb +81 -0
  103. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/draft_order.rb +2 -2
  104. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/event.rb +2 -2
  105. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/fulfillment.rb +8 -49
  106. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/fulfillment_order.rb +39 -8
  107. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/fulfillment_service.rb +3 -3
  108. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/gift_card.rb +10 -7
  109. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/metafield.rb +8 -13
  110. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/order.rb +14 -2
  111. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/order_risk.rb +9 -2
  112. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/price_rule.rb +3 -3
  113. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/recurring_application_charge.rb +6 -1
  114. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/shipping_zone.rb +8 -8
  115. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/shop.rb +5 -2
  116. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/theme.rb +3 -0
  117. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/transaction.rb +3 -0
  118. data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/usage_charge.rb +8 -3
  119. data/lib/shopify_api/utils/graphql_proxy.rb +3 -6
  120. data/lib/shopify_api/utils/session_utils.rb +0 -84
  121. data/lib/shopify_api/version.rb +1 -1
  122. data/lib/shopify_api/webhooks/registry.rb +1 -1
  123. data/shopify_api.gemspec +1 -1
  124. metadata +85 -80
  125. data/lib/shopify_api/auth/file_session_storage.rb +0 -72
  126. data/lib/shopify_api/auth/session_storage.rb +0 -30
  127. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/abandoned_checkout.rb +0 -0
  128. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/access_scope.rb +0 -0
  129. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/apple_pay_certificate.rb +0 -0
  130. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/article.rb +0 -0
  131. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/asset.rb +0 -0
  132. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/assigned_fulfillment_order.rb +0 -0
  133. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/balance.rb +0 -0
  134. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/blog.rb +0 -0
  135. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/cancellation_request.rb +0 -0
  136. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/carrier_service.rb +0 -0
  137. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/checkout.rb +0 -0
  138. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/collect.rb +0 -0
  139. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/collection.rb +0 -0
  140. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/collection_listing.rb +0 -0
  141. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/comment.rb +0 -0
  142. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/country.rb +0 -0
  143. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/currency.rb +0 -0
  144. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/custom_collection.rb +0 -0
  145. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/customer_address.rb +0 -0
  146. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/customer_saved_search.rb +0 -0
  147. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/deprecated_api_call.rb +0 -0
  148. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/fulfillment_event.rb +0 -0
  149. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/fulfillment_request.rb +0 -0
  150. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/gift_card_adjustment.rb +0 -0
  151. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/image.rb +0 -0
  152. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/inventory_item.rb +0 -0
  153. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/inventory_level.rb +0 -0
  154. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/location.rb +0 -0
  155. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/locations_for_move.rb +0 -0
  156. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/marketing_event.rb +0 -0
  157. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/mobile_platform_application.rb +0 -0
  158. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/page.rb +0 -0
  159. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/payment.rb +0 -0
  160. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/payment_gateway.rb +0 -0
  161. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/payment_transaction.rb +0 -0
  162. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/payout.rb +0 -0
  163. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/policy.rb +0 -0
  164. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/product.rb +0 -0
  165. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/product_listing.rb +0 -0
  166. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/product_resource_feedback.rb +0 -0
  167. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/province.rb +0 -0
  168. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/redirect.rb +0 -0
  169. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/refund.rb +0 -0
  170. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/report.rb +0 -0
  171. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/resource_feedback.rb +0 -0
  172. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/script_tag.rb +0 -0
  173. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/smart_collection.rb +0 -0
  174. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/storefront_access_token.rb +0 -0
  175. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/tender_transaction.rb +0 -0
  176. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/user.rb +0 -0
  177. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/variant.rb +0 -0
  178. /data/lib/shopify_api/rest/resources/{2022_01 → 2023_04}/webhook.rb +0 -0
@@ -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.4.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
data/shopify_api.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  section of Shopify stores.
15
15
  HERE
16
16
  s.email = "developers@shopify.com"
17
- s.homepage = "https://shopify.dev/apps"
17
+ s.homepage = "https://shopify.dev/docs/apps"
18
18
 
19
19
  s.metadata["allowed_push_host"] = "https://rubygems.org"
20
20
 
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.4.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-01-05 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
@@ -282,8 +282,12 @@ files:
282
282
  - ".github/ISSUE_TEMPLATE/BUG_REPORT.md"
283
283
  - ".github/ISSUE_TEMPLATE/ENHANCEMENT.md"
284
284
  - ".github/ISSUE_TEMPLATE/FEATURE_REQUEST.md"
285
+ - ".github/api_update_reminder.md"
286
+ - ".github/api_update_reminder_on_release.md"
285
287
  - ".github/dependabot.yml"
286
288
  - ".github/pull_request_template.md"
289
+ - ".github/workflows/api_update_reminder.yml"
290
+ - ".github/workflows/api_update_reminder_on_release.yml"
287
291
  - ".github/workflows/build.yml"
288
292
  - ".github/workflows/cla.yml"
289
293
  - ".github/workflows/close-waiting-for-response-issues.yml"
@@ -316,13 +320,11 @@ files:
316
320
  - lib/shopify_api/auth.rb
317
321
  - lib/shopify_api/auth/associated_user.rb
318
322
  - lib/shopify_api/auth/auth_scopes.rb
319
- - lib/shopify_api/auth/file_session_storage.rb
320
323
  - lib/shopify_api/auth/jwt_payload.rb
321
324
  - lib/shopify_api/auth/oauth.rb
322
325
  - lib/shopify_api/auth/oauth/auth_query.rb
323
326
  - lib/shopify_api/auth/oauth/session_cookie.rb
324
327
  - lib/shopify_api/auth/session.rb
325
- - lib/shopify_api/auth/session_storage.rb
326
328
  - lib/shopify_api/clients/graphql/admin.rb
327
329
  - lib/shopify_api/clients/graphql/client.rb
328
330
  - lib/shopify_api/clients/graphql/storefront.rb
@@ -359,80 +361,6 @@ files:
359
361
  - lib/shopify_api/logger.rb
360
362
  - lib/shopify_api/rest/base.rb
361
363
  - lib/shopify_api/rest/base_errors.rb
362
- - lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb
363
- - lib/shopify_api/rest/resources/2022_01/access_scope.rb
364
- - lib/shopify_api/rest/resources/2022_01/android_pay_key.rb
365
- - lib/shopify_api/rest/resources/2022_01/apple_pay_certificate.rb
366
- - lib/shopify_api/rest/resources/2022_01/application_charge.rb
367
- - lib/shopify_api/rest/resources/2022_01/application_credit.rb
368
- - lib/shopify_api/rest/resources/2022_01/article.rb
369
- - lib/shopify_api/rest/resources/2022_01/asset.rb
370
- - lib/shopify_api/rest/resources/2022_01/assigned_fulfillment_order.rb
371
- - lib/shopify_api/rest/resources/2022_01/balance.rb
372
- - lib/shopify_api/rest/resources/2022_01/blog.rb
373
- - lib/shopify_api/rest/resources/2022_01/cancellation_request.rb
374
- - lib/shopify_api/rest/resources/2022_01/carrier_service.rb
375
- - lib/shopify_api/rest/resources/2022_01/checkout.rb
376
- - lib/shopify_api/rest/resources/2022_01/collect.rb
377
- - lib/shopify_api/rest/resources/2022_01/collection.rb
378
- - lib/shopify_api/rest/resources/2022_01/collection_listing.rb
379
- - lib/shopify_api/rest/resources/2022_01/comment.rb
380
- - lib/shopify_api/rest/resources/2022_01/country.rb
381
- - lib/shopify_api/rest/resources/2022_01/currency.rb
382
- - lib/shopify_api/rest/resources/2022_01/custom_collection.rb
383
- - lib/shopify_api/rest/resources/2022_01/customer.rb
384
- - lib/shopify_api/rest/resources/2022_01/customer_address.rb
385
- - lib/shopify_api/rest/resources/2022_01/customer_saved_search.rb
386
- - lib/shopify_api/rest/resources/2022_01/deprecated_api_call.rb
387
- - lib/shopify_api/rest/resources/2022_01/discount_code.rb
388
- - lib/shopify_api/rest/resources/2022_01/dispute.rb
389
- - lib/shopify_api/rest/resources/2022_01/draft_order.rb
390
- - lib/shopify_api/rest/resources/2022_01/event.rb
391
- - lib/shopify_api/rest/resources/2022_01/fulfillment.rb
392
- - lib/shopify_api/rest/resources/2022_01/fulfillment_event.rb
393
- - lib/shopify_api/rest/resources/2022_01/fulfillment_order.rb
394
- - lib/shopify_api/rest/resources/2022_01/fulfillment_request.rb
395
- - lib/shopify_api/rest/resources/2022_01/fulfillment_service.rb
396
- - lib/shopify_api/rest/resources/2022_01/gift_card.rb
397
- - lib/shopify_api/rest/resources/2022_01/gift_card_adjustment.rb
398
- - lib/shopify_api/rest/resources/2022_01/image.rb
399
- - lib/shopify_api/rest/resources/2022_01/inventory_item.rb
400
- - lib/shopify_api/rest/resources/2022_01/inventory_level.rb
401
- - lib/shopify_api/rest/resources/2022_01/location.rb
402
- - lib/shopify_api/rest/resources/2022_01/locations_for_move.rb
403
- - lib/shopify_api/rest/resources/2022_01/marketing_event.rb
404
- - lib/shopify_api/rest/resources/2022_01/metafield.rb
405
- - lib/shopify_api/rest/resources/2022_01/mobile_platform_application.rb
406
- - lib/shopify_api/rest/resources/2022_01/order.rb
407
- - lib/shopify_api/rest/resources/2022_01/order_risk.rb
408
- - lib/shopify_api/rest/resources/2022_01/page.rb
409
- - lib/shopify_api/rest/resources/2022_01/payment.rb
410
- - lib/shopify_api/rest/resources/2022_01/payment_gateway.rb
411
- - lib/shopify_api/rest/resources/2022_01/payment_transaction.rb
412
- - lib/shopify_api/rest/resources/2022_01/payout.rb
413
- - lib/shopify_api/rest/resources/2022_01/policy.rb
414
- - lib/shopify_api/rest/resources/2022_01/price_rule.rb
415
- - lib/shopify_api/rest/resources/2022_01/product.rb
416
- - lib/shopify_api/rest/resources/2022_01/product_listing.rb
417
- - lib/shopify_api/rest/resources/2022_01/product_resource_feedback.rb
418
- - lib/shopify_api/rest/resources/2022_01/province.rb
419
- - lib/shopify_api/rest/resources/2022_01/recurring_application_charge.rb
420
- - lib/shopify_api/rest/resources/2022_01/redirect.rb
421
- - lib/shopify_api/rest/resources/2022_01/refund.rb
422
- - lib/shopify_api/rest/resources/2022_01/report.rb
423
- - lib/shopify_api/rest/resources/2022_01/resource_feedback.rb
424
- - lib/shopify_api/rest/resources/2022_01/script_tag.rb
425
- - lib/shopify_api/rest/resources/2022_01/shipping_zone.rb
426
- - lib/shopify_api/rest/resources/2022_01/shop.rb
427
- - lib/shopify_api/rest/resources/2022_01/smart_collection.rb
428
- - lib/shopify_api/rest/resources/2022_01/storefront_access_token.rb
429
- - lib/shopify_api/rest/resources/2022_01/tender_transaction.rb
430
- - lib/shopify_api/rest/resources/2022_01/theme.rb
431
- - lib/shopify_api/rest/resources/2022_01/transaction.rb
432
- - lib/shopify_api/rest/resources/2022_01/usage_charge.rb
433
- - lib/shopify_api/rest/resources/2022_01/user.rb
434
- - lib/shopify_api/rest/resources/2022_01/variant.rb
435
- - lib/shopify_api/rest/resources/2022_01/webhook.rb
436
364
  - lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb
437
365
  - lib/shopify_api/rest/resources/2022_04/access_scope.rb
438
366
  - lib/shopify_api/rest/resources/2022_04/android_pay_key.rb
@@ -685,6 +613,8 @@ files:
685
613
  - lib/shopify_api/rest/resources/2023_01/deprecated_api_call.rb
686
614
  - lib/shopify_api/rest/resources/2023_01/discount_code.rb
687
615
  - lib/shopify_api/rest/resources/2023_01/dispute.rb
616
+ - lib/shopify_api/rest/resources/2023_01/dispute_evidence.rb
617
+ - lib/shopify_api/rest/resources/2023_01/dispute_file_upload.rb
688
618
  - lib/shopify_api/rest/resources/2023_01/draft_order.rb
689
619
  - lib/shopify_api/rest/resources/2023_01/event.rb
690
620
  - lib/shopify_api/rest/resources/2023_01/fulfillment.rb
@@ -732,6 +662,81 @@ files:
732
662
  - lib/shopify_api/rest/resources/2023_01/user.rb
733
663
  - lib/shopify_api/rest/resources/2023_01/variant.rb
734
664
  - lib/shopify_api/rest/resources/2023_01/webhook.rb
665
+ - lib/shopify_api/rest/resources/2023_04/abandoned_checkout.rb
666
+ - lib/shopify_api/rest/resources/2023_04/access_scope.rb
667
+ - lib/shopify_api/rest/resources/2023_04/apple_pay_certificate.rb
668
+ - lib/shopify_api/rest/resources/2023_04/application_charge.rb
669
+ - lib/shopify_api/rest/resources/2023_04/application_credit.rb
670
+ - lib/shopify_api/rest/resources/2023_04/article.rb
671
+ - lib/shopify_api/rest/resources/2023_04/asset.rb
672
+ - lib/shopify_api/rest/resources/2023_04/assigned_fulfillment_order.rb
673
+ - lib/shopify_api/rest/resources/2023_04/balance.rb
674
+ - lib/shopify_api/rest/resources/2023_04/blog.rb
675
+ - lib/shopify_api/rest/resources/2023_04/cancellation_request.rb
676
+ - lib/shopify_api/rest/resources/2023_04/carrier_service.rb
677
+ - lib/shopify_api/rest/resources/2023_04/checkout.rb
678
+ - lib/shopify_api/rest/resources/2023_04/collect.rb
679
+ - lib/shopify_api/rest/resources/2023_04/collection.rb
680
+ - lib/shopify_api/rest/resources/2023_04/collection_listing.rb
681
+ - lib/shopify_api/rest/resources/2023_04/comment.rb
682
+ - lib/shopify_api/rest/resources/2023_04/country.rb
683
+ - lib/shopify_api/rest/resources/2023_04/currency.rb
684
+ - lib/shopify_api/rest/resources/2023_04/custom_collection.rb
685
+ - lib/shopify_api/rest/resources/2023_04/customer.rb
686
+ - lib/shopify_api/rest/resources/2023_04/customer_address.rb
687
+ - lib/shopify_api/rest/resources/2023_04/customer_saved_search.rb
688
+ - lib/shopify_api/rest/resources/2023_04/deprecated_api_call.rb
689
+ - lib/shopify_api/rest/resources/2023_04/discount_code.rb
690
+ - lib/shopify_api/rest/resources/2023_04/dispute.rb
691
+ - lib/shopify_api/rest/resources/2023_04/dispute_evidence.rb
692
+ - lib/shopify_api/rest/resources/2023_04/dispute_file_upload.rb
693
+ - lib/shopify_api/rest/resources/2023_04/draft_order.rb
694
+ - lib/shopify_api/rest/resources/2023_04/event.rb
695
+ - lib/shopify_api/rest/resources/2023_04/fulfillment.rb
696
+ - lib/shopify_api/rest/resources/2023_04/fulfillment_event.rb
697
+ - lib/shopify_api/rest/resources/2023_04/fulfillment_order.rb
698
+ - lib/shopify_api/rest/resources/2023_04/fulfillment_request.rb
699
+ - lib/shopify_api/rest/resources/2023_04/fulfillment_service.rb
700
+ - lib/shopify_api/rest/resources/2023_04/gift_card.rb
701
+ - lib/shopify_api/rest/resources/2023_04/gift_card_adjustment.rb
702
+ - lib/shopify_api/rest/resources/2023_04/image.rb
703
+ - lib/shopify_api/rest/resources/2023_04/inventory_item.rb
704
+ - lib/shopify_api/rest/resources/2023_04/inventory_level.rb
705
+ - lib/shopify_api/rest/resources/2023_04/location.rb
706
+ - lib/shopify_api/rest/resources/2023_04/locations_for_move.rb
707
+ - lib/shopify_api/rest/resources/2023_04/marketing_event.rb
708
+ - lib/shopify_api/rest/resources/2023_04/metafield.rb
709
+ - lib/shopify_api/rest/resources/2023_04/mobile_platform_application.rb
710
+ - lib/shopify_api/rest/resources/2023_04/order.rb
711
+ - lib/shopify_api/rest/resources/2023_04/order_risk.rb
712
+ - lib/shopify_api/rest/resources/2023_04/page.rb
713
+ - lib/shopify_api/rest/resources/2023_04/payment.rb
714
+ - lib/shopify_api/rest/resources/2023_04/payment_gateway.rb
715
+ - lib/shopify_api/rest/resources/2023_04/payment_transaction.rb
716
+ - lib/shopify_api/rest/resources/2023_04/payout.rb
717
+ - lib/shopify_api/rest/resources/2023_04/policy.rb
718
+ - lib/shopify_api/rest/resources/2023_04/price_rule.rb
719
+ - lib/shopify_api/rest/resources/2023_04/product.rb
720
+ - lib/shopify_api/rest/resources/2023_04/product_listing.rb
721
+ - lib/shopify_api/rest/resources/2023_04/product_resource_feedback.rb
722
+ - lib/shopify_api/rest/resources/2023_04/province.rb
723
+ - lib/shopify_api/rest/resources/2023_04/recurring_application_charge.rb
724
+ - lib/shopify_api/rest/resources/2023_04/redirect.rb
725
+ - lib/shopify_api/rest/resources/2023_04/refund.rb
726
+ - lib/shopify_api/rest/resources/2023_04/report.rb
727
+ - lib/shopify_api/rest/resources/2023_04/resource_feedback.rb
728
+ - lib/shopify_api/rest/resources/2023_04/script_tag.rb
729
+ - lib/shopify_api/rest/resources/2023_04/shipping_zone.rb
730
+ - lib/shopify_api/rest/resources/2023_04/shop.rb
731
+ - lib/shopify_api/rest/resources/2023_04/smart_collection.rb
732
+ - lib/shopify_api/rest/resources/2023_04/storefront_access_token.rb
733
+ - lib/shopify_api/rest/resources/2023_04/tender_transaction.rb
734
+ - lib/shopify_api/rest/resources/2023_04/theme.rb
735
+ - lib/shopify_api/rest/resources/2023_04/transaction.rb
736
+ - lib/shopify_api/rest/resources/2023_04/usage_charge.rb
737
+ - lib/shopify_api/rest/resources/2023_04/user.rb
738
+ - lib/shopify_api/rest/resources/2023_04/variant.rb
739
+ - lib/shopify_api/rest/resources/2023_04/webhook.rb
735
740
  - lib/shopify_api/utils/graphql_proxy.rb
736
741
  - lib/shopify_api/utils/hmac_validator.rb
737
742
  - lib/shopify_api/utils/http_utils.rb
@@ -802,7 +807,7 @@ files:
802
807
  - sorbet/rbi/todo.rbi
803
808
  - sorbet/tapioca/config.yml
804
809
  - sorbet/tapioca/require.rb
805
- homepage: https://shopify.dev/apps
810
+ homepage: https://shopify.dev/docs/apps
806
811
  licenses:
807
812
  - MIT
808
813
  metadata:
@@ -823,7 +828,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
823
828
  - !ruby/object:Gem::Version
824
829
  version: '0'
825
830
  requirements: []
826
- rubygems_version: 3.3.3
831
+ rubygems_version: 3.4.13
827
832
  signing_key:
828
833
  specification_version: 4
829
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