diff options
author | Alan Pearce | 2024-05-20 23:31:29 +0200 |
---|---|---|
committer | Alan Pearce | 2024-05-20 23:31:29 +0200 |
commit | 8e8c5c9cc35ef9b3de9b8d43919f27a39a1d75d3 (patch) | |
tree | 33cc9205737c833488991500ae850f97829658fb /internal/importer/utils.go | |
parent | 4ac6e917aafa02825bef4f213b2c41fd902a4baf (diff) | |
download | searchix-8e8c5c9cc35ef9b3de9b8d43919f27a39a1d75d3.tar.lz searchix-8e8c5c9cc35ef9b3de9b8d43919f27a39a1d75d3.tar.zst searchix-8e8c5c9cc35ef9b3de9b8d43919f27a39a1d75d3.zip |
refactor: make repository URLs by Repo.Type (currently no change)
"currently no change" because only GitHub repos are supported, but more ready to support other types
Diffstat (limited to 'internal/importer/utils.go')
-rw-r--r-- | internal/importer/utils.go | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/internal/importer/utils.go b/internal/importer/utils.go index 3977c2e..425b7bd 100644 --- a/internal/importer/utils.go +++ b/internal/importer/utils.go @@ -36,23 +36,36 @@ func ValueTypeToString(valueType jstream.ValueType) string { return "very strange" } -func makeRepoURL(repo config.Repository, subPath string, line string) string { - ref := repo.Revision - if ref == "" { - ref = "master" - } - url, _ := url.JoinPath("https://github.com/", repo.Owner, repo.Repo, "blob", ref, subPath) - if line != "" { - url = url + "#L" + line - } +func makeRepoURL(repo config.Repository, subPath string, line string) (string, error) { + switch repo.Type { + case config.GitHub: + ref := repo.Revision + if ref == "" { + ref = "master" + } + url, _ := url.JoinPath("https://github.com/", repo.Owner, repo.Repo, "blob", ref, subPath) + if line != "" { + url = url + "#L" + line + } - return url + return url, nil + default: + return "", errors.Errorf( + "don't know how to generate a repository URL for %s", + repo.Type.String(), + ) + } } func MakeChannelLink(repo config.Repository, subPath string) (*nix.Link, error) { + url, err := makeRepoURL(repo, subPath, "") + if err != nil { + return nil, err + } + return &nix.Link{ Name: fmt.Sprintf("<%s/%s>", repo.Repo, subPath), - URL: makeRepoURL(repo, subPath, ""), + URL: url, }, nil } |