SupportChild/Database/Blacklist.cs

63 lines
2 KiB
C#
Raw Permalink Normal View History

using MySqlConnector;
namespace SupportChild.Database;
public class Blacklist
{
public static bool IsBanned(ulong userID)
{
using MySqlConnection c = Connection.GetConnection();
c.Open();
using MySqlCommand selection = new MySqlCommand(@"SELECT * FROM blacklisted_users WHERE user_id=@user_id", c);
selection.Parameters.AddWithValue("@user_id", userID);
selection.Prepare();
MySqlDataReader results = selection.ExecuteReader();
// Check if user is blacklisted
if (results.Read())
{
results.Close();
return true;
}
results.Close();
return false;
}
public static bool Ban(ulong blacklistedID, ulong staffID)
{
try
{
using MySqlConnection c = Connection.GetConnection();
c.Open();
using MySqlCommand cmd = new MySqlCommand(@"INSERT INTO blacklisted_users (user_id,time,moderator_id) VALUES (@user_id, UTC_TIMESTAMP(), @moderator_id);", c);
cmd.Parameters.AddWithValue("@user_id", blacklistedID);
cmd.Parameters.AddWithValue("@moderator_id", staffID);
cmd.Prepare();
return cmd.ExecuteNonQuery() > 0;
}
catch (MySqlException e)
{
Logger.Warn("Could not blacklist user in database.", e);
return false;
}
}
public static bool Unban(ulong blacklistedID)
{
try
{
using MySqlConnection c = Connection.GetConnection();
c.Open();
using MySqlCommand cmd = new MySqlCommand(@"DELETE FROM blacklisted_users WHERE user_id=@user_id", c);
cmd.Parameters.AddWithValue("@user_id", blacklistedID);
cmd.Prepare();
return cmd.ExecuteNonQuery() > 0;
}
catch (MySqlException e)
{
Logger.Warn("Could not unblacklist user in database.", e);
return false;
}
}
}