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,24 @@
#pragma once
#include <crow.h>
#include <string>
namespace DashboardHelpers {
struct DataTablesParams {
int draw{0};
int start{0};
int length{10};
int orderColumn{-1};
std::string orderDir{"asc"};
};
// Parse common DataTables GET params from the request
DataTablesParams ParseDataTablesParams(const crow::request& req);
// Create a DataTables response object
crow::json::wvalue CreateDataTablesResponse(int draw, uint32_t recordsTotal, uint32_t recordsFiltered, const crow::json::wvalue::list& data);
// Rescue character stub (real logic may be project-specific)
bool RescueCharacter(const uint64_t characterId, const uint32_t zoneId);
}