diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-28 10:02:03 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-28 10:02:03 +0300 |
| commit | dcf90064e3671d4eccc5f0f59182a4afe23c95f9 (patch) | |
| tree | b2d866e647e036962a0f000d6aea8517097a234e /internal/cli/forge_client.go | |
| parent | 1325155d123d9403ea964152b125efd960522603 (diff) | |
refactor(forge): unify repo lifecycle across GitHub and Codeberg (dq)
Diffstat (limited to 'internal/cli/forge_client.go')
| -rw-r--r-- | internal/cli/forge_client.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/cli/forge_client.go b/internal/cli/forge_client.go new file mode 100644 index 0000000..4d8eb60 --- /dev/null +++ b/internal/cli/forge_client.go @@ -0,0 +1,21 @@ +package cli + +import ( + "codeberg.org/snonux/gitsyncer/internal/codeberg" + "codeberg.org/snonux/gitsyncer/internal/config" + "codeberg.org/snonux/gitsyncer/internal/forge" + "codeberg.org/snonux/gitsyncer/internal/github" +) + +func newRepoClientForOrg(org config.Organization) (forge.RepoClient, bool) { + switch { + case org.IsGitHub(): + client := github.NewClient(org.GitHubToken, org.Name) + return &client, true + case org.IsCodeberg(): + client := codeberg.NewClient(org.Name, org.CodebergToken) + return &client, true + default: + return nil, false + } +} |
