Class: ShopifyAPI::Clients::Graphql::Storefront
- Defined in:
- lib/shopify_api/clients/graphql/storefront.rb
Instance Method Summary collapse
-
#initialize(shop, storefront_access_token = nil, private_token: nil, public_token: nil, api_version: nil) ⇒ Storefront
constructor
A new instance of Storefront.
- #query(query:, variables: nil, headers: {}, tries: 1, response_as_struct: Context.response_as_struct, debug: false) ⇒ Object
Constructor Details
#initialize(shop, storefront_access_token = nil, private_token: nil, public_token: nil, api_version: nil) ⇒ Storefront
Returns a new instance of Storefront.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/shopify_api/clients/graphql/storefront.rb', line 17 def initialize(shop, storefront_access_token = nil, private_token: nil, public_token: nil, api_version: nil) unless storefront_access_token.nil? warning = <<~WARNING DEPRECATED: Use the named parameters for the Storefront token instead of passing the public token as the second argument. Also, you may want to look into using the Storefront private access token instead: https://shopify.dev/docs/api/usage/authentication#getting-started-with-private-access WARNING ShopifyAPI::Logger.deprecated(warning, "15.0.0") end session = Auth::Session.new( id: shop, shop: shop, access_token: "", is_online: false, ) super(session: session, base_path: "/api", api_version: api_version) @storefront_access_token = T.let(T.must(private_token || public_token || storefront_access_token), String) @storefront_auth_header = T.let( private_token.nil? ? "X-Shopify-Storefront-Access-Token" : "Shopify-Storefront-Private-Token", String, ) end |
Instance Method Details
#query(query:, variables: nil, headers: {}, tries: 1, response_as_struct: Context.response_as_struct, debug: false) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/shopify_api/clients/graphql/storefront.rb', line 52 def query( query:, variables: nil, headers: {}, tries: 1, response_as_struct: Context.response_as_struct, debug: false ) T.must(headers).merge!({ @storefront_auth_header => @storefront_access_token }) super(query: query, variables: variables, headers: headers, tries: tries, response_as_struct: response_as_struct, debug: debug) end |