Add dashboard audit log and configuration management

- Implemented dashboard audit logging with InsertAuditLog, GetRecentAuditLogs, GetAuditLogsByIP, and CleanupOldAuditLogs methods.
- Created dashboard configuration management with GetDashboardConfig and SetDashboardConfig methods.
- Added new tables for dashboard_audit_log and dashboard_config in both MySQL and SQLite migrations.
- Updated CMakeLists to include Crow and ASIO for dashboard server functionality.
- Enhanced existing database classes to support new dashboard features, including character, play key, and property management.
- Added new methods for retrieving and managing play keys, properties, and pet names.
- Updated TestSQLDatabase to include stubs for new dashboard-related methods.
- Modified shared and dashboard configuration files for new settings.
This commit is contained in:
Aaron Kimbrell
2026-04-22 11:01:41 -05:00
parent d532a9b063
commit e3467465b4
92 changed files with 9133 additions and 77 deletions

View File

@@ -0,0 +1,27 @@
#ifndef __IDASHBOARDCONFIG__H__
#define __IDASHBOARDCONFIG__H__
#include <optional>
#include <string>
#include <string_view>
/**
* Interface for Dashboard configuration table.
* Stores key-value configuration settings for the Dashboard server.
*/
class IDashboardConfig {
public:
struct DashboardConfig {
std::string key;
std::string value;
};
// Get a configuration value
virtual std::optional<std::string> GetDashboardConfig(const std::string_view key) = 0;
// Set a configuration value
virtual void SetDashboardConfig(const std::string_view key, const std::string_view value) = 0;
};
#endif //!__IDASHBOARDCONFIG__H__