sharp-chat/SharpChat/EventStorage/MariaDBEventStorage_Permissions.cs

100 lines
5 KiB
C#

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;
}
}