mirror of
https://github.com/Slug-Boi/cocommit.git
synced 2026-05-13 20:55:47 +00:00
feat: define git users in the program
This commit is contained in:
@@ -30,6 +30,9 @@ var Users = map[string]User{}
|
||||
var DefExclude = []string{}
|
||||
var Groups = map[string][]User{}
|
||||
|
||||
var Git_Users = map[string]User{}
|
||||
var Git_Groups = map[string][]User{}
|
||||
|
||||
func ContainsUser(users []User, user User) bool {
|
||||
return slices.ContainsFunc(users, func(u User) bool {
|
||||
return u.Shortname == user.Shortname &&
|
||||
@@ -89,6 +92,35 @@ func Define_users(author_file string) {
|
||||
}
|
||||
}
|
||||
|
||||
func Define_git_users() {
|
||||
// wipe the git users map
|
||||
Git_Users = map[string]User{}
|
||||
Git_Groups = map[string][]User{}
|
||||
|
||||
// get all authors from git
|
||||
git_authors := GitCheckAuthors()
|
||||
|
||||
for _, usr := range git_authors {
|
||||
if _, ok := Users[usr.Shortname]; !ok {
|
||||
Git_Users[usr.Shortname] = usr
|
||||
Git_Users[usr.Longname] = usr
|
||||
|
||||
group_info := usr.Groups
|
||||
if len(group_info) > 0 {
|
||||
for _, group := range group_info {
|
||||
if Git_Groups[group] == nil {
|
||||
Git_Groups[group] = []User{usr}
|
||||
} else {
|
||||
usr_lst := Git_Groups[group]
|
||||
usr_lst = append(usr_lst, usr)
|
||||
Git_Groups[group] = usr_lst
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func RemoveUser(short string) {
|
||||
usr := Users[short]
|
||||
delete(Users, usr.Shortname)
|
||||
|
||||
Reference in New Issue
Block a user