mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-09-19 01:39:38 +00:00
Add repos list for admins (#2347)
This commit is contained in:
@@ -68,68 +68,72 @@ func apiRoutes(e *gin.RouterGroup) {
|
||||
}
|
||||
}
|
||||
|
||||
apiBase.GET("/repos/lookup/*repo_full_name", session.SetRepo(), session.SetPerm(), session.MustPull, api.LookupRepo)
|
||||
apiBase.POST("/repos", session.MustUser(), api.PostRepo)
|
||||
repoBase := apiBase.Group("/repos/:repo_id")
|
||||
repo := apiBase.Group("/repos")
|
||||
{
|
||||
repoBase.Use(session.SetRepo())
|
||||
repoBase.Use(session.SetPerm())
|
||||
|
||||
repoBase.GET("/permissions", api.GetRepoPermissions)
|
||||
|
||||
repo := repoBase.Group("")
|
||||
repo.GET("/lookup/*repo_full_name", session.SetRepo(), session.SetPerm(), session.MustPull, api.LookupRepo)
|
||||
repo.POST("", session.MustUser(), api.PostRepo)
|
||||
repo.GET("", session.MustAdmin(), api.GetAllRepos)
|
||||
repoBase := repo.Group("/:repo_id")
|
||||
{
|
||||
repo.Use(session.MustPull)
|
||||
repoBase.Use(session.SetRepo())
|
||||
repoBase.Use(session.SetPerm())
|
||||
|
||||
repo.GET("", api.GetRepo)
|
||||
repoBase.GET("/permissions", api.GetRepoPermissions)
|
||||
|
||||
repo.GET("/branches", api.GetRepoBranches)
|
||||
repo.GET("/pull_requests", api.GetRepoPullRequests)
|
||||
repo := repoBase.Group("")
|
||||
{
|
||||
repo.Use(session.MustPull)
|
||||
|
||||
repo.GET("/pipelines", api.GetPipelines)
|
||||
repo.POST("/pipelines", session.MustPush, api.CreatePipeline)
|
||||
repo.GET("/pipelines/:number", api.GetPipeline)
|
||||
repo.GET("/pipelines/:number/config", api.GetPipelineConfig)
|
||||
repo.GET("", api.GetRepo)
|
||||
|
||||
// requires push permissions
|
||||
repo.POST("/pipelines/:number", session.MustPush, api.PostPipeline)
|
||||
repo.POST("/pipelines/:number/cancel", session.MustPush, api.CancelPipeline)
|
||||
repo.POST("/pipelines/:number/approve", session.MustPush, api.PostApproval)
|
||||
repo.POST("/pipelines/:number/decline", session.MustPush, api.PostDecline)
|
||||
repo.GET("/branches", api.GetRepoBranches)
|
||||
repo.GET("/pull_requests", api.GetRepoPullRequests)
|
||||
|
||||
repo.GET("/logs/:number/:stepId", api.GetStepLogs)
|
||||
repo.GET("/pipelines", api.GetPipelines)
|
||||
repo.POST("/pipelines", session.MustPush, api.CreatePipeline)
|
||||
repo.GET("/pipelines/:number", api.GetPipeline)
|
||||
repo.GET("/pipelines/:number/config", api.GetPipelineConfig)
|
||||
|
||||
// requires push permissions
|
||||
repo.DELETE("/logs/:number", session.MustPush, api.DeletePipelineLogs)
|
||||
// requires push permissions
|
||||
repo.POST("/pipelines/:number", session.MustPush, api.PostPipeline)
|
||||
repo.POST("/pipelines/:number/cancel", session.MustPush, api.CancelPipeline)
|
||||
repo.POST("/pipelines/:number/approve", session.MustPush, api.PostApproval)
|
||||
repo.POST("/pipelines/:number/decline", session.MustPush, api.PostDecline)
|
||||
|
||||
// requires push permissions
|
||||
repo.GET("/secrets", session.MustPush, api.GetSecretList)
|
||||
repo.POST("/secrets", session.MustPush, api.PostSecret)
|
||||
repo.GET("/secrets/:secret", session.MustPush, api.GetSecret)
|
||||
repo.PATCH("/secrets/:secret", session.MustPush, api.PatchSecret)
|
||||
repo.DELETE("/secrets/:secret", session.MustPush, api.DeleteSecret)
|
||||
repo.GET("/logs/:number/:stepId", api.GetStepLogs)
|
||||
|
||||
// requires push permissions
|
||||
repo.GET("/registry", session.MustPush, api.GetRegistryList)
|
||||
repo.POST("/registry", session.MustPush, api.PostRegistry)
|
||||
repo.GET("/registry/:registry", session.MustPush, api.GetRegistry)
|
||||
repo.PATCH("/registry/:registry", session.MustPush, api.PatchRegistry)
|
||||
repo.DELETE("/registry/:registry", session.MustPush, api.DeleteRegistry)
|
||||
// requires push permissions
|
||||
repo.DELETE("/logs/:number", session.MustPush, api.DeletePipelineLogs)
|
||||
|
||||
// requires push permissions
|
||||
repo.GET("/cron", session.MustPush, api.GetCronList)
|
||||
repo.POST("/cron", session.MustPush, api.PostCron)
|
||||
repo.GET("/cron/:cron", session.MustPush, api.GetCron)
|
||||
repo.POST("/cron/:cron", session.MustPush, api.RunCron)
|
||||
repo.PATCH("/cron/:cron", session.MustPush, api.PatchCron)
|
||||
repo.DELETE("/cron/:cron", session.MustPush, api.DeleteCron)
|
||||
// requires push permissions
|
||||
repo.GET("/secrets", session.MustPush, api.GetSecretList)
|
||||
repo.POST("/secrets", session.MustPush, api.PostSecret)
|
||||
repo.GET("/secrets/:secret", session.MustPush, api.GetSecret)
|
||||
repo.PATCH("/secrets/:secret", session.MustPush, api.PatchSecret)
|
||||
repo.DELETE("/secrets/:secret", session.MustPush, api.DeleteSecret)
|
||||
|
||||
// requires admin permissions
|
||||
repo.PATCH("", session.MustRepoAdmin(), api.PatchRepo)
|
||||
repo.DELETE("", session.MustRepoAdmin(), api.DeleteRepo)
|
||||
repo.POST("/chown", session.MustRepoAdmin(), api.ChownRepo)
|
||||
repo.POST("/repair", session.MustRepoAdmin(), api.RepairRepo)
|
||||
repo.POST("/move", session.MustRepoAdmin(), api.MoveRepo)
|
||||
// requires push permissions
|
||||
repo.GET("/registry", session.MustPush, api.GetRegistryList)
|
||||
repo.POST("/registry", session.MustPush, api.PostRegistry)
|
||||
repo.GET("/registry/:registry", session.MustPush, api.GetRegistry)
|
||||
repo.PATCH("/registry/:registry", session.MustPush, api.PatchRegistry)
|
||||
repo.DELETE("/registry/:registry", session.MustPush, api.DeleteRegistry)
|
||||
|
||||
// requires push permissions
|
||||
repo.GET("/cron", session.MustPush, api.GetCronList)
|
||||
repo.POST("/cron", session.MustPush, api.PostCron)
|
||||
repo.GET("/cron/:cron", session.MustPush, api.GetCron)
|
||||
repo.POST("/cron/:cron", session.MustPush, api.RunCron)
|
||||
repo.PATCH("/cron/:cron", session.MustPush, api.PatchCron)
|
||||
repo.DELETE("/cron/:cron", session.MustPush, api.DeleteCron)
|
||||
|
||||
// requires admin permissions
|
||||
repo.PATCH("", session.MustRepoAdmin(), api.PatchRepo)
|
||||
repo.DELETE("", session.MustRepoAdmin(), api.DeleteRepo)
|
||||
repo.POST("/chown", session.MustRepoAdmin(), api.ChownRepo)
|
||||
repo.POST("/repair", session.MustRepoAdmin(), api.RepairRepo)
|
||||
repo.POST("/move", session.MustRepoAdmin(), api.MoveRepo)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user