using System;

namespace StellaOps.Feedser.Storage.Mongo.ChangeHistory;

public sealed record ChangeHistoryFieldChange
{
    public ChangeHistoryFieldChange(string field, string changeType, string? previousValue, string? currentValue)
    {
        ArgumentException.ThrowIfNullOrEmpty(field);
        ArgumentException.ThrowIfNullOrEmpty(changeType);
        Field = field;
        ChangeType = changeType;
        PreviousValue = previousValue;
        CurrentValue = currentValue;
    }

    public string Field { get; }

    public string ChangeType { get; }

    public string? PreviousValue { get; }

    public string? CurrentValue { get; }
}
