namespace SharpChat.Users;

public readonly record struct UserDiff(
    User User,
    string Id,
    StringDiff Name,
    ValueDiff<ColourInheritable> Colour,
    ValueDiff<int> Rank,
    ValueDiff<UserPermissions> Permissions,
    StringDiff Nick,
    ValueDiff<UserStatus> Status,
    StringDiff StatusText
) : Diff {
    public bool Changed
        => Name.Changed
        || Colour.Changed
        || Rank.Changed
        || Permissions.Changed
        || Nick.Changed
        || Status.Changed
        || StatusText.Changed;
}