using SharpChat.Users; namespace SharpChat.MariaDB; public static class MariaDBUserPermissionsConverter { public static UserPermissions From(MariaDBUserPermissions mup) { UserPermissions perms = 0; if(mup.HasFlag(MariaDBUserPermissions.KickUser)) perms |= UserPermissions.KickUser; if(mup.HasFlag(MariaDBUserPermissions.BanUser)) perms |= UserPermissions.BanUser; if(mup.HasFlag(MariaDBUserPermissions.Broadcast)) perms |= UserPermissions.SendBroadcast; if(mup.HasFlag(MariaDBUserPermissions.SetOwnNickname)) perms |= UserPermissions.SetOwnNickname; if(mup.HasFlag(MariaDBUserPermissions.SetOthersNickname)) perms |= UserPermissions.SetOthersNickname; if(mup.HasFlag(MariaDBUserPermissions.CreateChannel)) perms |= UserPermissions.CreateChannel; if(mup.HasFlag(MariaDBUserPermissions.DeleteChannel)) perms |= UserPermissions.DeleteChannel; if(mup.HasFlag(MariaDBUserPermissions.SetChannelPermanent)) perms |= UserPermissions.SetChannelPermanent; if(mup.HasFlag(MariaDBUserPermissions.SetChannelPassword)) perms |= UserPermissions.SetChannelPassword; if(mup.HasFlag(MariaDBUserPermissions.SetChannelHierarchy)) perms |= UserPermissions.SetChannelMinimumRank; if(mup.HasFlag(MariaDBUserPermissions.JoinAnyChannel)) perms |= UserPermissions.JoinAnyChannel; if(mup.HasFlag(MariaDBUserPermissions.SendMessage)) perms |= UserPermissions.SendMessage; if(mup.HasFlag(MariaDBUserPermissions.DeleteOwnMessage)) perms |= UserPermissions.DeleteOwnMessage; if(mup.HasFlag(MariaDBUserPermissions.DeleteAnyMessage)) perms |= UserPermissions.DeleteAnyMessage; if(mup.HasFlag(MariaDBUserPermissions.EditOwnMessage)) perms |= UserPermissions.EditOwnMessage; if(mup.HasFlag(MariaDBUserPermissions.EditAnyMessage)) perms |= UserPermissions.EditAnyMessage; if(mup.HasFlag(MariaDBUserPermissions.SeeIPAddress)) perms |= UserPermissions.ViewIPAddress; if(mup.HasFlag(MariaDBUserPermissions.ViewLogs)) perms |= UserPermissions.ViewLogs; if(mup.HasFlag(MariaDBUserPermissions.ViewBanList)) perms |= UserPermissions.ViewBanList; if(mup.HasFlag(MariaDBUserPermissions.PardonUser)) perms |= UserPermissions.PardonUser; if(mup.HasFlag(MariaDBUserPermissions.PardonIPAddress)) perms |= UserPermissions.PardonIPAddress; return perms; } public static MariaDBUserPermissions To(UserPermissions up) { MariaDBUserPermissions perms = 0; if(up.HasFlag(UserPermissions.KickUser)) perms |= MariaDBUserPermissions.KickUser; if(up.HasFlag(UserPermissions.BanUser)) perms |= MariaDBUserPermissions.BanUser; if(up.HasFlag(UserPermissions.SendBroadcast)) perms |= MariaDBUserPermissions.Broadcast; if(up.HasFlag(UserPermissions.SetOwnNickname)) perms |= MariaDBUserPermissions.SetOwnNickname; if(up.HasFlag(UserPermissions.SetOthersNickname)) perms |= MariaDBUserPermissions.SetOthersNickname; if(up.HasFlag(UserPermissions.CreateChannel)) perms |= MariaDBUserPermissions.CreateChannel; if(up.HasFlag(UserPermissions.DeleteChannel)) perms |= MariaDBUserPermissions.DeleteChannel; if(up.HasFlag(UserPermissions.SetChannelPermanent)) perms |= MariaDBUserPermissions.SetChannelPermanent; if(up.HasFlag(UserPermissions.SetChannelPassword)) perms |= MariaDBUserPermissions.SetChannelPassword; if(up.HasFlag(UserPermissions.SetChannelMinimumRank)) perms |= MariaDBUserPermissions.SetChannelHierarchy; if(up.HasFlag(UserPermissions.JoinAnyChannel)) perms |= MariaDBUserPermissions.JoinAnyChannel; if(up.HasFlag(UserPermissions.SendMessage)) perms |= MariaDBUserPermissions.SendMessage; if(up.HasFlag(UserPermissions.DeleteOwnMessage)) perms |= MariaDBUserPermissions.DeleteOwnMessage; if(up.HasFlag(UserPermissions.DeleteAnyMessage)) perms |= MariaDBUserPermissions.DeleteAnyMessage; if(up.HasFlag(UserPermissions.EditOwnMessage)) perms |= MariaDBUserPermissions.EditOwnMessage; if(up.HasFlag(UserPermissions.EditAnyMessage)) perms |= MariaDBUserPermissions.EditAnyMessage; if(up.HasFlag(UserPermissions.ViewIPAddress)) perms |= MariaDBUserPermissions.SeeIPAddress; if(up.HasFlag(UserPermissions.ViewLogs)) perms |= MariaDBUserPermissions.ViewLogs; if(up.HasFlag(UserPermissions.ViewBanList)) perms |= MariaDBUserPermissions.ViewBanList; if(up.HasFlag(UserPermissions.PardonUser)) perms |= MariaDBUserPermissions.PardonUser; if(up.HasFlag(UserPermissions.PardonIPAddress)) perms |= MariaDBUserPermissions.PardonIPAddress; return perms; } }