feat: define git users in the program

This commit is contained in:
Slug-Boi
2025-04-17 23:06:46 +02:00
committed by Theis
parent 9d00236dd3
commit be98ca2f7c
+32
View File
@@ -30,6 +30,9 @@ var Users = map[string]User{}
var DefExclude = []string{} var DefExclude = []string{}
var Groups = map[string][]User{} var Groups = map[string][]User{}
var Git_Users = map[string]User{}
var Git_Groups = map[string][]User{}
func ContainsUser(users []User, user User) bool { func ContainsUser(users []User, user User) bool {
return slices.ContainsFunc(users, func(u User) bool { return slices.ContainsFunc(users, func(u User) bool {
return u.Shortname == user.Shortname && 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) { func RemoveUser(short string) {
usr := Users[short] usr := Users[short]
delete(Users, usr.Shortname) delete(Users, usr.Shortname)