package service import ( "context" ) type Service struct { redis Redis downloader Downloader } func New(redis Redis, downloader Downloader) *Service { return &Service{ redis: redis, downloader: downloader, } } // DownloadWeatherData downloads weather forecast data using the configured downloader func (s *Service) DownloadWeatherData(ctx context.Context) error { return s.downloader.Download(ctx) }