You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

repo_activity_custom.go 907 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package models
  2. import "code.gitea.io/gitea/modules/git"
  3. func GetRepoKPIStats(repo *Repository) (*git.RepoKPIStats, error) {
  4. return git.GetRepoKPIStats(repo.RepoPath())
  5. }
  6. func GetAllUserKPIStats() (map[string]*git.UserKPIStats, error) {
  7. authors := make(map[string]*git.UserKPIStats)
  8. repositorys, err := GetAllRepositoriesByFilterCols("owner_name", "name")
  9. if err != nil {
  10. return nil, err
  11. }
  12. for _, repository := range repositorys {
  13. authorsOneRepo, err1 := git.GetUserKPIStats(repository.RepoPath())
  14. if err1 != nil {
  15. return nil, err
  16. }
  17. for key, value := range authorsOneRepo {
  18. if _, ok := authors[key]; !ok {
  19. authors[key] = &git.UserKPIStats{
  20. Name: value.Name,
  21. Email: value.Email,
  22. Commits: 0,
  23. CommitLines: 0,
  24. }
  25. }
  26. authors[key].Commits += value.Commits
  27. authors[key].CommitLines += value.CommitLines
  28. }
  29. }
  30. return authors, nil
  31. }