class ShopifyAPI::GiftCard

def all(

def all(
  status: nil,
  limit: nil,
  since_id: nil,
  fields: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {status: status, limit: limit, since_id: since_id, fields: fields}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[GiftCard])
end

def all(

def all(
  status: nil,
  limit: nil,
  since_id: nil,
  fields: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {status: status, limit: limit, since_id: since_id, fields: fields}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[GiftCard])
end

def all(

def all(
  status: nil,
  limit: nil,
  since_id: nil,
  fields: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {status: status, limit: limit, since_id: since_id, fields: fields}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[GiftCard])
end

def all(

def all(
  status: nil,
  limit: nil,
  since_id: nil,
  fields: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {status: status, limit: limit, since_id: since_id, fields: fields}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[GiftCard])
end

def all(

def all(
  status: nil,
  limit: nil,
  since_id: nil,
  fields: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {status: status, limit: limit, since_id: since_id, fields: fields}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[GiftCard])
end

def all(

def all(
  status: nil,
  limit: nil,
  since_id: nil,
  fields: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {status: status, limit: limit, since_id: since_id, fields: fields}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[GiftCard])
end

def all(

def all(
  status: nil,
  limit: nil,
  since_id: nil,
  fields: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  response = base_find(
    session: session,
    ids: {},
    params: {status: status, limit: limit, since_id: since_id, fields: fields}.merge(kwargs).compact,
  )
  T.cast(response, T::Array[GiftCard])
end

def count(

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

def count(

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

def count(

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

def count(

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

def count(

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

def count(

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

def count(

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

def disable(

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

def disable(

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

def disable(

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

def disable(

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

def disable(

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

def disable(

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

def disable(

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

def find(

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

def find(

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

def find(

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

def find(

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

def find(

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

def find(

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

def find(

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

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

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @api_client_id = T.let(nil, T.nilable(Integer))
  @balance = T.let(nil, T.nilable(Balance))
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @currency = T.let(nil, T.nilable(Currency))
  @customer_id = T.let(nil, T.nilable(Integer))
  @disabled_at = T.let(nil, T.nilable(String))
  @expires_on = T.let(nil, T.nilable(String))
  @id = T.let(nil, T.nilable(Integer))
  @initial_value = T.let(nil, T.nilable(String))
  @last_characters = T.let(nil, T.nilable(String))
  @line_item_id = T.let(nil, T.nilable(Integer))
  @note = T.let(nil, T.nilable(String))
  @order_id = T.let(nil, T.nilable(Integer))
  @template_suffix = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
  @user_id = T.let(nil, T.nilable(Integer))
end

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

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @api_client_id = T.let(nil, T.nilable(Integer))
  @balance = T.let(nil, T.nilable(Balance))
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @currency = T.let(nil, T.nilable(Currency))
  @customer_id = T.let(nil, T.nilable(Integer))
  @disabled_at = T.let(nil, T.nilable(String))
  @expires_on = T.let(nil, T.nilable(String))
  @id = T.let(nil, T.nilable(Integer))
  @initial_value = T.let(nil, T.nilable(String))
  @last_characters = T.let(nil, T.nilable(String))
  @line_item_id = T.let(nil, T.nilable(Integer))
  @note = T.let(nil, T.nilable(String))
  @order_id = T.let(nil, T.nilable(Integer))
  @template_suffix = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
  @user_id = T.let(nil, T.nilable(Integer))
end

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

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @api_client_id = T.let(nil, T.nilable(Integer))
  @balance = T.let(nil, T.nilable(Balance))
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @currency = T.let(nil, T.nilable(Currency))
  @customer_id = T.let(nil, T.nilable(Integer))
  @disabled_at = T.let(nil, T.nilable(String))
  @expires_on = T.let(nil, T.nilable(String))
  @id = T.let(nil, T.nilable(Integer))
  @initial_value = T.let(nil, T.nilable(String))
  @last_characters = T.let(nil, T.nilable(String))
  @line_item_id = T.let(nil, T.nilable(Integer))
  @note = T.let(nil, T.nilable(String))
  @order_id = T.let(nil, T.nilable(Integer))
  @template_suffix = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
  @user_id = T.let(nil, T.nilable(Integer))
end

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

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @api_client_id = T.let(nil, T.nilable(Integer))
  @balance = T.let(nil, T.nilable(Balance))
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @currency = T.let(nil, T.nilable(Currency))
  @customer_id = T.let(nil, T.nilable(Integer))
  @disabled_at = T.let(nil, T.nilable(String))
  @expires_on = T.let(nil, T.nilable(String))
  @id = T.let(nil, T.nilable(Integer))
  @initial_value = T.let(nil, T.nilable(String))
  @last_characters = T.let(nil, T.nilable(String))
  @line_item_id = T.let(nil, T.nilable(Integer))
  @note = T.let(nil, T.nilable(String))
  @order_id = T.let(nil, T.nilable(Integer))
  @template_suffix = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
  @user_id = T.let(nil, T.nilable(Integer))
end

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

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @api_client_id = T.let(nil, T.nilable(Integer))
  @balance = T.let(nil, T.nilable(Balance))
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @currency = T.let(nil, T.nilable(Currency))
  @customer_id = T.let(nil, T.nilable(Integer))
  @disabled_at = T.let(nil, T.nilable(String))
  @expires_on = T.let(nil, T.nilable(String))
  @id = T.let(nil, T.nilable(Integer))
  @initial_value = T.let(nil, T.nilable(String))
  @last_characters = T.let(nil, T.nilable(String))
  @line_item_id = T.let(nil, T.nilable(Integer))
  @note = T.let(nil, T.nilable(String))
  @order_id = T.let(nil, T.nilable(Integer))
  @template_suffix = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
  @user_id = T.let(nil, T.nilable(Integer))
end

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

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @api_client_id = T.let(nil, T.nilable(Integer))
  @balance = T.let(nil, T.nilable(Balance))
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @currency = T.let(nil, T.nilable(Currency))
  @customer_id = T.let(nil, T.nilable(Integer))
  @disabled_at = T.let(nil, T.nilable(String))
  @expires_on = T.let(nil, T.nilable(String))
  @id = T.let(nil, T.nilable(Integer))
  @initial_value = T.let(nil, T.nilable(String))
  @last_characters = T.let(nil, T.nilable(String))
  @line_item_id = T.let(nil, T.nilable(Integer))
  @note = T.let(nil, T.nilable(String))
  @order_id = T.let(nil, T.nilable(Integer))
  @template_suffix = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
  @user_id = T.let(nil, T.nilable(Integer))
end

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

def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  @api_client_id = T.let(nil, T.nilable(Integer))
  @balance = T.let(nil, T.nilable(Balance))
  @code = T.let(nil, T.nilable(String))
  @created_at = T.let(nil, T.nilable(String))
  @currency = T.let(nil, T.nilable(Currency))
  @customer_id = T.let(nil, T.nilable(Integer))
  @disabled_at = T.let(nil, T.nilable(String))
  @expires_on = T.let(nil, T.nilable(String))
  @id = T.let(nil, T.nilable(Integer))
  @initial_value = T.let(nil, T.nilable(String))
  @last_characters = T.let(nil, T.nilable(String))
  @line_item_id = T.let(nil, T.nilable(Integer))
  @note = T.let(nil, T.nilable(String))
  @order_id = T.let(nil, T.nilable(Integer))
  @template_suffix = T.let(nil, T.nilable(String))
  @updated_at = T.let(nil, T.nilable(String))
  @user_id = T.let(nil, T.nilable(Integer))
end

def search(

def search(
  order: nil,
  query: nil,
  limit: nil,
  fields: nil,
  created_at_min: nil,
  created_at_max: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :search,
    session: session,
    ids: {},
    params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def search(

def search(
  order: nil,
  query: nil,
  limit: nil,
  fields: nil,
  created_at_min: nil,
  created_at_max: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :search,
    session: session,
    ids: {},
    params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def search(

def search(
  order: nil,
  query: nil,
  limit: nil,
  fields: nil,
  created_at_min: nil,
  created_at_max: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :search,
    session: session,
    ids: {},
    params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def search(

def search(
  order: nil,
  query: nil,
  limit: nil,
  fields: nil,
  created_at_min: nil,
  created_at_max: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :search,
    session: session,
    ids: {},
    params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def search(

def search(
  order: nil,
  query: nil,
  limit: nil,
  fields: nil,
  created_at_min: nil,
  created_at_max: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :search,
    session: session,
    ids: {},
    params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def search(

def search(
  order: nil,
  query: nil,
  limit: nil,
  fields: nil,
  created_at_min: nil,
  created_at_max: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :search,
    session: session,
    ids: {},
    params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end

def search(

def search(
  order: nil,
  query: nil,
  limit: nil,
  fields: nil,
  created_at_min: nil,
  created_at_max: nil,
  updated_at_min: nil,
  updated_at_max: nil,
  session: ShopifyAPI::Context.active_session,
  **kwargs
)
  request(
    http_method: :get,
    operation: :search,
    session: session,
    ids: {},
    params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
    body: {},
    entity: nil,
  )
end