aboutsummaryrefslogtreecommitdiffstats
path: root/models/project
diff options
context:
space:
mode:
Diffstat (limited to 'models/project')
-rw-r--r--models/project/project.go42
1 files changed, 13 insertions, 29 deletions
diff --git a/models/project/project.go b/models/project/project.go
index f516466854..c003664fa3 100644
--- a/models/project/project.go
+++ b/models/project/project.go
@@ -359,41 +359,25 @@ func updateRepositoryProjectCount(ctx context.Context, repoID int64) error {
// ChangeProjectStatusByRepoIDAndID toggles a project between opened and closed
func ChangeProjectStatusByRepoIDAndID(ctx context.Context, repoID, projectID int64, isClosed bool) error {
- ctx, committer, err := db.TxContext(ctx)
- if err != nil {
- return err
- }
- defer committer.Close()
-
- p := new(Project)
-
- has, err := db.GetEngine(ctx).ID(projectID).Where("repo_id = ?", repoID).Get(p)
- if err != nil {
- return err
- } else if !has {
- return ErrProjectNotExist{ID: projectID, RepoID: repoID}
- }
+ return db.WithTx(ctx, func(ctx context.Context) error {
+ p := new(Project)
- if err := changeProjectStatus(ctx, p, isClosed); err != nil {
- return err
- }
+ has, err := db.GetEngine(ctx).ID(projectID).Where("repo_id = ?", repoID).Get(p)
+ if err != nil {
+ return err
+ } else if !has {
+ return ErrProjectNotExist{ID: projectID, RepoID: repoID}
+ }
- return committer.Commit()
+ return changeProjectStatus(ctx, p, isClosed)
+ })
}
// ChangeProjectStatus toggle a project between opened and closed
func ChangeProjectStatus(ctx context.Context, p *Project, isClosed bool) error {
- ctx, committer, err := db.TxContext(ctx)
- if err != nil {
- return err
- }
- defer committer.Close()
-
- if err := changeProjectStatus(ctx, p, isClosed); err != nil {
- return err
- }
-
- return committer.Commit()
+ return db.WithTx(ctx, func(ctx context.Context) error {
+ return changeProjectStatus(ctx, p, isClosed)
+ })
}
func changeProjectStatus(ctx context.Context, p *Project, isClosed bool) error {