namespace DodoSSH.Contracts; /// /// Outcome of a single operation within a sync push. /// /// /// A push returns HTTP 200 even when some operations fail, with one of these per operation. /// Conflicting operations are skipped rather than aborting the batch, so one stale item cannot /// block every other change a client has queued while offline. /// public enum SyncOperationStatus { /// Not a legal value. Unspecified = 0, /// Applied. The response carries the new version and change sequence. Applied = 1, /// /// The expected version did not match. The response carries the server's current entity so /// the client can merge and re-push; the server never merges, because it cannot read the /// payload. /// Conflict = 2, /// The caller lacks permission for this entity. Forbidden = 3, /// Structurally invalid: unknown entity type, malformed envelope, missing field. Invalid = 4, /// /// This operation id was already applied. Retries are therefore exactly-once at operation /// granularity rather than merely at batch granularity. /// Duplicate = 5, }