mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.5 KiB
48 lines
1.5 KiB
// Copyright 2021 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package private |
|
|
|
import ( |
|
"fmt" |
|
"net/http" |
|
|
|
repo_model "code.gitea.io/gitea/models/repo" |
|
"code.gitea.io/gitea/modules/gitrepo" |
|
"code.gitea.io/gitea/modules/private" |
|
gitea_context "code.gitea.io/gitea/services/context" |
|
repo_service "code.gitea.io/gitea/services/repository" |
|
) |
|
|
|
// SetDefaultBranch updates the default branch |
|
func SetDefaultBranch(ctx *gitea_context.PrivateContext) { |
|
ownerName := ctx.PathParam("owner") |
|
repoName := ctx.PathParam("repo") |
|
branch := ctx.PathParam("branch") |
|
|
|
ctx.Repo.Repository.DefaultBranch = branch |
|
if err := gitrepo.SetDefaultBranch(ctx, ctx.Repo.Repository, ctx.Repo.Repository.DefaultBranch); err != nil { |
|
ctx.JSON(http.StatusInternalServerError, private.Response{ |
|
Err: fmt.Sprintf("Unable to set default branch on repository: %s/%s Error: %v", ownerName, repoName, err), |
|
}) |
|
return |
|
} |
|
|
|
if err := repo_model.UpdateDefaultBranch(ctx, ctx.Repo.Repository); err != nil { |
|
ctx.JSON(http.StatusInternalServerError, private.Response{ |
|
Err: fmt.Sprintf("Unable to set default branch on repository: %s/%s Error: %v", ownerName, repoName, err), |
|
}) |
|
return |
|
} |
|
|
|
if err := repo_service.AddRepoToLicenseUpdaterQueue(&repo_service.LicenseUpdaterOptions{ |
|
RepoID: ctx.Repo.Repository.ID, |
|
}); err != nil { |
|
ctx.JSON(http.StatusInternalServerError, private.Response{ |
|
Err: fmt.Sprintf("Unable to set default branch on repository: %s/%s Error: %v", ownerName, repoName, err), |
|
}) |
|
return |
|
} |
|
|
|
ctx.PlainText(http.StatusOK, "success") |
|
}
|
|
|