using SharpChat.Users; namespace SharpChat.SQLite; public static class SQLiteUserPermissionsConverter { public static UserPermissions From(SQLiteUserPermissions sup) { UserPermissions up = 0; if(sup.HasFlag(SQLiteUserPermissions.SendMessage)) up |= UserPermissions.SendMessage; if(sup.HasFlag(SQLiteUserPermissions.DeleteOwnMessage)) up |= UserPermissions.DeleteOwnMessage; if(sup.HasFlag(SQLiteUserPermissions.DeleteAnyMessage)) up |= UserPermissions.DeleteAnyMessage; if(sup.HasFlag(SQLiteUserPermissions.EditOwnMessage)) up |= UserPermissions.EditOwnMessage; if(sup.HasFlag(SQLiteUserPermissions.EditAnyMessage)) up |= UserPermissions.EditAnyMessage; if(sup.HasFlag(SQLiteUserPermissions.SendBroadcast)) up |= UserPermissions.SendBroadcast; if(sup.HasFlag(SQLiteUserPermissions.ViewLogs)) up |= UserPermissions.ViewLogs; if(sup.HasFlag(SQLiteUserPermissions.KickUser)) up |= UserPermissions.KickUser; if(sup.HasFlag(SQLiteUserPermissions.BanUser)) up |= UserPermissions.BanUser; if(sup.HasFlag(SQLiteUserPermissions.PardonUser)) up |= UserPermissions.PardonUser; if(sup.HasFlag(SQLiteUserPermissions.PardonIPAddress)) up |= UserPermissions.PardonIPAddress; if(sup.HasFlag(SQLiteUserPermissions.ViewIPAddress)) up |= UserPermissions.ViewIPAddress; if(sup.HasFlag(SQLiteUserPermissions.ViewBanList)) up |= UserPermissions.ViewBanList; if(sup.HasFlag(SQLiteUserPermissions.CreateChannel)) up |= UserPermissions.CreateChannel; if(sup.HasFlag(SQLiteUserPermissions.SetChannelPermanent)) up |= UserPermissions.SetChannelPermanent; if(sup.HasFlag(SQLiteUserPermissions.SetChannelPassword)) up |= UserPermissions.SetChannelPassword; if(sup.HasFlag(SQLiteUserPermissions.SetChannelMinimumRank)) up |= UserPermissions.SetChannelMinimumRank; if(sup.HasFlag(SQLiteUserPermissions.DeleteChannel)) up |= UserPermissions.DeleteChannel; if(sup.HasFlag(SQLiteUserPermissions.JoinAnyChannel)) up |= UserPermissions.JoinAnyChannel; if(sup.HasFlag(SQLiteUserPermissions.SetOwnNickname)) up |= UserPermissions.SetOwnNickname; if(sup.HasFlag(SQLiteUserPermissions.SetOthersNickname)) up |= UserPermissions.SetOthersNickname; return up; } public static SQLiteUserPermissions To(UserPermissions up) { SQLiteUserPermissions sup = 0; if(up.HasFlag(UserPermissions.SendMessage)) sup |= SQLiteUserPermissions.SendMessage; if(up.HasFlag(UserPermissions.DeleteOwnMessage)) sup |= SQLiteUserPermissions.DeleteOwnMessage; if(up.HasFlag(UserPermissions.DeleteAnyMessage)) sup |= SQLiteUserPermissions.DeleteAnyMessage; if(up.HasFlag(UserPermissions.EditOwnMessage)) sup |= SQLiteUserPermissions.EditOwnMessage; if(up.HasFlag(UserPermissions.EditAnyMessage)) sup |= SQLiteUserPermissions.EditAnyMessage; if(up.HasFlag(UserPermissions.SendBroadcast)) sup |= SQLiteUserPermissions.SendBroadcast; if(up.HasFlag(UserPermissions.ViewLogs)) sup |= SQLiteUserPermissions.ViewLogs; if(up.HasFlag(UserPermissions.KickUser)) sup |= SQLiteUserPermissions.KickUser; if(up.HasFlag(UserPermissions.BanUser)) sup |= SQLiteUserPermissions.BanUser; if(up.HasFlag(UserPermissions.PardonUser)) sup |= SQLiteUserPermissions.PardonUser; if(up.HasFlag(UserPermissions.PardonIPAddress)) sup |= SQLiteUserPermissions.PardonIPAddress; if(up.HasFlag(UserPermissions.ViewIPAddress)) sup |= SQLiteUserPermissions.ViewIPAddress; if(up.HasFlag(UserPermissions.ViewBanList)) sup |= SQLiteUserPermissions.ViewBanList; if(up.HasFlag(UserPermissions.CreateChannel)) sup |= SQLiteUserPermissions.CreateChannel; if(up.HasFlag(UserPermissions.SetChannelPermanent)) sup |= SQLiteUserPermissions.SetChannelPermanent; if(up.HasFlag(UserPermissions.SetChannelPassword)) sup |= SQLiteUserPermissions.SetChannelPassword; if(up.HasFlag(UserPermissions.SetChannelMinimumRank)) sup |= SQLiteUserPermissions.SetChannelMinimumRank; if(up.HasFlag(UserPermissions.DeleteChannel)) sup |= SQLiteUserPermissions.DeleteChannel; if(up.HasFlag(UserPermissions.JoinAnyChannel)) sup |= SQLiteUserPermissions.JoinAnyChannel; if(up.HasFlag(UserPermissions.SetOwnNickname)) sup |= SQLiteUserPermissions.SetOwnNickname; if(up.HasFlag(UserPermissions.SetOthersNickname)) sup |= SQLiteUserPermissions.SetOthersNickname; return sup; } }