class WolfCore::NoSqlDbInstanceDataSource

def query(table_name:, key_condition_expression:, expression_attribute_values:, index_name: nil, limit: nil)

def query(table_name:, key_condition_expression:, expression_attribute_values:, index_name: nil, limit: nil)
  Result.try do
    query_params = {
      table_name: table_name,
      key_condition_expression: key_condition_expression,
      expression_attribute_values: expression_attribute_values
    }
    query_params[:index_name] = index_name if index_name
    query_params[:limit] = limit if limit
    items = @client.query(query_params).items
    Result.success(data: { items: items })
  end
end