From b0dc65cb3ec3fc0dfaeae166137939affa18507f Mon Sep 17 00:00:00 2001 From: KartoffelChipss Date: Tue, 5 May 2026 19:29:24 +0200 Subject: [PATCH] Refactor GitProvider to take in auth token --- backend/app/gitprovider/factory.go | 7 ++++--- backend/app/gitprovider/github.go | 11 ++++++----- backend/app/gitprovider/provider.go | 2 +- backend/app/handlers/deploy.go | 3 +-- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/backend/app/gitprovider/factory.go b/backend/app/gitprovider/factory.go index e145eba..f30e811 100644 --- a/backend/app/gitprovider/factory.go +++ b/backend/app/gitprovider/factory.go @@ -5,12 +5,13 @@ import ( "strings" ) -func NewProvider(serverType, protocol, baseUrl string) (GitProvider, error) { +func NewProvider(serverType, protocol, baseUrl, authToken string) (GitProvider, error) { switch strings.ToLower(serverType) { case "github": return &GitHubProvider{ - protocol: protocol, - baseUrl: baseUrl, + protocol: protocol, + baseUrl: baseUrl, + authToken: authToken, }, nil default: return nil, fmt.Errorf("unsupported git provider: %s", serverType) diff --git a/backend/app/gitprovider/github.go b/backend/app/gitprovider/github.go index 94faefd..92dbe5d 100644 --- a/backend/app/gitprovider/github.go +++ b/backend/app/gitprovider/github.go @@ -13,22 +13,23 @@ import ( ) type GitHubProvider struct { - protocol string - baseUrl string + protocol string + baseUrl string + authToken string } var _ GitProvider = (*GitHubProvider)(nil) -func (p *GitHubProvider) FetchAndDeployBranch(owner, repo, branch, authToken, destPath string) (*DeployResult, error) { +func (p *GitHubProvider) FetchAndDeployBranch(owner, repo, branch, destPath string) (*DeployResult, error) { baseUrl := strings.TrimSuffix(p.baseUrl, "/") apiUrl := fmt.Sprintf("%s://api.%s/", p.protocol, baseUrl) - result, err := fetchBranchHead(apiUrl, owner, repo, branch, authToken) + result, err := fetchBranchHead(apiUrl, owner, repo, branch, p.authToken) if err != nil { return nil, fmt.Errorf("fetching branch head: %w", err) } - if err = downloadAndExtract(owner, repo, branch, authToken, destPath); err != nil { + if err = downloadAndExtract(owner, repo, branch, p.authToken, destPath); err != nil { return nil, err } diff --git a/backend/app/gitprovider/provider.go b/backend/app/gitprovider/provider.go index 188fdc4..ba945db 100644 --- a/backend/app/gitprovider/provider.go +++ b/backend/app/gitprovider/provider.go @@ -6,5 +6,5 @@ type DeployResult struct { } type GitProvider interface { - FetchAndDeployBranch(owner, repo, branch, authToken, destPath string) (*DeployResult, error) + FetchAndDeployBranch(owner, repo, branch, destPath string) (*DeployResult, error) } diff --git a/backend/app/handlers/deploy.go b/backend/app/handlers/deploy.go index 36d2715..c05567f 100644 --- a/backend/app/handlers/deploy.go +++ b/backend/app/handlers/deploy.go @@ -129,7 +129,7 @@ func (h *DeploySiteHandler) PostDeploy(c fiber.Ctx) error { }) } - provider, err := gitprovider.NewProvider(gitServer.Type, gitServer.Protocol, gitServer.BaseUrl) + provider, err := gitprovider.NewProvider(gitServer.Type, gitServer.Protocol, gitServer.BaseUrl, gitServer.AuthToken) if err != nil { return c.Status(400).JSON(models.APIError{ Message: "Unsupported git provider: " + gitServer.Type, @@ -140,7 +140,6 @@ func (h *DeploySiteHandler) PostDeploy(c fiber.Ctx) error { site.Owner, site.Repository, site.Branch, - gitServer.AuthToken, sitePath, )