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:
34
RR3CommunityServer/Services/IServices.cs
Normal file
34
RR3CommunityServer/Services/IServices.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user