class ShopifyAPI::DiscountCode

def all(

def all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[DiscountCode])
end

def all(

def all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[DiscountCode])
end

def all(

def all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[DiscountCode])
end

def all(

def all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[DiscountCode])
end

def all(

def all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[DiscountCode])
end

def all(

def all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[DiscountCode])
end

def all(

def all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[DiscountCode])
end

def batch(

def batch(
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :post,
    operation: :batch,
    session: @session,
    ids: {price_rule_id: @price_rule_id},
    params: {}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end

def batch(

def batch(
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :post,
    operation: :batch,
    session: @session,
    ids: {price_rule_id: @price_rule_id},
    params: {}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end

def batch(

def batch(
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :post,
    operation: :batch,
    session: @session,
    ids: {price_rule_id: @price_rule_id},
    params: {}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end

def batch(

def batch(
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :post,
    operation: :batch,
    session: @session,
    ids: {price_rule_id: @price_rule_id},
    params: {}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end

def batch(

def batch(
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :post,
    operation: :batch,
    session: @session,
    ids: {price_rule_id: @price_rule_id},
    params: {}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end

def batch(

def batch(
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :post,
    operation: :batch,
    session: @session,
    ids: {price_rule_id: @price_rule_id},
    params: {}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end

def batch(

def batch(
  body: nil,
  **kwargs
)
  self.class.request(
    http_method: :post,
    operation: :batch,
    session: @session,
    ids: {price_rule_id: @price_rule_id},
    params: {}.merge(kwargs).compact,
    body: body,
    entity: self,
  )
end

def count(

def count(
  times_used: nil,
  times_used_min: nil,
  times_used_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {times_used: times_used, times_used_min: times_used_min, times_used_max: times_used_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def count(

def count(
  times_used: nil,
  times_used_min: nil,
  times_used_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {times_used: times_used, times_used_min: times_used_min, times_used_max: times_used_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def count(

def count(
  times_used: nil,
  times_used_min: nil,
  times_used_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {times_used: times_used, times_used_min: times_used_min, times_used_max: times_used_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def count(

def count(
  times_used: nil,
  times_used_min: nil,
  times_used_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {times_used: times_used, times_used_min: times_used_min, times_used_max: times_used_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def count(

def count(
  times_used: nil,
  times_used_min: nil,
  times_used_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {times_used: times_used, times_used_min: times_used_min, times_used_max: times_used_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def count(

def count(
  times_used: nil,
  times_used_min: nil,
  times_used_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {times_used: times_used, times_used_min: times_used_min, times_used_max: times_used_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def count(

def count(
  times_used: nil,
  times_used_min: nil,
  times_used_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :count,
    session: session,
    ids: {},
    params: {times_used: times_used, times_used_min: times_used_min, times_used_max: times_used_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def delete(

def delete(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  request(
    http_method: :delete,
    operation: :delete,
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
end

def delete(

def delete(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  request(
    http_method: :delete,
    operation: :delete,
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
end

def delete(

def delete(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  request(
    http_method: :delete,
    operation: :delete,
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
end

def delete(

def delete(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  request(
    http_method: :delete,
    operation: :delete,
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
end

def delete(

def delete(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  request(
    http_method: :delete,
    operation: :delete,
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
end

def delete(

def delete(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  request(
    http_method: :delete,
    operation: :delete,
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
end

def delete(

def delete(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  request(
    http_method: :delete,
    operation: :delete,
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
end

def find(

def find(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  result = base_find(
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
  T.cast(result[0], T.nilable(DiscountCode))
end

def find(

def find(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  result = base_find(
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
  T.cast(result[0], T.nilable(DiscountCode))
end

def find(

def find(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  result = base_find(
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
  T.cast(result[0], T.nilable(DiscountCode))
end

def find(

def find(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  result = base_find(
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
  T.cast(result[0], T.nilable(DiscountCode))
end

def find(

def find(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  result = base_find(
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
  T.cast(result[0], T.nilable(DiscountCode))
end

def find(

def find(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  result = base_find(
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
  T.cast(result[0], T.nilable(DiscountCode))
end

def find(

def find(
  id:,
  price_rule_id: nil,
  session: ShopifyAPI::Context.active_session
)
  result = base_find(
    session: session,
    ids: {id: id, price_rule_id: price_rule_id},
    params: {},
  )
  T.cast(result[0], T.nilable(DiscountCode))
end

def get_all(

def get_all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :get_all,
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def get_all(

def get_all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :get_all,
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def get_all(

def get_all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :get_all,
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def get_all(

def get_all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :get_all,
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def get_all(

def get_all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :get_all,
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def get_all(

def get_all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :get_all,
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def get_all(

def get_all(
  price_rule_id: nil,
  batch_id: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :get_all,
    session: session,
    ids: {price_rule_id: price_rule_id, batch_id: batch_id},
    params: {}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def initialize(session: ShopifyAPI::Context.active_session)

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @errors = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
  @id = T.let(nil, T.nilable(Integer))
  @price_rule_id = T.let(nil, T.nilable(Integer))
  @updated_at = T.let(nil, T.nilable(String))
  @usage_count = T.let(nil, T.nilable(Integer))
end

def initialize(session: ShopifyAPI::Context.active_session)

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @errors = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
  @id = T.let(nil, T.nilable(Integer))
  @price_rule_id = T.let(nil, T.nilable(Integer))
  @updated_at = T.let(nil, T.nilable(String))
  @usage_count = T.let(nil, T.nilable(Integer))
end

def initialize(session: ShopifyAPI::Context.active_session)

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @errors = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
  @id = T.let(nil, T.nilable(Integer))
  @price_rule_id = T.let(nil, T.nilable(Integer))
  @updated_at = T.let(nil, T.nilable(String))
  @usage_count = T.let(nil, T.nilable(Integer))
end

def initialize(session: ShopifyAPI::Context.active_session)

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @errors = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
  @id = T.let(nil, T.nilable(Integer))
  @price_rule_id = T.let(nil, T.nilable(Integer))
  @updated_at = T.let(nil, T.nilable(String))
  @usage_count = T.let(nil, T.nilable(Integer))
end

def initialize(session: ShopifyAPI::Context.active_session)

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @errors = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
  @id = T.let(nil, T.nilable(Integer))
  @price_rule_id = T.let(nil, T.nilable(Integer))
  @updated_at = T.let(nil, T.nilable(String))
  @usage_count = T.let(nil, T.nilable(Integer))
end

def initialize(session: ShopifyAPI::Context.active_session)

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @errors = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
  @id = T.let(nil, T.nilable(Integer))
  @price_rule_id = T.let(nil, T.nilable(Integer))
  @updated_at = T.let(nil, T.nilable(String))
  @usage_count = T.let(nil, T.nilable(Integer))
end

def initialize(session: ShopifyAPI::Context.active_session)

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @errors = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
  @id = T.let(nil, T.nilable(Integer))
  @price_rule_id = T.let(nil, T.nilable(Integer))
  @updated_at = T.let(nil, T.nilable(String))
  @usage_count = T.let(nil, T.nilable(Integer))
end

def lookup(

def lookup(
  code: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :lookup,
    session: session,
    ids: {},
    params: {code: code}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def lookup(

def lookup(
  code: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :lookup,
    session: session,
    ids: {},
    params: {code: code}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def lookup(

def lookup(
  code: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :lookup,
    session: session,
    ids: {},
    params: {code: code}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def lookup(

def lookup(
  code: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :lookup,
    session: session,
    ids: {},
    params: {code: code}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def lookup(

def lookup(
  code: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :lookup,
    session: session,
    ids: {},
    params: {code: code}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def lookup(

def lookup(
  code: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :lookup,
    session: session,
    ids: {},
    params: {code: code}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def lookup(

def lookup(
  code: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :lookup,
    session: session,
    ids: {},
    params: {code: code}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end