package common import "strings" // user/admin privileges const ( UserPrivilegePublic UserPrivileges = 1 << iota UserPrivilegeNormal UserPrivilegeDonor AdminPrivilegeAccessRAP AdminPrivilegeManageUsers AdminPrivilegeBanUsers AdminPrivilegeSilenceUsers AdminPrivilegeWipeUsers AdminPrivilegeManageBeatmap AdminPrivilegeManageServer AdminPrivilegeManageSetting AdminPrivilegeManageBetaKey AdminPrivilegeManageReport AdminPrivilegeManageDocs AdminPrivilegeManageBadges AdminPrivilegeViewRAPLogs AdminPrivilegeManagePrivilege AdminPrivilegeSendAlerts AdminPrivilegeChatMod AdminPrivilegeKickUsers UserPrivilegePendingVerification ) // UserPrivileges represents a bitwise enum of the privileges of an user. type UserPrivileges uint64 var userPrivilegeString = [...]string{ "UserPublic", "UserNormal", "UserDonor", "AdminAccessRAP", "AdminManageUsers", "AdminBanUsers", "AdminSilenceUsers", "AdminWipeUsers", "AdminManageBeatmap", "AdminManageServer", "AdminManageSetting", "AdminManageBetaKey", "AdminManageReport", "AdminManageDocs", "AdminManageBadges", "AdminViewRAPLogs", "AdminManagePrivilege", "AdminSendAlerts", "AdminChatMod", "AdminKickUsers", "UserPendingVerification", } func (p UserPrivileges) String() string { var pvs []string for i, v := range userPrivilegeString { if uint64(p)&uint64(1<