func()

in iot-onboarding-service/src/cloudrack-lambda-core/db/db.go [395:431]


func (dbc DBConfig) FindStartingWith(pk string, value string, data interface{}) error {
	var queryInput = &dynamodb.QueryInput{
		TableName: aws.String(dbc.TableName),
		KeyConditions: map[string]*dynamodb.Condition{
			dbc.PrimaryKey: {
				ComparisonOperator: aws.String("EQ"),
				AttributeValueList: []*dynamodb.AttributeValue{
					{
						S: aws.String(pk),
					},
				},
			},
			dbc.SortKey: {
				ComparisonOperator: aws.String("BEGINS_WITH"),
				AttributeValueList: []*dynamodb.AttributeValue{
					{
						S: aws.String(value),
					},
				},
			},
		},
	}
	fmt.Println("DB:FindStartingWith> rq: %+v", queryInput)

	var result, err = dbc.DbService.QueryWithContext(dbc.LambdaContext, queryInput)
	if err != nil {
		fmt.Println("DB:FindStartingWith> 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
}