summaryrefslogtreecommitdiffstats
path: root/models/project
diff options
context:
space:
mode:
authorJakobDev <jakobdev@gmx.de>2023-09-29 14:12:54 +0200
committerGitHub <noreply@github.com>2023-09-29 12:12:54 +0000
commitcf0df023be06c8acec4fc8fb05eab1d1c2e52fd1 (patch)
tree4fd233354202942b597f3591a22e5ea14fe7d0eb /models/project
parent3945c26722dececf2433107c47821238dae7e3c2 (diff)
downloadgitea-cf0df023be06c8acec4fc8fb05eab1d1c2e52fd1.tar.gz
gitea-cf0df023be06c8acec4fc8fb05eab1d1c2e52fd1.zip
More `db.DefaultContext` refactor (#27265)
Part of #27065 This PR touches functions used in templates. As templates are not static typed, errors are harder to find, but I hope I catch it all. I think some tests from other persons do not hurt.
Diffstat (limited to 'models/project')
-rw-r--r--models/project/board.go22
-rw-r--r--models/project/issue.go16
-rw-r--r--models/project/project.go18
-rw-r--r--models/project/project_test.go4
4 files changed, 30 insertions, 30 deletions
diff --git a/models/project/board.go b/models/project/board.go
index 2ab1d5c7b5..3e2d8e0472 100644
--- a/models/project/board.go
+++ b/models/project/board.go
@@ -69,8 +69,8 @@ func (Board) TableName() string {
}
// NumIssues return counter of all issues assigned to the board
-func (b *Board) NumIssues() int {
- c, err := db.GetEngine(db.DefaultContext).Table("project_issue").
+func (b *Board) NumIssues(ctx context.Context) int {
+ c, err := db.GetEngine(ctx).Table("project_issue").
Where("project_id=?", b.ProjectID).
And("project_board_id=?", b.ID).
GroupBy("issue_id").
@@ -142,18 +142,18 @@ func createBoardsForProjectsType(ctx context.Context, project *Project) error {
}
// NewBoard adds a new project board to a given project
-func NewBoard(board *Board) error {
+func NewBoard(ctx context.Context, board *Board) error {
if len(board.Color) != 0 && !BoardColorPattern.MatchString(board.Color) {
return fmt.Errorf("bad color code: %s", board.Color)
}
- _, err := db.GetEngine(db.DefaultContext).Insert(board)
+ _, err := db.GetEngine(ctx).Insert(board)
return err
}
// DeleteBoardByID removes all issues references to the project board.
-func DeleteBoardByID(boardID int64) error {
- ctx, committer, err := db.TxContext(db.DefaultContext)
+func DeleteBoardByID(ctx context.Context, boardID int64) error {
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return err
}
@@ -265,8 +265,8 @@ func (p *Project) getDefaultBoard(ctx context.Context) (*Board, error) {
// SetDefaultBoard represents a board for issues not assigned to one
// if boardID is 0 unset default
-func SetDefaultBoard(projectID, boardID int64) error {
- _, err := db.GetEngine(db.DefaultContext).Where(builder.Eq{
+func SetDefaultBoard(ctx context.Context, projectID, boardID int64) error {
+ _, err := db.GetEngine(ctx).Where(builder.Eq{
"project_id": projectID,
"`default`": true,
}).Cols("`default`").Update(&Board{Default: false})
@@ -275,7 +275,7 @@ func SetDefaultBoard(projectID, boardID int64) error {
}
if boardID > 0 {
- _, err = db.GetEngine(db.DefaultContext).ID(boardID).Where(builder.Eq{"project_id": projectID}).
+ _, err = db.GetEngine(ctx).ID(boardID).Where(builder.Eq{"project_id": projectID}).
Cols("`default`").Update(&Board{Default: true})
}
@@ -283,9 +283,9 @@ func SetDefaultBoard(projectID, boardID int64) error {
}
// UpdateBoardSorting update project board sorting
-func UpdateBoardSorting(bs BoardList) error {
+func UpdateBoardSorting(ctx context.Context, bs BoardList) error {
for i := range bs {
- _, err := db.GetEngine(db.DefaultContext).ID(bs[i].ID).Cols(
+ _, err := db.GetEngine(ctx).ID(bs[i].ID).Cols(
"sorting",
).Update(bs[i])
if err != nil {
diff --git a/models/project/issue.go b/models/project/issue.go
index 3269197d6c..ebc9719de5 100644
--- a/models/project/issue.go
+++ b/models/project/issue.go
@@ -34,8 +34,8 @@ func deleteProjectIssuesByProjectID(ctx context.Context, projectID int64) error
}
// NumIssues return counter of all issues assigned to a project
-func (p *Project) NumIssues() int {
- c, err := db.GetEngine(db.DefaultContext).Table("project_issue").
+func (p *Project) NumIssues(ctx context.Context) int {
+ c, err := db.GetEngine(ctx).Table("project_issue").
Where("project_id=?", p.ID).
GroupBy("issue_id").
Cols("issue_id").
@@ -48,8 +48,8 @@ func (p *Project) NumIssues() int {
}
// NumClosedIssues return counter of closed issues assigned to a project
-func (p *Project) NumClosedIssues() int {
- c, err := db.GetEngine(db.DefaultContext).Table("project_issue").
+func (p *Project) NumClosedIssues(ctx context.Context) int {
+ c, err := db.GetEngine(ctx).Table("project_issue").
Join("INNER", "issue", "project_issue.issue_id=issue.id").
Where("project_issue.project_id=? AND issue.is_closed=?", p.ID, true).
Cols("issue_id").
@@ -62,8 +62,8 @@ func (p *Project) NumClosedIssues() int {
}
// NumOpenIssues return counter of open issues assigned to a project
-func (p *Project) NumOpenIssues() int {
- c, err := db.GetEngine(db.DefaultContext).Table("project_issue").
+func (p *Project) NumOpenIssues(ctx context.Context) int {
+ c, err := db.GetEngine(ctx).Table("project_issue").
Join("INNER", "issue", "project_issue.issue_id=issue.id").
Where("project_issue.project_id=? AND issue.is_closed=?", p.ID, false).
Cols("issue_id").
@@ -76,8 +76,8 @@ func (p *Project) NumOpenIssues() int {
}
// MoveIssuesOnProjectBoard moves or keeps issues in a column and sorts them inside that column
-func MoveIssuesOnProjectBoard(board *Board, sortedIssueIDs map[int64]int64) error {
- return db.WithTx(db.DefaultContext, func(ctx context.Context) error {
+func MoveIssuesOnProjectBoard(ctx context.Context, board *Board, sortedIssueIDs map[int64]int64) error {
+ return db.WithTx(ctx, func(ctx context.Context) error {
sess := db.GetEngine(ctx)
issueIDs := make([]int64, 0, len(sortedIssueIDs))
diff --git a/models/project/project.go b/models/project/project.go
index 8056aba252..3a1bfe1dbd 100644
--- a/models/project/project.go
+++ b/models/project/project.go
@@ -124,9 +124,9 @@ func (p *Project) LoadRepo(ctx context.Context) (err error) {
}
// Link returns the project's relative URL.
-func (p *Project) Link() string {
+func (p *Project) Link(ctx context.Context) string {
if p.OwnerID > 0 {
- err := p.LoadOwner(db.DefaultContext)
+ err := p.LoadOwner(ctx)
if err != nil {
log.Error("LoadOwner: %v", err)
return ""
@@ -134,7 +134,7 @@ func (p *Project) Link() string {
return fmt.Sprintf("%s/-/projects/%d", p.Owner.HomeLink(), p.ID)
}
if p.RepoID > 0 {
- err := p.LoadRepo(db.DefaultContext)
+ err := p.LoadRepo(ctx)
if err != nil {
log.Error("LoadRepo: %v", err)
return ""
@@ -261,7 +261,7 @@ func FindProjects(ctx context.Context, opts SearchOptions) ([]*Project, int64, e
}
// NewProject creates a new Project
-func NewProject(p *Project) error {
+func NewProject(ctx context.Context, p *Project) error {
if !IsBoardTypeValid(p.BoardType) {
p.BoardType = BoardTypeNone
}
@@ -274,7 +274,7 @@ func NewProject(p *Project) error {
return util.NewInvalidArgumentErrorf("project type is not valid")
}
- ctx, committer, err := db.TxContext(db.DefaultContext)
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return err
}
@@ -348,8 +348,8 @@ func updateRepositoryProjectCount(ctx context.Context, repoID int64) error {
}
// ChangeProjectStatusByRepoIDAndID toggles a project between opened and closed
-func ChangeProjectStatusByRepoIDAndID(repoID, projectID int64, isClosed bool) error {
- ctx, committer, err := db.TxContext(db.DefaultContext)
+func ChangeProjectStatusByRepoIDAndID(ctx context.Context, repoID, projectID int64, isClosed bool) error {
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return err
}
@@ -372,8 +372,8 @@ func ChangeProjectStatusByRepoIDAndID(repoID, projectID int64, isClosed bool) er
}
// ChangeProjectStatus toggle a project between opened and closed
-func ChangeProjectStatus(p *Project, isClosed bool) error {
- ctx, committer, err := db.TxContext(db.DefaultContext)
+func ChangeProjectStatus(ctx context.Context, p *Project, isClosed bool) error {
+ ctx, committer, err := db.TxContext(ctx)
if err != nil {
return err
}
diff --git a/models/project/project_test.go b/models/project/project_test.go
index d1a4715653..6b5bd5b371 100644
--- a/models/project/project_test.go
+++ b/models/project/project_test.go
@@ -60,7 +60,7 @@ func TestProject(t *testing.T) {
CreatorID: 2,
}
- assert.NoError(t, NewProject(project))
+ assert.NoError(t, NewProject(db.DefaultContext, project))
_, err := GetProjectByID(db.DefaultContext, project.ID)
assert.NoError(t, err)
@@ -74,7 +74,7 @@ func TestProject(t *testing.T) {
assert.Equal(t, project.Title, projectFromDB.Title)
- assert.NoError(t, ChangeProjectStatus(project, true))
+ assert.NoError(t, ChangeProjectStatus(db.DefaultContext, project, true))
// Retrieve from DB afresh to check if it is truly closed
projectFromDB, err = GetProjectByID(db.DefaultContext, project.ID)