package models import "code.gitea.io/gitea/modules/git" func GetRepoKPIStats(repo *Repository) (*git.RepoKPIStats, error) { return git.GetRepoKPIStats(repo.RepoPath()) } func GetAllUserKPIStats() (map[string]*git.UserKPIStats, error) { authors := make(map[string]*git.UserKPIStats) repositorys, err := GetAllRepositoriesByFilterCols("owner_name", "name") if err != nil { return nil, err } for _, repository := range repositorys { authorsOneRepo, err1 := git.GetUserKPIStats(repository.RepoPath()) if err1 != nil { return nil, err } for key, value := range authorsOneRepo { if _, ok := authors[key]; !ok { authors[key] = &git.UserKPIStats{ Name: value.Name, Email: value.Email, Commits: 0, CommitLines: 0, } } authors[key].Commits += value.Commits authors[key].CommitLines += value.CommitLines } } return authors, nil }