Sobes.tech
Back to questions
Senior
5

// TODO: реализовать func (s *Service) GetProducts(ctx context.Context, skus []SKU) (map[SKU]Product, error) { return nil, nil }

Companies where asked
Магнит Тех

Answer from AI

sobes.tech AI

go func (s *Service) GetProducts(ctx context.Context, skus []SKU) (map[SKU]Product, error) { result := make(map[SKU]Product, len(skus))

for _, sku := range skus {
    product, err := s.repo.GetProductBySKU(ctx, sku) // предположим, есть метод репозитория
    if err != nil {
        return nil, err
    }
    result[sku] = product
}

return result, nil

}


Здесь предполагается, что у сервиса есть доступ к репозиторию (`s.repo`), который умеет получать продукт по SKU. Мы итерируемся по списку SKU, запрашиваем продукт и собираем их в карту. Если возникает ошибка, возвращаем её сразу.