func()

in lambda/src/cloudrack-lambda-core/db/db.go [282:310]


func (dbc DBConfig) FindByGsi(value string, indexName string, indexPk string, data interface{}) error {
	var queryInput = &dynamodb.QueryInput{
		  TableName: aws.String(dbc.TableName),
		  IndexName: aws.String(indexName),
		  KeyConditions: map[string]*dynamodb.Condition{
		   indexPk: {
		    ComparisonOperator: aws.String("EQ"),
		    AttributeValueList: []*dynamodb.AttributeValue{
		     {
		      S: aws.String(value),
		     },
		    },
		   },
		  },
		 }

	var result, err = dbc.DbService.Query(queryInput)
	if err != nil {
		fmt.Println("NOT FOUND")
	    fmt.Println(err.Error())
	    return  err
	}

	err = dynamodbattribute.UnmarshalListOfMaps(result.Items, data)
	if err != nil {
	    panic(fmt.Sprintf("Failed to unmarshal Record, %v", err))
	}
	return err
}