func()

in pkg/service/postservice.go [30:55]


func (ps DdbPostService) Get(id string) (*model.Post, error) {

	var post model.Post

	input := &dynamodb.GetItemInput{
		TableName: aws.String("blog-post-table"),
		Key: map[string]types.AttributeValue{
			"id": &types.AttributeValueMemberS{Value: id},
		}}

	res, err := ps.ddbSvc.GetItem(ctx, input)
	if err != nil {
		return nil, err
	}

	if len(res.Item) == 0 {
		return nil, errors.Errorf("Record with ID %v is not found", id)
	}

	err = attributevalue.UnmarshalMap(res.Item, &post)
	if err != nil {
		return nil, err
	}

	return &post, nil
}