feat(friend): IFriendService + IPlayedTogetherWriter + DTO records
Task 3: service contract (interface + DTOs) and FriendService skeleton. All methods throw NotImplementedException; Tasks 4-6 fill in the logic. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
11
SVSim.Database/Services/Friend/IPlayedTogetherWriter.cs
Normal file
11
SVSim.Database/Services/Friend/IPlayedTogetherWriter.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace SVSim.Database.Services.Friend;
|
||||
|
||||
/// <summary>
|
||||
/// Records a recent-opponent entry on the owner viewer. Upserts the (owner, opponent)
|
||||
/// row to PlayedAt = now, enforces a 50-row per-viewer retention cap by deleting the
|
||||
/// owner's oldest row when at cap. No-op if owner equals opponent.
|
||||
/// </summary>
|
||||
public interface IPlayedTogetherWriter
|
||||
{
|
||||
Task RecordAsync(long ownerViewerId, long opponentViewerId, BattleParticipationContext ctx, CancellationToken ct);
|
||||
}
|
||||
Reference in New Issue
Block a user