**MAJOR UPDATE**

- New database schema
- Added `css_admins_flags` table
- Added `css_unmutes` table
- Added `css_unbans` table
This commit is contained in:
Dawid Bepierszcz
2024-04-20 18:56:41 +02:00
parent 7a8fd066f7
commit 270b36fa26
20 changed files with 523 additions and 226 deletions

View File

@@ -1,31 +1,60 @@
using Microsoft.Extensions.Logging;
using MySqlConnector;
namespace CS2_SimpleAdmin
namespace CS2_SimpleAdmin;
public class Database(string dbConnectionString)
{
public class Database
private readonly string _dbConnectionString = dbConnectionString;
public MySqlConnection GetConnection()
{
private readonly string _dbConnectionString;
public Database(string dbConnectionString)
try
{
_dbConnectionString = dbConnectionString;
var connection = new MySqlConnection(_dbConnectionString);
connection.Open();
return connection;
}
public async Task<MySqlConnection> GetConnectionAsync()
catch (Exception ex)
{
try
{
var connection = new MySqlConnection(_dbConnectionString);
await connection.OpenAsync();
return connection;
}
catch (Exception ex)
{
if (CS2_SimpleAdmin._logger != null)
CS2_SimpleAdmin._logger.LogCritical($"Unable to connect to database: {ex.Message}");
throw;
}
if (CS2_SimpleAdmin._logger != null)
CS2_SimpleAdmin._logger.LogCritical($"Unable to connect to database: {ex.Message}");
throw;
}
}
}
public async Task<MySqlConnection> GetConnectionAsync()
{
try
{
var connection = new MySqlConnection(_dbConnectionString);
await connection.OpenAsync();
return connection;
}
catch (Exception ex)
{
CS2_SimpleAdmin._logger?.LogCritical($"Unable to connect to database: {ex.Message}");
throw;
}
}
public void DatabaseMigration()
{
Migration migrator = new(this);
migrator.ExecuteMigrations();
}
public bool CheckDatabaseConnection()
{
using MySqlConnection connection = GetConnection();
try
{
return connection.Ping();
}
catch
{
return false;
}
}
}