Files
rr3-server/RR3CommunityServer/Services/IServices.cs
Daniel Elliott 0a327f3a8b 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>
2026-02-17 22:02:12 -08:00

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);
}