in store/dynamodb.go [75:99]
func (d *DynamoDBStore) Get(ctx context.Context, id string) (*types.Product, error) {
response, err := d.client.GetItem(ctx, &dynamodb.GetItemInput{
TableName: &d.tableName,
Key: map[string]ddbtypes.AttributeValue{
"id": &ddbtypes.AttributeValueMemberS{Value: id},
},
})
if err != nil {
return nil, fmt.Errorf("failed to get item from DynamoDB: %w", err)
}
if len(response.Item) == 0 {
return nil, nil
}
product := types.Product{}
err = attributevalue.UnmarshalMap(response.Item, &product)
if err != nil {
return nil, fmt.Errorf("error getting item %w", err)
}
return &product, nil
}