aboutsummaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorYarden Shoham <git@yardenshoham.com>2023-05-14 00:59:01 +0300
committerGitHub <noreply@github.com>2023-05-13 21:59:01 +0000
commit4810fe55e3e73edb962052df46bef125eb1817b3 (patch)
treef5f842d1d961a831f0d5daefb8b8e5f68e574115 /services
parent68081c4721b9aeabe368f3eaeb8a4922c15d6918 (diff)
downloadgitea-4810fe55e3e73edb962052df46bef125eb1817b3.tar.gz
gitea-4810fe55e3e73edb962052df46bef125eb1817b3.zip
Add status indicator on main home screen for each repo (#24638)
It will show the calculated commit status state of the latest commit on the default branch for each repository in the dashboard repo list - Closes #15620 # Before ![image](https://github.com/go-gitea/gitea/assets/20454870/aa1326c7-43c0-458a-a798-3102c766bcf9) # After ![image](https://github.com/go-gitea/gitea/assets/20454870/8658cc03-2224-442a-b1c8-bf64126e4575) --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: Giteabot <teabot@gitea.io>
Diffstat (limited to 'services')
-rw-r--r--services/repository/branch.go4
-rw-r--r--services/repository/repository.go14
2 files changed, 18 insertions, 0 deletions
diff --git a/services/repository/branch.go b/services/repository/branch.go
index a085026ae1..cafad34cef 100644
--- a/services/repository/branch.go
+++ b/services/repository/branch.go
@@ -53,6 +53,10 @@ func GetBranches(ctx context.Context, repo *repo_model.Repository, skip, limit i
return git.GetBranchesByPath(ctx, repo.RepoPath(), skip, limit)
}
+func GetBranchCommitID(ctx context.Context, repo *repo_model.Repository, branch string) (string, error) {
+ return git.GetBranchCommitID(ctx, repo.RepoPath(), branch)
+}
+
// checkBranchName validates branch name with existing repository branches
func checkBranchName(ctx context.Context, repo *repo_model.Repository, name string) error {
_, err := git.WalkReferences(ctx, repo.RepoPath(), func(_, refName string) error {
diff --git a/services/repository/repository.go b/services/repository/repository.go
index 0d6529383c..0914a8f6ec 100644
--- a/services/repository/repository.go
+++ b/services/repository/repository.go
@@ -9,6 +9,7 @@ import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/models/db"
+ "code.gitea.io/gitea/models/git"
issues_model "code.gitea.io/gitea/models/issues"
"code.gitea.io/gitea/models/organization"
packages_model "code.gitea.io/gitea/models/packages"
@@ -20,9 +21,22 @@ import (
"code.gitea.io/gitea/modules/notification"
repo_module "code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/structs"
pull_service "code.gitea.io/gitea/services/pull"
)
+// WebSearchRepository represents a repository returned by web search
+type WebSearchRepository struct {
+ Repository *structs.Repository `json:"repository"`
+ LatestCommitStatus *git.CommitStatus `json:"latest_commit_status"`
+}
+
+// WebSearchResults results of a successful web search
+type WebSearchResults struct {
+ OK bool `json:"ok"`
+ Data []*WebSearchRepository `json:"data"`
+}
+
// CreateRepository creates a repository for the user/organization.
func CreateRepository(ctx context.Context, doer, owner *user_model.User, opts repo_module.CreateRepoOptions) (*repo_model.Repository, error) {
repo, err := repo_module.CreateRepository(doer, owner, opts)