21 lines
955 B
C#
21 lines
955 B
C#
namespace NeonSprawl.Server.Game.Factions;
|
|
|
|
/// <summary>Append-only reputation delta audit log (NEO-135).</summary>
|
|
public interface IReputationDeltaStore
|
|
{
|
|
/// <summary>
|
|
/// First append with a given row <c>Id</c> returns <c>true</c>; duplicate ids return <c>false</c>.
|
|
/// Postgres: row references <c>player_position</c> — orchestrators (NEO-136) should apply standing before audit append.
|
|
/// </summary>
|
|
bool TryAppend(ReputationDeltaRow row);
|
|
|
|
/// <summary>Audit rows for one player ordered by <see cref="ReputationDeltaRow.RecordedAt"/> then <c>Id</c> ascending.</summary>
|
|
IReadOnlyList<ReputationDeltaRow> GetDeltasForPlayer(string playerId, int? limit = null);
|
|
|
|
/// <summary>
|
|
/// Dev fixture only — removes quest-completion audit rows for one quest (includes rollback rows).
|
|
/// Idempotent when no rows match.
|
|
/// </summary>
|
|
bool TryClearQuestCompletionAudit(string playerId, string questId);
|
|
}
|