- 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>
35 lines
1022 B
C#
35 lines
1022 B
C#
namespace RR3CommunityServer.Services;
|
|
|
|
// Session Service
|
|
public interface ISessionService
|
|
{
|
|
Task<string> CreateSession(string? synergyId = null);
|
|
Task<bool> ValidateSession(string sessionId);
|
|
Task<string?> GetSynergyIdFromSession(string sessionId);
|
|
}
|
|
|
|
// User Service
|
|
public interface IUserService
|
|
{
|
|
Task<string> GetOrCreateDeviceId(string? existingDeviceId, string hardwareId);
|
|
Task<string> ValidateDeviceId(string deviceId);
|
|
Task<string> GetOrCreateAnonUid();
|
|
Task<string> GetOrCreateSynergyId(string deviceId);
|
|
}
|
|
|
|
// Catalog Service
|
|
public interface ICatalogService
|
|
{
|
|
Task<List<Models.CatalogItem>> GetAvailableItems();
|
|
Task<List<Models.CatalogCategory>> GetCategories();
|
|
Task<string> GetDownloadUrl(string itemId);
|
|
}
|
|
|
|
// DRM Service
|
|
public interface IDrmService
|
|
{
|
|
Task<string> GenerateNonce();
|
|
Task<List<Models.PurchasedItem>> GetPurchasedItems(string synergyId);
|
|
Task<bool> VerifyAndRecordPurchase(string synergyId, Models.PurchaseVerificationRequest request);
|
|
}
|