namespace ZB.MOM.WW.OtOpcUa.AdminUI.Uns;

/// <summary>
/// Outcome of a UNS structural mutation (create/update/delete of an area or line).
/// On success <see cref="Ok"/> is <c>true</c> and <see cref="Error"/> is <c>null</c>;
/// on a guarded or concurrency failure <see cref="Ok"/> is <c>false</c> and
/// <see cref="Error"/> carries the operator-facing message the caller should surface.
/// </summary>
/// <param name="Ok">Whether the mutation was applied.</param>
/// <param name="Error">The operator-facing failure message, or <c>null</c> on success.</param>
/// <param name="CreatedId">On a successful create, the new entity's system id (e.g. the generated
/// <c>EQ-…</c> equipment id) so the caller can navigate to it; <c>null</c> for updates/deletes/failures.</param>
public readonly record struct UnsMutationResult(bool Ok, string? Error, string? CreatedId = null);
