namespace DodoSSH.Contracts;

/// <summary>
/// What a sync change did to an entity.
/// </summary>
/// <remarks>
/// There is no hard delete. A delete is a revisioned tombstone, because a client that has been
/// offline must be able to learn that an item went away; a row that simply vanished would be
/// indistinguishable from one the client had never seen.
/// </remarks>
public enum SyncOperation
{
    /// <summary>Not a legal value.</summary>
    Unspecified = 0,

    /// <summary>The entity was created or modified.</summary>
    Upsert = 1,

    /// <summary>The entity was soft-deleted, leaving a tombstone.</summary>
    Delete = 2,
}
