using ErsatzTV.Core;

namespace ErsatzTV.Application.Auth;

/// <summary>
///     Changes the local admin password after verifying the current one. Rotates the security stamp so all
///     other sessions are revoked. <see cref="Username" /> is the signed-in principal's name.
/// </summary>
public record ChangeLocalAdminPassword(string Username, string CurrentPassword, string NewPassword)
    : IRequest<Either<BaseError, LocalAdminPrincipal>>;
