Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 2022-07, remove 2021-07 REST Resources #987

Merged
merged 5 commits into from
Jul 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ jobs:
strategy:
matrix:
version:
- 2.6
- 2.7
- 3.0
- 3.1
Expand Down
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ require:
- rubocop-sorbet

AllCops:
TargetRubyVersion: 2.6
TargetRubyVersion: 2.7
NewCops: enable
Exclude:
- "sorbet/**/*"
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Note: For changes to the API, see https://shopify.dev/changelog?filter=api

## Unreleased

- [#987](https://github.com/Shopify/shopify_api/pull/987) ⚠️ [Breaking] Add REST resources for July 2022 API version, remove support and REST resources for July 2021 (`2021-07`) API version
- [#979](https://github.com/Shopify/shopify_api/pull/979) Update `ShopifyAPI::Context.setup` to take `old_api_secret_key` to support API credentials rotation
- [#977](https://github.com/Shopify/shopify_api/pull/977) Fix webhook requests when a header is present having a symbol key (e.g. `:clearance`)

Expand Down
3 changes: 1 addition & 2 deletions lib/shopify_api/admin_versions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@ module ShopifyAPI
module AdminVersions
SUPPORTED_ADMIN_VERSIONS = T.let([
"unstable",
"2022-07",
"2022-04",
"2022-01",
"2021-10",
"2021-07",
"2021-04",
], T::Array[String])

LATEST_SUPPORTED_ADMIN_VERSION = T.let("2022-04", String)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ def initialize(session: ShopifyAPI::Context.active_session)
@admin_graphql_api_id = T.let(nil, T.nilable(String))
@callback_url = T.let(nil, T.nilable(String))
@carrier_service_type = T.let(nil, T.nilable(String))
@format = T.let(nil, T.nilable(String))
@id = T.let(nil, T.nilable(Integer))
@name = T.let(nil, T.nilable(String))
@service_discovery = T.let(nil, T.nilable(T::Boolean))
Expand All @@ -44,8 +43,6 @@ def initialize(session: ShopifyAPI::Context.active_session)
attr_reader :callback_url
sig { returns(T.nilable(String)) }
attr_reader :carrier_service_type
sig { returns(T.nilable(String)) }
attr_reader :format
sig { returns(T.nilable(Integer)) }
attr_reader :id
sig { returns(T.nilable(String)) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ def initialize(session: ShopifyAPI::Context.active_session)
@currency = T.let(nil, T.nilable(String))
@default_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@email = T.let(nil, T.nilable(String))
@email_marketing_consent = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@first_name = T.let(nil, T.nilable(String))
@id = T.let(nil, T.nilable(Integer))
@last_name = T.let(nil, T.nilable(String))
Expand All @@ -33,7 +34,10 @@ def initialize(session: ShopifyAPI::Context.active_session)
@multipass_identifier = T.let(nil, T.nilable(String))
@note = T.let(nil, T.nilable(String))
@orders_count = T.let(nil, T.nilable(Integer))
@password = T.let(nil, T.nilable(String))
@password_confirmation = T.let(nil, T.nilable(String))
@phone = T.let(nil, T.nilable(String))
@sms_marketing_consent = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@state = T.let(nil, T.nilable(String))
@tags = T.let(nil, T.nilable(String))
@tax_exempt = T.let(nil, T.nilable(T::Boolean))
Expand Down Expand Up @@ -73,6 +77,8 @@ def initialize(session: ShopifyAPI::Context.active_session)
attr_reader :default_address
sig { returns(T.nilable(String)) }
attr_reader :email
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :email_marketing_consent
sig { returns(T.nilable(String)) }
attr_reader :first_name
sig { returns(T.nilable(Integer)) }
Expand All @@ -94,7 +100,13 @@ def initialize(session: ShopifyAPI::Context.active_session)
sig { returns(T.nilable(Integer)) }
attr_reader :orders_count
sig { returns(T.nilable(String)) }
attr_reader :password
sig { returns(T.nilable(String)) }
attr_reader :password_confirmation
sig { returns(T.nilable(String)) }
attr_reader :phone
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :sms_marketing_consent
sig { returns(T.nilable(String)) }
attr_reader :state
sig { returns(T.nilable(String)) }
Expand Down
117 changes: 117 additions & 0 deletions lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# typed: false
# frozen_string_literal: true

########################################################################################################################
# This file is auto-generated. If you have an issue, please create a GitHub issue. #
########################################################################################################################

module ShopifyAPI
class DisputeEvidence < ShopifyAPI::Rest::Base
extend T::Sig

@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)

sig { params(session: T.nilable(ShopifyAPI::Auth::Session)).void }
def initialize(session: ShopifyAPI::Context.active_session)
super(session: session)

@access_activity_log = T.let(nil, T.nilable(String))
@billing_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@cancellation_policy_disclosure = T.let(nil, T.nilable(String))
@cancellation_rebuttal = T.let(nil, T.nilable(String))
@created_at = T.let(nil, T.nilable(String))
@customer_email_address = T.let(nil, T.nilable(String))
@customer_first_name = T.let(nil, T.nilable(String))
@customer_last_name = T.let(nil, T.nilable(String))
@dispute_evidence_files = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@fulfillments = T.let(nil, T.nilable(T::Array[T.untyped]))
@id = T.let(nil, T.nilable(Integer))
@payments_dispute_id = T.let(nil, T.nilable(Integer))
@product_description = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@refund_policy_disclosure = T.let(nil, T.nilable(String))
@refund_refusal_explanation = T.let(nil, T.nilable(String))
@shipping_address_attributes = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@submitted = T.let(nil, T.nilable(T::Boolean))
@uncategorized_text = T.let(nil, T.nilable(String))
@updated_on = T.let(nil, T.nilable(String))
end

@has_one = T.let({}, T::Hash[Symbol, Class])
@has_many = T.let({
fulfillments: Fulfillment
}, T::Hash[Symbol, Class])
@paths = T.let([
{http_method: :get, operation: :get, ids: [:dispute_id], path: "shopify_payments/disputes/<dispute_id>/dispute_evidences.json"},
{http_method: :put, operation: :put, ids: [:dispute_id], path: "shopify_payments/disputes/<dispute_id>/dispute_evidences.json"}
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])

sig { returns(T.nilable(String)) }
attr_reader :access_activity_log
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :billing_address
sig { returns(T.nilable(String)) }
attr_reader :cancellation_policy_disclosure
sig { returns(T.nilable(String)) }
attr_reader :cancellation_rebuttal
sig { returns(T.nilable(String)) }
attr_reader :created_at
sig { returns(T.nilable(String)) }
attr_reader :customer_email_address
sig { returns(T.nilable(String)) }
attr_reader :customer_first_name
sig { returns(T.nilable(String)) }
attr_reader :customer_last_name
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :dispute_evidence_files
sig { returns(T.nilable(T::Array[Fulfillment])) }
attr_reader :fulfillments
sig { returns(T.nilable(Integer)) }
attr_reader :id
sig { returns(T.nilable(Integer)) }
attr_reader :payments_dispute_id
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :product_description
sig { returns(T.nilable(String)) }
attr_reader :refund_policy_disclosure
sig { returns(T.nilable(String)) }
attr_reader :refund_refusal_explanation
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :shipping_address_attributes
sig { returns(T.nilable(T::Boolean)) }
attr_reader :submitted
sig { returns(T.nilable(String)) }
attr_reader :uncategorized_text
sig { returns(T.nilable(String)) }
attr_reader :updated_on

class << self
sig do
returns(String)
end
def primary_key()
"dispute_id"
end

sig do
params(
dispute_id: T.any(Integer, String),
session: Auth::Session
).returns(T.nilable(DisputeEvidence))
end
def find(
dispute_id:,
session: ShopifyAPI::Context.active_session
)
result = base_find(
session: session,
ids: {dispute_id: dispute_id},
params: {},
)
T.cast(result[0], T.nilable(DisputeEvidence))
end

end

end
end
81 changes: 81 additions & 0 deletions lib/shopify_api/rest/resources/2022_07/dispute_file_upload.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# typed: false
# frozen_string_literal: true

########################################################################################################################
# This file is auto-generated. If you have an issue, please create a GitHub issue. #
########################################################################################################################

module ShopifyAPI
class DisputeFileUpload < ShopifyAPI::Rest::Base
extend T::Sig

@prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
@next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)

sig { params(session: T.nilable(ShopifyAPI::Auth::Session)).void }
def initialize(session: ShopifyAPI::Context.active_session)
super(session: session)

@dispute_evidence_id = T.let(nil, T.nilable(Integer))
@dispute_evidence_type = T.let(nil, T.nilable(String))
@file_size = T.let(nil, T.nilable(Integer))
@file_type = T.let(nil, T.nilable(String))
@filename = T.let(nil, T.nilable(String))
@id = T.let(nil, T.nilable(Integer))
@original_filename = T.let(nil, T.nilable(String))
@shop_id = T.let(nil, T.nilable(Integer))
@url = T.let(nil, T.nilable(String))
end

@has_one = T.let({}, T::Hash[Symbol, Class])
@has_many = T.let({}, T::Hash[Symbol, Class])
@paths = T.let([
{http_method: :delete, operation: :delete, ids: [:dispute_id, :id], path: "shopify_payments/disputes/<dispute_id>/dispute_file_uploads/<id>.json"},
{http_method: :post, operation: :post, ids: [:dispute_id], path: "shopify_payments/disputes/<dispute_id>/dispute_file_uploads.json"}
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])

sig { returns(T.nilable(Integer)) }
attr_reader :dispute_evidence_id
sig { returns(T.nilable(String)) }
attr_reader :dispute_evidence_type
sig { returns(T.nilable(Integer)) }
attr_reader :file_size
sig { returns(T.nilable(String)) }
attr_reader :file_type
sig { returns(T.nilable(String)) }
attr_reader :filename
sig { returns(T.nilable(Integer)) }
attr_reader :id
sig { returns(T.nilable(String)) }
attr_reader :original_filename
sig { returns(T.nilable(Integer)) }
attr_reader :shop_id
sig { returns(T.nilable(String)) }
attr_reader :url

class << self
sig do
params(
id: T.any(Integer, String),
dispute_id: T.nilable(T.any(Integer, String)),
session: Auth::Session
).returns(T.untyped)
end
def delete(
id:,
dispute_id: nil,
session: ShopifyAPI::Context.active_session
)
request(
http_method: :delete,
operation: :delete,
session: session,
ids: {id: id, dispute_id: dispute_id},
params: {},
)
end

end

end
end
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ def initialize(session: ShopifyAPI::Context.active_session)
@note = T.let(nil, T.nilable(String))
@note_attributes = T.let(nil, T.nilable(T::Array[T.untyped]))
@order_id = T.let(nil, T.nilable(Integer))
@payment_terms = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@shipping_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@shipping_line = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@source_name = T.let(nil, T.nilable(String))
Expand Down Expand Up @@ -92,6 +93,8 @@ def initialize(session: ShopifyAPI::Context.active_session)
sig { returns(T.nilable(Integer)) }
attr_reader :order_id
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :payment_terms
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :shipping_address
sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
attr_reader :shipping_line
Expand Down Expand Up @@ -245,12 +248,14 @@ def send_invoice(

sig do
params(
payment_gateway_id: T.untyped,
payment_pending: T.untyped,
body: T.untyped,
kwargs: T.untyped
).returns(T.untyped)
end
def complete(
payment_gateway_id: nil,
payment_pending: nil,
body: nil,
**kwargs
Expand All @@ -260,7 +265,7 @@ def complete(
operation: :complete,
session: @session,
ids: {id: @id},
params: {payment_pending: payment_pending}.merge(kwargs).compact,
params: {payment_gateway_id: payment_gateway_id, payment_pending: payment_pending}.merge(kwargs).compact,
body: body,
entity: self,
)
Expand Down
Loading