module WolfCore::NoSqlDbDataSource
def get_item(table_name:, key:, index_name: nil)
def get_item(table_name:, key:, index_name: nil) get_params = { table_name: table_name, key: key } get_params[:index_name] = index_name if index_name instance.get_item(get_params).item end
def init(region: 'us-east-1')
def init(region: 'us-east-1') @@dynamodb_client ||= Aws::DynamoDB::Client.new(region: region) end
def instance
def instance @@dynamodb_client end
def put_item(table_name:, item:)
def put_item(table_name:, item:) instance.put_item({ table_name: table_name, item: item }) end
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) 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 instance.query(query_params).items end