aboutsummaryrefslogtreecommitdiffstats
path: root/models/project/project.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2022-12-10 10:46:31 +0800
committerGitHub <noreply@github.com>2022-12-10 10:46:31 +0800
commit68704532c28cf09db96c988291b2f82c5e615984 (patch)
treec6537092dc11054f96b202fdb957755ed116cd99 /models/project/project.go
parent097d4e30b180eef30600beef2c08095e2571319c (diff)
downloadgitea-68704532c28cf09db96c988291b2f82c5e615984.tar.gz
gitea-68704532c28cf09db96c988291b2f82c5e615984.zip
Rename almost all Ctx functions (#22071)
Diffstat (limited to 'models/project/project.go')
-rw-r--r--models/project/project.go54
1 files changed, 21 insertions, 33 deletions
diff --git a/models/project/project.go b/models/project/project.go
index 384f51c5ac..bcf1166408 100644
--- a/models/project/project.go
+++ b/models/project/project.go
@@ -298,44 +298,32 @@ func changeProjectStatus(ctx context.Context, p *Project, isClosed bool) error {
return updateRepositoryProjectCount(ctx, p.RepoID)
}
-// DeleteProjectByID deletes a project from a repository.
-func DeleteProjectByID(id int64) error {
- ctx, committer, err := db.TxContext(db.DefaultContext)
- if err != nil {
- return err
- }
- defer committer.Close()
-
- if err := DeleteProjectByIDCtx(ctx, id); err != nil {
- return err
- }
-
- return committer.Commit()
-}
-
-// DeleteProjectByIDCtx deletes a project from a repository.
-func DeleteProjectByIDCtx(ctx context.Context, id int64) error {
- p, err := GetProjectByID(ctx, id)
- if err != nil {
- if IsErrProjectNotExist(err) {
- return nil
+// DeleteProjectByID deletes a project from a repository. if it's not in a database
+// transaction, it will start a new database transaction
+func DeleteProjectByID(ctx context.Context, id int64) error {
+ return db.AutoTx(ctx, func(ctx context.Context) error {
+ p, err := GetProjectByID(ctx, id)
+ if err != nil {
+ if IsErrProjectNotExist(err) {
+ return nil
+ }
+ return err
}
- return err
- }
- if err := deleteProjectIssuesByProjectID(ctx, id); err != nil {
- return err
- }
+ if err := deleteProjectIssuesByProjectID(ctx, id); err != nil {
+ return err
+ }
- if err := deleteBoardByProjectID(ctx, id); err != nil {
- return err
- }
+ if err := deleteBoardByProjectID(ctx, id); err != nil {
+ return err
+ }
- if _, err = db.GetEngine(ctx).ID(p.ID).Delete(new(Project)); err != nil {
- return err
- }
+ if _, err = db.GetEngine(ctx).ID(p.ID).Delete(new(Project)); err != nil {
+ return err
+ }
- return updateRepositoryProjectCount(ctx, p.RepoID)
+ return updateRepositoryProjectCount(ctx, p.RepoID)
+ })
}
func DeleteProjectByRepoID(ctx context.Context, repoID int64) error {