shopify_api 10.0.0 → 10.0.1
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.
- checksums.yaml +4 -4
- data/.github/pull_request_template.md +2 -2
- data/.github/workflows/build.yml +1 -0
- data/CHANGELOG.md +227 -212
- data/Gemfile.lock +1 -1
- data/lib/shopify_api/admin_versions.rb +14 -9
- data/lib/shopify_api/context.rb +2 -2
- data/lib/shopify_api/rest/base.rb +73 -31
- data/lib/shopify_api/rest/resources/2021_07/abandoned_checkout.rb +3 -4
- data/lib/shopify_api/rest/resources/2021_07/article.rb +9 -2
- data/lib/shopify_api/rest/resources/2021_07/gift_card_adjustment.rb +1 -1
- data/lib/shopify_api/rest/resources/2021_07/variant.rb +4 -0
- data/lib/shopify_api/rest/resources/2021_10/abandoned_checkout.rb +3 -4
- data/lib/shopify_api/rest/resources/2021_10/article.rb +9 -2
- data/lib/shopify_api/rest/resources/2021_10/gift_card_adjustment.rb +1 -1
- data/lib/shopify_api/rest/resources/2021_10/variant.rb +4 -0
- data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +3 -4
- data/lib/shopify_api/rest/resources/2022_01/article.rb +9 -2
- data/lib/shopify_api/rest/resources/2022_01/gift_card_adjustment.rb +1 -1
- data/lib/shopify_api/rest/resources/2022_01/variant.rb +4 -0
- data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +3 -4
- data/lib/shopify_api/rest/resources/2022_04/article.rb +9 -2
- data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +1 -1
- data/lib/shopify_api/rest/resources/2022_04/variant.rb +4 -0
- data/lib/shopify_api/version.rb +1 -1
- metadata +2 -2
data/Gemfile.lock
CHANGED
@@ -2,14 +2,19 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module ShopifyAPI
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
module AdminVersions
|
6
|
+
SUPPORTED_ADMIN_VERSIONS = T.let([
|
7
|
+
"unstable",
|
8
|
+
"2022-04",
|
9
|
+
"2022-01",
|
10
|
+
"2021-10",
|
11
|
+
"2021-07",
|
12
|
+
"2021-04",
|
13
|
+
], T::Array[String])
|
13
14
|
|
14
|
-
|
15
|
+
LATEST_SUPPORTED_ADMIN_VERSION = T.let("2022-01", String)
|
16
|
+
end
|
17
|
+
|
18
|
+
SUPPORTED_ADMIN_VERSIONS = ShopifyAPI::AdminVersions::SUPPORTED_ADMIN_VERSIONS
|
19
|
+
LATEST_SUPPORTED_ADMIN_VERSION = ShopifyAPI::AdminVersions::LATEST_SUPPORTED_ADMIN_VERSION
|
15
20
|
end
|
data/lib/shopify_api/context.rb
CHANGED
@@ -52,9 +52,9 @@ module ShopifyAPI
|
|
52
52
|
private_shop: nil,
|
53
53
|
user_agent_prefix: nil
|
54
54
|
)
|
55
|
-
unless SUPPORTED_ADMIN_VERSIONS.include?(api_version)
|
55
|
+
unless ShopifyAPI::AdminVersions::SUPPORTED_ADMIN_VERSIONS.include?(api_version)
|
56
56
|
raise Errors::UnsupportedVersionError,
|
57
|
-
"Invalid vession #{api_version}, supported versions: #{SUPPORTED_ADMIN_VERSIONS}"
|
57
|
+
"Invalid vession #{api_version}, supported versions: #{ShopifyAPI::AdminVersions::SUPPORTED_ADMIN_VERSIONS}"
|
58
58
|
end
|
59
59
|
|
60
60
|
@api_key = api_key
|
@@ -15,6 +15,8 @@ module ShopifyAPI
|
|
15
15
|
@has_many = T.let({}, T::Hash[Symbol, Class])
|
16
16
|
@paths = T.let([], T::Array[T::Hash[Symbol, T.any(T::Array[Symbol], String, Symbol)]])
|
17
17
|
@custom_prefix = T.let(nil, T.nilable(String))
|
18
|
+
@read_only_attributes = T.let([], T.nilable(T::Array[Symbol]))
|
19
|
+
@aliased_properties = T.let({}, T::Hash[String, String])
|
18
20
|
|
19
21
|
sig { returns(T::Hash[Symbol, T.untyped]) }
|
20
22
|
attr_accessor :original_state
|
@@ -32,6 +34,7 @@ module ShopifyAPI
|
|
32
34
|
@original_state = T.let({}, T::Hash[Symbol, T.untyped])
|
33
35
|
@custom_prefix = T.let(nil, T.nilable(String))
|
34
36
|
@forced_nils = T.let({}, T::Hash[String, T::Boolean])
|
37
|
+
@aliased_properties = T.let({}, T::Hash[String, String])
|
35
38
|
|
36
39
|
session ||= ShopifyAPI::Context.active_session
|
37
40
|
|
@@ -42,7 +45,7 @@ module ShopifyAPI
|
|
42
45
|
@errors = T.let(Rest::BaseErrors.new, Rest::BaseErrors)
|
43
46
|
|
44
47
|
from_hash&.each do |key, value|
|
45
|
-
|
48
|
+
set_property(key, value)
|
46
49
|
end
|
47
50
|
end
|
48
51
|
|
@@ -118,6 +121,11 @@ module ShopifyAPI
|
|
118
121
|
@has_one.include?(attribute)
|
119
122
|
end
|
120
123
|
|
124
|
+
sig { returns(T.nilable(T::Array[Symbol])) }
|
125
|
+
def read_only_attributes
|
126
|
+
@read_only_attributes&.map { |a| :"@#{a}" }
|
127
|
+
end
|
128
|
+
|
121
129
|
sig do
|
122
130
|
params(
|
123
131
|
http_method: Symbol,
|
@@ -209,24 +217,21 @@ module ShopifyAPI
|
|
209
217
|
instance ||= new(session: session)
|
210
218
|
instance.original_state = {}
|
211
219
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
attr_list
|
219
|
-
data[attribute.to_s].each do |element|
|
220
|
-
attr_list << T.unsafe(@has_many[attribute]).create_instance(data: element, session: session)
|
221
|
-
end
|
222
|
-
instance.public_send("#{attribute}=", attr_list)
|
223
|
-
elsif has_one?(attribute) && data[attribute.to_s]
|
224
|
-
instance.public_send("#{attribute}=",
|
225
|
-
T.unsafe(@has_one[attribute]).create_instance(data: data[attribute.to_s], session: session))
|
226
|
-
else
|
227
|
-
instance.public_send("#{attribute}=", data[attribute.to_s])
|
228
|
-
instance.original_state[attribute] = data[attribute.to_s]
|
220
|
+
data.each do |attribute, value|
|
221
|
+
attr_sym = attribute.to_sym
|
222
|
+
|
223
|
+
if has_many?(attr_sym) && value
|
224
|
+
attr_list = []
|
225
|
+
value.each do |element|
|
226
|
+
attr_list << T.unsafe(@has_many[attr_sym]).create_instance(data: element, session: session)
|
229
227
|
end
|
228
|
+
instance.public_send("#{attribute}=", attr_list)
|
229
|
+
elsif has_one?(attr_sym) && value
|
230
|
+
instance.public_send("#{attribute}=",
|
231
|
+
T.unsafe(@has_one[attr_sym]).create_instance(data: value, session: session))
|
232
|
+
else
|
233
|
+
instance.public_send("#{attribute}=", value)
|
234
|
+
instance.original_state[attr_sym] = value
|
230
235
|
end
|
231
236
|
end
|
232
237
|
|
@@ -234,16 +239,18 @@ module ShopifyAPI
|
|
234
239
|
end
|
235
240
|
end
|
236
241
|
|
237
|
-
sig { params(meth_id: Symbol, val: T.untyped).
|
242
|
+
sig { params(meth_id: Symbol, val: T.untyped).returns(T.untyped) }
|
238
243
|
def method_missing(meth_id, val = nil)
|
239
|
-
match = meth_id.id2name.match(/([^=]+)
|
240
|
-
|
241
|
-
return super unless match
|
244
|
+
match = meth_id.id2name.match(/([^=]+)(=)?/)
|
242
245
|
|
243
|
-
var = match[1]
|
246
|
+
var = T.must(T.must(match)[1])
|
244
247
|
|
245
|
-
|
246
|
-
|
248
|
+
if T.must(match)[2]
|
249
|
+
set_property(var, val)
|
250
|
+
@forced_nils[var] = val.nil?
|
251
|
+
else
|
252
|
+
get_property(var)
|
253
|
+
end
|
247
254
|
end
|
248
255
|
|
249
256
|
sig { params(meth_id: Symbol, args: T.untyped).void }
|
@@ -258,17 +265,31 @@ module ShopifyAPI
|
|
258
265
|
def to_hash
|
259
266
|
hash = {}
|
260
267
|
instance_variables.each do |var|
|
261
|
-
next if [
|
268
|
+
next if [
|
269
|
+
:"@original_state",
|
270
|
+
:"@session",
|
271
|
+
:"@client",
|
272
|
+
:"@forced_nils",
|
273
|
+
:"@errors",
|
274
|
+
:"@aliased_properties",
|
275
|
+
].include?(var)
|
276
|
+
next if self.class.read_only_attributes&.include?(var)
|
277
|
+
|
278
|
+
var = var.to_s.delete("@")
|
279
|
+
attribute = if @aliased_properties.value?(var)
|
280
|
+
T.must(@aliased_properties.key(var))
|
281
|
+
else
|
282
|
+
var
|
283
|
+
end.to_sym
|
262
284
|
|
263
|
-
attribute = var.to_s.delete("@").to_sym
|
264
285
|
if self.class.has_many?(attribute)
|
265
|
-
hash[attribute.to_s] =
|
286
|
+
hash[attribute.to_s] = get_property(attribute).map(&:to_hash).to_a if get_property(attribute)
|
266
287
|
elsif self.class.has_one?(attribute)
|
267
|
-
element_hash =
|
288
|
+
element_hash = get_property(attribute)&.to_hash
|
268
289
|
hash[attribute.to_s] = element_hash if element_hash || @forced_nils[attribute.to_s]
|
269
|
-
elsif !
|
290
|
+
elsif !get_property(attribute).nil? || @forced_nils[attribute.to_s]
|
270
291
|
hash[attribute.to_s] =
|
271
|
-
|
292
|
+
get_property(attribute)
|
272
293
|
end
|
273
294
|
end
|
274
295
|
hash
|
@@ -313,6 +334,27 @@ module ShopifyAPI
|
|
313
334
|
@errors.errors << e
|
314
335
|
raise
|
315
336
|
end
|
337
|
+
|
338
|
+
private
|
339
|
+
|
340
|
+
sig { params(key: T.any(String, Symbol), val: T.untyped).void }
|
341
|
+
def set_property(key, val)
|
342
|
+
# Some API fields contain invalid characters, like `?`, which causes issues when setting them as instance
|
343
|
+
# variables. To work around that, we're cleaning them up here but keeping track of the properties that were
|
344
|
+
# aliased this way. When loading up the property, we can map back from the "invalid" field so that it is
|
345
|
+
# transparent to outside callers
|
346
|
+
clean_key = key.to_s.gsub(/[\?\s]/, "")
|
347
|
+
@aliased_properties[key.to_s] = clean_key if clean_key != key
|
348
|
+
|
349
|
+
instance_variable_set("@#{clean_key}", val)
|
350
|
+
end
|
351
|
+
|
352
|
+
sig { params(key: T.any(String, Symbol)).returns(T.untyped) }
|
353
|
+
def get_property(key)
|
354
|
+
clean_key = @aliased_properties.key?(key.to_s) ? @aliased_properties[key.to_s] : key
|
355
|
+
|
356
|
+
instance_variable_get("@#{clean_key}")
|
357
|
+
end
|
316
358
|
end
|
317
359
|
end
|
318
360
|
end
|
@@ -61,7 +61,6 @@ module ShopifyAPI
|
|
61
61
|
discount_codes: DiscountCode
|
62
62
|
}, T::Hash[Symbol, Class])
|
63
63
|
@paths = T.let([
|
64
|
-
{http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"},
|
65
64
|
{http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"}
|
66
65
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
67
66
|
|
@@ -147,25 +146,25 @@ module ShopifyAPI
|
|
147
146
|
class << self
|
148
147
|
sig do
|
149
148
|
params(
|
149
|
+
limit: T.untyped,
|
150
150
|
since_id: T.untyped,
|
151
151
|
created_at_min: T.untyped,
|
152
152
|
created_at_max: T.untyped,
|
153
153
|
updated_at_min: T.untyped,
|
154
154
|
updated_at_max: T.untyped,
|
155
155
|
status: T.untyped,
|
156
|
-
limit: T.untyped,
|
157
156
|
session: Auth::Session,
|
158
157
|
kwargs: T.untyped
|
159
158
|
).returns(T.untyped)
|
160
159
|
end
|
161
160
|
def checkouts(
|
161
|
+
limit: nil,
|
162
162
|
since_id: nil,
|
163
163
|
created_at_min: nil,
|
164
164
|
created_at_max: nil,
|
165
165
|
updated_at_min: nil,
|
166
166
|
updated_at_max: nil,
|
167
167
|
status: nil,
|
168
|
-
limit: nil,
|
169
168
|
session: ShopifyAPI::Context.active_session,
|
170
169
|
**kwargs
|
171
170
|
)
|
@@ -174,7 +173,7 @@ module ShopifyAPI
|
|
174
173
|
operation: :checkouts,
|
175
174
|
session: session,
|
176
175
|
ids: {},
|
177
|
-
params: {since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status
|
176
|
+
params: {limit: limit, since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status}.merge(kwargs).compact,
|
178
177
|
body: {},
|
179
178
|
entity: nil,
|
180
179
|
)
|
@@ -41,6 +41,7 @@ module ShopifyAPI
|
|
41
41
|
{http_method: :get, operation: :get, ids: [:blog_id], path: "blogs/<blog_id>/articles.json"},
|
42
42
|
{http_method: :get, operation: :get, ids: [:blog_id, :id], path: "blogs/<blog_id>/articles/<id>.json"},
|
43
43
|
{http_method: :get, operation: :tags, ids: [], path: "articles/tags.json"},
|
44
|
+
{http_method: :get, operation: :tags, ids: [:blog_id], path: "blogs/<blog_id>/articles/tags.json"},
|
44
45
|
{http_method: :post, operation: :post, ids: [:blog_id], path: "blogs/<blog_id>/articles.json"},
|
45
46
|
{http_method: :put, operation: :put, ids: [:blog_id, :id], path: "blogs/<blog_id>/articles/<id>.json"}
|
46
47
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
@@ -229,11 +230,17 @@ module ShopifyAPI
|
|
229
230
|
|
230
231
|
sig do
|
231
232
|
params(
|
233
|
+
blog_id: T.nilable(T.any(Integer, String)),
|
234
|
+
limit: T.untyped,
|
235
|
+
popular: T.untyped,
|
232
236
|
session: Auth::Session,
|
233
237
|
kwargs: T.untyped
|
234
238
|
).returns(T.untyped)
|
235
239
|
end
|
236
240
|
def tags(
|
241
|
+
blog_id: nil,
|
242
|
+
limit: nil,
|
243
|
+
popular: nil,
|
237
244
|
session: ShopifyAPI::Context.active_session,
|
238
245
|
**kwargs
|
239
246
|
)
|
@@ -241,8 +248,8 @@ module ShopifyAPI
|
|
241
248
|
http_method: :get,
|
242
249
|
operation: :tags,
|
243
250
|
session: session,
|
244
|
-
ids: {},
|
245
|
-
params: {}.merge(kwargs).compact,
|
251
|
+
ids: {blog_id: blog_id},
|
252
|
+
params: {limit: limit, popular: popular}.merge(kwargs).compact,
|
246
253
|
body: {},
|
247
254
|
entity: nil,
|
248
255
|
)
|
@@ -30,7 +30,7 @@ module ShopifyAPI
|
|
30
30
|
@has_many = T.let({}, T::Hash[Symbol, Class])
|
31
31
|
@paths = T.let([
|
32
32
|
{http_method: :get, operation: :get, ids: [:gift_card_id], path: "gift_cards/<gift_card_id>/adjustments.json"},
|
33
|
-
{http_method: :get, operation: :get, ids: [:gift_card_id, :id], path: "gift_cards/<gift_card_id>/adjustments
|
33
|
+
{http_method: :get, operation: :get, ids: [:gift_card_id, :id], path: "gift_cards/<gift_card_id>/adjustments/<id>.json"},
|
34
34
|
{http_method: :post, operation: :post, ids: [:gift_card_id], path: "gift_cards/<gift_card_id>/adjustments.json"}
|
35
35
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
36
36
|
|
@@ -50,6 +50,10 @@ module ShopifyAPI
|
|
50
50
|
{http_method: :post, operation: :post, ids: [:product_id], path: "products/<product_id>/variants.json"},
|
51
51
|
{http_method: :put, operation: :put, ids: [:id], path: "variants/<id>.json"}
|
52
52
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
53
|
+
@read_only_attributes = T.let([
|
54
|
+
:inventory_quantity,
|
55
|
+
:inventory_quantity_adjustment
|
56
|
+
], T::Array[Symbol])
|
53
57
|
|
54
58
|
sig { returns(T.nilable(String)) }
|
55
59
|
attr_reader :barcode
|
@@ -61,7 +61,6 @@ module ShopifyAPI
|
|
61
61
|
discount_codes: DiscountCode
|
62
62
|
}, T::Hash[Symbol, Class])
|
63
63
|
@paths = T.let([
|
64
|
-
{http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"},
|
65
64
|
{http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"}
|
66
65
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
67
66
|
|
@@ -147,25 +146,25 @@ module ShopifyAPI
|
|
147
146
|
class << self
|
148
147
|
sig do
|
149
148
|
params(
|
149
|
+
limit: T.untyped,
|
150
150
|
since_id: T.untyped,
|
151
151
|
created_at_min: T.untyped,
|
152
152
|
created_at_max: T.untyped,
|
153
153
|
updated_at_min: T.untyped,
|
154
154
|
updated_at_max: T.untyped,
|
155
155
|
status: T.untyped,
|
156
|
-
limit: T.untyped,
|
157
156
|
session: Auth::Session,
|
158
157
|
kwargs: T.untyped
|
159
158
|
).returns(T.untyped)
|
160
159
|
end
|
161
160
|
def checkouts(
|
161
|
+
limit: nil,
|
162
162
|
since_id: nil,
|
163
163
|
created_at_min: nil,
|
164
164
|
created_at_max: nil,
|
165
165
|
updated_at_min: nil,
|
166
166
|
updated_at_max: nil,
|
167
167
|
status: nil,
|
168
|
-
limit: nil,
|
169
168
|
session: ShopifyAPI::Context.active_session,
|
170
169
|
**kwargs
|
171
170
|
)
|
@@ -174,7 +173,7 @@ module ShopifyAPI
|
|
174
173
|
operation: :checkouts,
|
175
174
|
session: session,
|
176
175
|
ids: {},
|
177
|
-
params: {since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status
|
176
|
+
params: {limit: limit, since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status}.merge(kwargs).compact,
|
178
177
|
body: {},
|
179
178
|
entity: nil,
|
180
179
|
)
|
@@ -41,6 +41,7 @@ module ShopifyAPI
|
|
41
41
|
{http_method: :get, operation: :get, ids: [:blog_id], path: "blogs/<blog_id>/articles.json"},
|
42
42
|
{http_method: :get, operation: :get, ids: [:blog_id, :id], path: "blogs/<blog_id>/articles/<id>.json"},
|
43
43
|
{http_method: :get, operation: :tags, ids: [], path: "articles/tags.json"},
|
44
|
+
{http_method: :get, operation: :tags, ids: [:blog_id], path: "blogs/<blog_id>/articles/tags.json"},
|
44
45
|
{http_method: :post, operation: :post, ids: [:blog_id], path: "blogs/<blog_id>/articles.json"},
|
45
46
|
{http_method: :put, operation: :put, ids: [:blog_id, :id], path: "blogs/<blog_id>/articles/<id>.json"}
|
46
47
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
@@ -229,11 +230,17 @@ module ShopifyAPI
|
|
229
230
|
|
230
231
|
sig do
|
231
232
|
params(
|
233
|
+
blog_id: T.nilable(T.any(Integer, String)),
|
234
|
+
limit: T.untyped,
|
235
|
+
popular: T.untyped,
|
232
236
|
session: Auth::Session,
|
233
237
|
kwargs: T.untyped
|
234
238
|
).returns(T.untyped)
|
235
239
|
end
|
236
240
|
def tags(
|
241
|
+
blog_id: nil,
|
242
|
+
limit: nil,
|
243
|
+
popular: nil,
|
237
244
|
session: ShopifyAPI::Context.active_session,
|
238
245
|
**kwargs
|
239
246
|
)
|
@@ -241,8 +248,8 @@ module ShopifyAPI
|
|
241
248
|
http_method: :get,
|
242
249
|
operation: :tags,
|
243
250
|
session: session,
|
244
|
-
ids: {},
|
245
|
-
params: {}.merge(kwargs).compact,
|
251
|
+
ids: {blog_id: blog_id},
|
252
|
+
params: {limit: limit, popular: popular}.merge(kwargs).compact,
|
246
253
|
body: {},
|
247
254
|
entity: nil,
|
248
255
|
)
|
@@ -30,7 +30,7 @@ module ShopifyAPI
|
|
30
30
|
@has_many = T.let({}, T::Hash[Symbol, Class])
|
31
31
|
@paths = T.let([
|
32
32
|
{http_method: :get, operation: :get, ids: [:gift_card_id], path: "gift_cards/<gift_card_id>/adjustments.json"},
|
33
|
-
{http_method: :get, operation: :get, ids: [:gift_card_id, :id], path: "gift_cards/<gift_card_id>/adjustments
|
33
|
+
{http_method: :get, operation: :get, ids: [:gift_card_id, :id], path: "gift_cards/<gift_card_id>/adjustments/<id>.json"},
|
34
34
|
{http_method: :post, operation: :post, ids: [:gift_card_id], path: "gift_cards/<gift_card_id>/adjustments.json"}
|
35
35
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
36
36
|
|
@@ -50,6 +50,10 @@ module ShopifyAPI
|
|
50
50
|
{http_method: :post, operation: :post, ids: [:product_id], path: "products/<product_id>/variants.json"},
|
51
51
|
{http_method: :put, operation: :put, ids: [:id], path: "variants/<id>.json"}
|
52
52
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
53
|
+
@read_only_attributes = T.let([
|
54
|
+
:inventory_quantity,
|
55
|
+
:inventory_quantity_adjustment
|
56
|
+
], T::Array[Symbol])
|
53
57
|
|
54
58
|
sig { returns(T.nilable(String)) }
|
55
59
|
attr_reader :barcode
|
@@ -61,7 +61,6 @@ module ShopifyAPI
|
|
61
61
|
discount_codes: DiscountCode
|
62
62
|
}, T::Hash[Symbol, Class])
|
63
63
|
@paths = T.let([
|
64
|
-
{http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"},
|
65
64
|
{http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"}
|
66
65
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
67
66
|
|
@@ -147,25 +146,25 @@ module ShopifyAPI
|
|
147
146
|
class << self
|
148
147
|
sig do
|
149
148
|
params(
|
149
|
+
limit: T.untyped,
|
150
150
|
since_id: T.untyped,
|
151
151
|
created_at_min: T.untyped,
|
152
152
|
created_at_max: T.untyped,
|
153
153
|
updated_at_min: T.untyped,
|
154
154
|
updated_at_max: T.untyped,
|
155
155
|
status: T.untyped,
|
156
|
-
limit: T.untyped,
|
157
156
|
session: Auth::Session,
|
158
157
|
kwargs: T.untyped
|
159
158
|
).returns(T.untyped)
|
160
159
|
end
|
161
160
|
def checkouts(
|
161
|
+
limit: nil,
|
162
162
|
since_id: nil,
|
163
163
|
created_at_min: nil,
|
164
164
|
created_at_max: nil,
|
165
165
|
updated_at_min: nil,
|
166
166
|
updated_at_max: nil,
|
167
167
|
status: nil,
|
168
|
-
limit: nil,
|
169
168
|
session: ShopifyAPI::Context.active_session,
|
170
169
|
**kwargs
|
171
170
|
)
|
@@ -174,7 +173,7 @@ module ShopifyAPI
|
|
174
173
|
operation: :checkouts,
|
175
174
|
session: session,
|
176
175
|
ids: {},
|
177
|
-
params: {since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status
|
176
|
+
params: {limit: limit, since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status}.merge(kwargs).compact,
|
178
177
|
body: {},
|
179
178
|
entity: nil,
|
180
179
|
)
|
@@ -41,6 +41,7 @@ module ShopifyAPI
|
|
41
41
|
{http_method: :get, operation: :get, ids: [:blog_id], path: "blogs/<blog_id>/articles.json"},
|
42
42
|
{http_method: :get, operation: :get, ids: [:blog_id, :id], path: "blogs/<blog_id>/articles/<id>.json"},
|
43
43
|
{http_method: :get, operation: :tags, ids: [], path: "articles/tags.json"},
|
44
|
+
{http_method: :get, operation: :tags, ids: [:blog_id], path: "blogs/<blog_id>/articles/tags.json"},
|
44
45
|
{http_method: :post, operation: :post, ids: [:blog_id], path: "blogs/<blog_id>/articles.json"},
|
45
46
|
{http_method: :put, operation: :put, ids: [:blog_id, :id], path: "blogs/<blog_id>/articles/<id>.json"}
|
46
47
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
@@ -229,11 +230,17 @@ module ShopifyAPI
|
|
229
230
|
|
230
231
|
sig do
|
231
232
|
params(
|
233
|
+
blog_id: T.nilable(T.any(Integer, String)),
|
234
|
+
limit: T.untyped,
|
235
|
+
popular: T.untyped,
|
232
236
|
session: Auth::Session,
|
233
237
|
kwargs: T.untyped
|
234
238
|
).returns(T.untyped)
|
235
239
|
end
|
236
240
|
def tags(
|
241
|
+
blog_id: nil,
|
242
|
+
limit: nil,
|
243
|
+
popular: nil,
|
237
244
|
session: ShopifyAPI::Context.active_session,
|
238
245
|
**kwargs
|
239
246
|
)
|
@@ -241,8 +248,8 @@ module ShopifyAPI
|
|
241
248
|
http_method: :get,
|
242
249
|
operation: :tags,
|
243
250
|
session: session,
|
244
|
-
ids: {},
|
245
|
-
params: {}.merge(kwargs).compact,
|
251
|
+
ids: {blog_id: blog_id},
|
252
|
+
params: {limit: limit, popular: popular}.merge(kwargs).compact,
|
246
253
|
body: {},
|
247
254
|
entity: nil,
|
248
255
|
)
|
@@ -30,7 +30,7 @@ module ShopifyAPI
|
|
30
30
|
@has_many = T.let({}, T::Hash[Symbol, Class])
|
31
31
|
@paths = T.let([
|
32
32
|
{http_method: :get, operation: :get, ids: [:gift_card_id], path: "gift_cards/<gift_card_id>/adjustments.json"},
|
33
|
-
{http_method: :get, operation: :get, ids: [:gift_card_id, :id], path: "gift_cards/<gift_card_id>/adjustments
|
33
|
+
{http_method: :get, operation: :get, ids: [:gift_card_id, :id], path: "gift_cards/<gift_card_id>/adjustments/<id>.json"},
|
34
34
|
{http_method: :post, operation: :post, ids: [:gift_card_id], path: "gift_cards/<gift_card_id>/adjustments.json"}
|
35
35
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
36
36
|
|
@@ -50,6 +50,10 @@ module ShopifyAPI
|
|
50
50
|
{http_method: :post, operation: :post, ids: [:product_id], path: "products/<product_id>/variants.json"},
|
51
51
|
{http_method: :put, operation: :put, ids: [:id], path: "variants/<id>.json"}
|
52
52
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
53
|
+
@read_only_attributes = T.let([
|
54
|
+
:inventory_quantity,
|
55
|
+
:inventory_quantity_adjustment
|
56
|
+
], T::Array[Symbol])
|
53
57
|
|
54
58
|
sig { returns(T.nilable(String)) }
|
55
59
|
attr_reader :barcode
|
@@ -61,7 +61,6 @@ module ShopifyAPI
|
|
61
61
|
discount_codes: DiscountCode
|
62
62
|
}, T::Hash[Symbol, Class])
|
63
63
|
@paths = T.let([
|
64
|
-
{http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"},
|
65
64
|
{http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"}
|
66
65
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
67
66
|
|
@@ -147,25 +146,25 @@ module ShopifyAPI
|
|
147
146
|
class << self
|
148
147
|
sig do
|
149
148
|
params(
|
149
|
+
limit: T.untyped,
|
150
150
|
since_id: T.untyped,
|
151
151
|
created_at_min: T.untyped,
|
152
152
|
created_at_max: T.untyped,
|
153
153
|
updated_at_min: T.untyped,
|
154
154
|
updated_at_max: T.untyped,
|
155
155
|
status: T.untyped,
|
156
|
-
limit: T.untyped,
|
157
156
|
session: Auth::Session,
|
158
157
|
kwargs: T.untyped
|
159
158
|
).returns(T.untyped)
|
160
159
|
end
|
161
160
|
def checkouts(
|
161
|
+
limit: nil,
|
162
162
|
since_id: nil,
|
163
163
|
created_at_min: nil,
|
164
164
|
created_at_max: nil,
|
165
165
|
updated_at_min: nil,
|
166
166
|
updated_at_max: nil,
|
167
167
|
status: nil,
|
168
|
-
limit: nil,
|
169
168
|
session: ShopifyAPI::Context.active_session,
|
170
169
|
**kwargs
|
171
170
|
)
|
@@ -174,7 +173,7 @@ module ShopifyAPI
|
|
174
173
|
operation: :checkouts,
|
175
174
|
session: session,
|
176
175
|
ids: {},
|
177
|
-
params: {since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status
|
176
|
+
params: {limit: limit, since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status}.merge(kwargs).compact,
|
178
177
|
body: {},
|
179
178
|
entity: nil,
|
180
179
|
)
|
@@ -41,6 +41,7 @@ module ShopifyAPI
|
|
41
41
|
{http_method: :get, operation: :get, ids: [:blog_id], path: "blogs/<blog_id>/articles.json"},
|
42
42
|
{http_method: :get, operation: :get, ids: [:blog_id, :id], path: "blogs/<blog_id>/articles/<id>.json"},
|
43
43
|
{http_method: :get, operation: :tags, ids: [], path: "articles/tags.json"},
|
44
|
+
{http_method: :get, operation: :tags, ids: [:blog_id], path: "blogs/<blog_id>/articles/tags.json"},
|
44
45
|
{http_method: :post, operation: :post, ids: [:blog_id], path: "blogs/<blog_id>/articles.json"},
|
45
46
|
{http_method: :put, operation: :put, ids: [:blog_id, :id], path: "blogs/<blog_id>/articles/<id>.json"}
|
46
47
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
@@ -229,11 +230,17 @@ module ShopifyAPI
|
|
229
230
|
|
230
231
|
sig do
|
231
232
|
params(
|
233
|
+
blog_id: T.nilable(T.any(Integer, String)),
|
234
|
+
limit: T.untyped,
|
235
|
+
popular: T.untyped,
|
232
236
|
session: Auth::Session,
|
233
237
|
kwargs: T.untyped
|
234
238
|
).returns(T.untyped)
|
235
239
|
end
|
236
240
|
def tags(
|
241
|
+
blog_id: nil,
|
242
|
+
limit: nil,
|
243
|
+
popular: nil,
|
237
244
|
session: ShopifyAPI::Context.active_session,
|
238
245
|
**kwargs
|
239
246
|
)
|
@@ -241,8 +248,8 @@ module ShopifyAPI
|
|
241
248
|
http_method: :get,
|
242
249
|
operation: :tags,
|
243
250
|
session: session,
|
244
|
-
ids: {},
|
245
|
-
params: {}.merge(kwargs).compact,
|
251
|
+
ids: {blog_id: blog_id},
|
252
|
+
params: {limit: limit, popular: popular}.merge(kwargs).compact,
|
246
253
|
body: {},
|
247
254
|
entity: nil,
|
248
255
|
)
|
@@ -30,7 +30,7 @@ module ShopifyAPI
|
|
30
30
|
@has_many = T.let({}, T::Hash[Symbol, Class])
|
31
31
|
@paths = T.let([
|
32
32
|
{http_method: :get, operation: :get, ids: [:gift_card_id], path: "gift_cards/<gift_card_id>/adjustments.json"},
|
33
|
-
{http_method: :get, operation: :get, ids: [:gift_card_id, :id], path: "gift_cards/<gift_card_id>/adjustments
|
33
|
+
{http_method: :get, operation: :get, ids: [:gift_card_id, :id], path: "gift_cards/<gift_card_id>/adjustments/<id>.json"},
|
34
34
|
{http_method: :post, operation: :post, ids: [:gift_card_id], path: "gift_cards/<gift_card_id>/adjustments.json"}
|
35
35
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
36
36
|
|
@@ -50,6 +50,10 @@ module ShopifyAPI
|
|
50
50
|
{http_method: :post, operation: :post, ids: [:product_id], path: "products/<product_id>/variants.json"},
|
51
51
|
{http_method: :put, operation: :put, ids: [:id], path: "variants/<id>.json"}
|
52
52
|
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
53
|
+
@read_only_attributes = T.let([
|
54
|
+
:inventory_quantity,
|
55
|
+
:inventory_quantity_adjustment
|
56
|
+
], T::Array[Symbol])
|
53
57
|
|
54
58
|
sig { returns(T.nilable(String)) }
|
55
59
|
attr_reader :barcode
|
data/lib/shopify_api/version.rb
CHANGED