diff --git a/database/db.go b/database/db.go index 0da13ae..86d47da 100644 --- a/database/db.go +++ b/database/db.go @@ -61,6 +61,16 @@ func IsAllowed(userid uint32, lobbyid uint, channelname string) (bool, string) { return true, "" } +func IsAdmin(userid uint32) bool { + var role int + err := db.QueryRow("SELECT role FROM players WHERE id = $1", userid).Scan(&role) + if err != nil { + log.Println(err) + return false + } + return role == 1 || role == 2 || role == 3 +} + func GetSteamID(userid uint32) string { var steamid string db.QueryRow("SELECT steam_id FROM players WHERE id = $1", userid).Scan(&steamid) diff --git a/mumble/channels.go b/mumble/channels.go index 90d417f..241afb0 100644 --- a/mumble/channels.go +++ b/mumble/channels.go @@ -96,7 +96,7 @@ func getLobbyID(channel *gumble.Channel) uint { } func isUserAllowed(user *gumble.User, channel *gumble.Channel) (bool, string) { - if channel.IsRoot() { + if channel.IsRoot() || database.IsAdmin(userid) { return true, "" }