mirror of
https://github.com/go-gitea/gitea.git
synced 2026-05-15 23:40:58 +02:00
updated DeleteOrgRepos to use GetRepositoryByID
This commit is contained in:
parent
348feff8d1
commit
cfcbdca1f2
@ -21,6 +21,12 @@ func GetOrgRepositories(ctx context.Context, orgID int64) (RepositoryList, error
|
|||||||
return orgRepos, db.GetEngine(ctx).Where("owner_id = ?", orgID).Find(&orgRepos)
|
return orgRepos, db.GetEngine(ctx).Where("owner_id = ?", orgID).Find(&orgRepos)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetOrgRepositoryIDs get repo IDs belonging to the given organization
|
||||||
|
func GetOrgRepositoryIDs(ctx context.Context, orgID int64) ([]int64, error) {
|
||||||
|
var repoIDs []int64
|
||||||
|
return repoIDs, db.GetEngine(ctx).Table("repository").Where("owner_id = ?", orgID).Cols("id").Find(&repoIDs)
|
||||||
|
}
|
||||||
|
|
||||||
type SearchTeamRepoOptions struct {
|
type SearchTeamRepoOptions struct {
|
||||||
db.ListOptions
|
db.ListOptions
|
||||||
TeamID int64
|
TeamID int64
|
||||||
|
|||||||
@ -522,13 +522,13 @@ func DeleteOrgRepos(ctx *context.APIContext) {
|
|||||||
// "404":
|
// "404":
|
||||||
// "$ref": "#/responses/notFound"
|
// "$ref": "#/responses/notFound"
|
||||||
org := ctx.Org.Organization
|
org := ctx.Org.Organization
|
||||||
repos, err := repo_model.GetOrgRepositories(ctx, org.ID)
|
repoIDs, err := repo_model.GetOrgRepositoryIDs(ctx, org.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.APIErrorInternal(err)
|
ctx.APIErrorInternal(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(repos) == 0 {
|
if len(repoIDs) == 0 {
|
||||||
ctx.Status(http.StatusNoContent)
|
ctx.Status(http.StatusNoContent)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -549,7 +549,15 @@ func DeleteOrgRepos(ctx *context.APIContext) {
|
|||||||
// Use HammerContext so deletion continues even if client disconnects
|
// Use HammerContext so deletion continues even if client disconnects
|
||||||
bgCtx := graceful.GetManager().HammerContext()
|
bgCtx := graceful.GetManager().HammerContext()
|
||||||
|
|
||||||
for _, repo := range repos {
|
for _, repoID := range repoIDs {
|
||||||
|
repo, err := repo_model.GetRepositoryByID(bgCtx, repoID)
|
||||||
|
if err != nil {
|
||||||
|
desc := fmt.Sprintf("Failed to get repository ID %d in org %s: %v", repoID, org.Name, err)
|
||||||
|
if noticeErr := system_model.CreateNotice(bgCtx, system_model.NoticeRepository, desc); noticeErr != nil {
|
||||||
|
log.Error("Failed to create notice for repo get failure: %v", noticeErr)
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
if err := repo_service.DeleteRepository(bgCtx, doer, repo, true); err != nil {
|
if err := repo_service.DeleteRepository(bgCtx, doer, repo, true); err != nil {
|
||||||
desc := fmt.Sprintf("Failed to delete repository %s (ID: %d) in org %s: %v", repo.Name, repo.ID, org.Name, err)
|
desc := fmt.Sprintf("Failed to delete repository %s (ID: %d) in org %s: %v", repo.Name, repo.ID, org.Name, err)
|
||||||
if noticeErr := system_model.CreateNotice(bgCtx, system_model.NoticeRepository, desc); noticeErr != nil {
|
if noticeErr := system_model.CreateNotice(bgCtx, system_model.NoticeRepository, desc); noticeErr != nil {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user