Initial commit: RR3 Community Server with web admin panel
- ASP.NET Core 8 REST API server - 12 API endpoints matching EA Synergy protocol - SQLite database with Entity Framework Core - Web admin panel with Bootstrap 5 - User, Catalog, Session, Purchase management - Comprehensive documentation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
49
RR3CommunityServer/Controllers/TrackingController.cs
Normal file
49
RR3CommunityServer/Controllers/TrackingController.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using RR3CommunityServer.Models;
|
||||
|
||||
namespace RR3CommunityServer.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("tracking/api/core")]
|
||||
public class TrackingController : ControllerBase
|
||||
{
|
||||
private readonly ILogger<TrackingController> _logger;
|
||||
|
||||
public TrackingController(ILogger<TrackingController> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
[HttpPost("logEvent")]
|
||||
public ActionResult<SynergyResponse<object>> LogEvent([FromBody] TrackingEvent trackingEvent)
|
||||
{
|
||||
_logger.LogInformation("Tracking Event: {EventType} at {Timestamp}",
|
||||
trackingEvent.eventType,
|
||||
trackingEvent.timestamp);
|
||||
|
||||
// For community server, we just log and accept all events
|
||||
var response = new SynergyResponse<object>
|
||||
{
|
||||
resultCode = 0,
|
||||
message = "Event logged",
|
||||
data = new { received = true }
|
||||
};
|
||||
|
||||
return Ok(response);
|
||||
}
|
||||
|
||||
[HttpPost("logEvents")]
|
||||
public ActionResult<SynergyResponse<object>> LogEvents([FromBody] List<TrackingEvent> events)
|
||||
{
|
||||
_logger.LogInformation("Tracking Batch: {Count} events", events.Count);
|
||||
|
||||
var response = new SynergyResponse<object>
|
||||
{
|
||||
resultCode = 0,
|
||||
message = $"{events.Count} events logged",
|
||||
data = new { received = events.Count }
|
||||
};
|
||||
|
||||
return Ok(response);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user