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/channel.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'internal/fetcher/channel.go') diff --git a/internal/fetcher/channel.go b/internal/fetcher/channel.go index 5dc84b4..fd7427c 100644 --- a/internal/fetcher/channel.go +++ b/internal/fetcher/channel.go @@ -22,6 +22,23 @@ type ChannelFetcher struct { Logger *slog.Logger } +func NewChannelFetcher( + source *config.Source, + dataPath string, + logger *slog.Logger, +) (*ChannelFetcher, error) { + switch source.Importer { + case config.Options: + return &ChannelFetcher{ + DataPath: dataPath, + Source: source, + Logger: logger, + }, nil + default: + return nil, fmt.Errorf("unsupported importer type %s", source.Importer) + } +} + func (i *ChannelFetcher) FetchIfNeeded( parent context.Context, ) (f FetchedFiles, updated bool, err error) { @@ -91,8 +108,7 @@ func (i *ChannelFetcher) FetchIfNeeded( updated = before != after f = FetchedFiles{ - Options: path.Join(dest, i.Source.OutputPath, "options.json"), - Packages: path.Join(dest, i.Source.OutputPath, "packages.json"), + Options: path.Join(dest, i.Source.OutputPath, "options.json"), } return -- cgit 1.4.1