Add gitservers to backend

This commit is contained in:
2026-05-02 17:37:36 +02:00
parent 38d2083d06
commit 76e3454c4c
6 changed files with 311 additions and 0 deletions
+24
View File
@@ -19,10 +19,27 @@ func Register(app *fiber.App, cfg *config.Config, envCfg *envconfig.EnvConfig, d
siteRepository := cachedrepo.NewCachedSiteRepository(database.NewSQLiteSiteRepository(db))
deploymentRepository := database.NewSQLiteDeploymentRepository(db)
userRepository := database.NewSQLiteUserRepository(db)
gitServerRepository := database.NewSQLiteGitServerRepository(db)
// Seed default git servers if none exist
if gsList, err := gitServerRepository.ListGitServers(); err != nil {
log.Printf("Warning checking gitservers: %v", err)
} else if len(gsList) == 0 {
defaults := []models.GitServer{
{Name: "GitHub", Protocol: "https", BaseUrl: "github.com", Type: "github"},
{Name: "GitLab", Protocol: "https", BaseUrl: "gitlab.com", Type: "gitlab"},
}
for _, d := range defaults {
if err := gitServerRepository.CreateGitServer(&d); err != nil {
log.Printf("Warning creating default gitserver %s: %v", d.Name, err)
}
}
}
siteHandler := handlers.NewSiteHandler(siteRepository)
deploySiteHandler := handlers.NewDeploySiteHandler(envCfg, siteRepository, deploymentRepository)
userHandler := handlers.NewUserHandler(userRepository)
gitServerHandler := handlers.NewGitServerHandler(gitServerRepository)
deploymentsHandler := handlers.NewDeploymentHandler(deploymentRepository)
api := app.Group("/api/v1", middleware.APIHostGuard(envCfg.DashboardHost))
@@ -46,6 +63,13 @@ func Register(app *fiber.App, cfg *config.Config, envCfg *envconfig.EnvConfig, d
protected.Delete("/sites/:id", siteHandler.DeleteSite)
protected.Patch("/sites/:id/enabled", siteHandler.ToggleEnabled)
// Git servers
protected.Get("/gitservers", gitServerHandler.GetGitServers)
protected.Get("/gitservers/:id", gitServerHandler.GetGitServer)
protected.Post("/gitservers", gitServerHandler.PostGitServer)
protected.Put("/gitservers/:id", gitServerHandler.PutGitServer)
protected.Delete("/gitservers/:id", gitServerHandler.DeleteGitServer)
// Forward rules
protected.Get("/sites/:id/forward-rules", siteHandler.GetSiteForwardRules)
protected.Post("/sites/:id/forward-rules", siteHandler.PostForwardRule)