namespace SharpChat.EventStorage; public partial class MariaDBEventStorage { public static UserPermissions FromStoredPermissions(StoredUserPermissions sup) { UserPermissions perms = 0; if(sup.HasFlag(StoredUserPermissions.KickUser)) perms |= UserPermissions.KickUser; if(sup.HasFlag(StoredUserPermissions.BanUser)) perms |= UserPermissions.BanUser; if(sup.HasFlag(StoredUserPermissions.Broadcast)) perms |= UserPermissions.SendBroadcast; if(sup.HasFlag(StoredUserPermissions.SetOwnNickname)) perms |= UserPermissions.SetOwnNickname; if(sup.HasFlag(StoredUserPermissions.SetOthersNickname)) perms |= UserPermissions.SetOthersNickname; if(sup.HasFlag(StoredUserPermissions.CreateChannel)) perms |= UserPermissions.CreateChannel; if(sup.HasFlag(StoredUserPermissions.DeleteChannel)) perms |= UserPermissions.DeleteChannel; if(sup.HasFlag(StoredUserPermissions.SetChannelPermanent)) perms |= UserPermissions.SetChannelPermanent; if(sup.HasFlag(StoredUserPermissions.SetChannelPassword)) perms |= UserPermissions.SetChannelPassword; if(sup.HasFlag(StoredUserPermissions.SetChannelHierarchy)) perms |= UserPermissions.SetChannelMinimumRank; if(sup.HasFlag(StoredUserPermissions.JoinAnyChannel)) perms |= UserPermissions.JoinAnyChannel; if(sup.HasFlag(StoredUserPermissions.SendMessage)) perms |= UserPermissions.SendMessage; if(sup.HasFlag(StoredUserPermissions.DeleteOwnMessage)) perms |= UserPermissions.DeleteOwnMessage; if(sup.HasFlag(StoredUserPermissions.DeleteAnyMessage)) perms |= UserPermissions.DeleteAnyMessage; if(sup.HasFlag(StoredUserPermissions.EditOwnMessage)) perms |= UserPermissions.EditOwnMessage; if(sup.HasFlag(StoredUserPermissions.EditAnyMessage)) perms |= UserPermissions.EditAnyMessage; if(sup.HasFlag(StoredUserPermissions.SeeIPAddress)) perms |= UserPermissions.ViewIPAddress; if(sup.HasFlag(StoredUserPermissions.ViewLogs)) perms |= UserPermissions.ViewLogs; if(sup.HasFlag(StoredUserPermissions.ViewBanList)) perms |= UserPermissions.ViewBanList; if(sup.HasFlag(StoredUserPermissions.PardonUser)) perms |= UserPermissions.PardonUser; if(sup.HasFlag(StoredUserPermissions.PardonIPAddress)) perms |= UserPermissions.PardonIPAddress; return perms; } public static StoredUserPermissions ToStoredPermissions(UserPermissions up) { StoredUserPermissions perms = 0; if(up.HasFlag(UserPermissions.KickUser)) perms |= StoredUserPermissions.KickUser; if(up.HasFlag(UserPermissions.BanUser)) perms |= StoredUserPermissions.BanUser; if(up.HasFlag(UserPermissions.SendBroadcast)) perms |= StoredUserPermissions.Broadcast; if(up.HasFlag(UserPermissions.SetOwnNickname)) perms |= StoredUserPermissions.SetOwnNickname; if(up.HasFlag(UserPermissions.SetOthersNickname)) perms |= StoredUserPermissions.SetOthersNickname; if(up.HasFlag(UserPermissions.CreateChannel)) perms |= StoredUserPermissions.CreateChannel; if(up.HasFlag(UserPermissions.DeleteChannel)) perms |= StoredUserPermissions.DeleteChannel; if(up.HasFlag(UserPermissions.SetChannelPermanent)) perms |= StoredUserPermissions.SetChannelPermanent; if(up.HasFlag(UserPermissions.SetChannelPassword)) perms |= StoredUserPermissions.SetChannelPassword; if(up.HasFlag(UserPermissions.SetChannelMinimumRank)) perms |= StoredUserPermissions.SetChannelHierarchy; if(up.HasFlag(UserPermissions.JoinAnyChannel)) perms |= StoredUserPermissions.JoinAnyChannel; if(up.HasFlag(UserPermissions.SendMessage)) perms |= StoredUserPermissions.SendMessage; if(up.HasFlag(UserPermissions.DeleteOwnMessage)) perms |= StoredUserPermissions.DeleteOwnMessage; if(up.HasFlag(UserPermissions.DeleteAnyMessage)) perms |= StoredUserPermissions.DeleteAnyMessage; if(up.HasFlag(UserPermissions.EditOwnMessage)) perms |= StoredUserPermissions.EditOwnMessage; if(up.HasFlag(UserPermissions.EditAnyMessage)) perms |= StoredUserPermissions.EditAnyMessage; if(up.HasFlag(UserPermissions.ViewIPAddress)) perms |= StoredUserPermissions.SeeIPAddress; if(up.HasFlag(UserPermissions.ViewLogs)) perms |= StoredUserPermissions.ViewLogs; if(up.HasFlag(UserPermissions.ViewBanList)) perms |= StoredUserPermissions.ViewBanList; if(up.HasFlag(UserPermissions.PardonUser)) perms |= StoredUserPermissions.PardonUser; if(up.HasFlag(UserPermissions.PardonIPAddress)) perms |= StoredUserPermissions.PardonIPAddress; return perms; } }