From b77a24f9f75378ffe97be83cf4dfd7f1683b9a7e Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Mon, 20 May 2024 23:55:40 +0200 Subject: fix: make fetcher check on creation that it supports Source.Importer --- internal/fetcher/download.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'internal/fetcher/download.go') diff --git a/internal/fetcher/download.go b/internal/fetcher/download.go index 4165886..2c7b8fd 100644 --- a/internal/fetcher/download.go +++ b/internal/fetcher/download.go @@ -2,6 +2,7 @@ package fetcher import ( "context" + "fmt" "log/slog" "net/url" "path" @@ -18,6 +19,23 @@ type DownloadFetcher struct { Logger *slog.Logger } +func NewDownloadFetcher( + source *config.Source, + dataPath string, + logger *slog.Logger, +) (*DownloadFetcher, error) { + switch source.Importer { + case config.Options: + return &DownloadFetcher{ + DataPath: dataPath, + Source: source, + Logger: logger, + }, nil + default: + return nil, fmt.Errorf("unsupported importer type %s", source.Importer) + } +} + var files = map[string]string{ "revision": "revision", "options": "options.json", -- cgit 1.4.1