namespace CMSMicroservice.Application.Common.Interfaces;

/// <summary>
/// سرویس دریافت اطلاعات کاربر فعلی از Authentication Context
/// </summary>
public interface ICurrentUserService
{
    /// <summary>
    /// شناسه کاربر فعلی (از JWT Claims)
    /// </summary>
    string? UserId { get; }

    /// <summary>
    /// نام کاربری (Username یا Email)
    /// </summary>
    string? Username { get; }

    /// <summary>
    /// آیا کاربر Authenticated است؟
    /// </summary>
    bool IsAuthenticated { get; }

    /// <summary>
    /// دریافت string برای PerformedBy (UserId:Username یا "System")
    /// </summary>
    string GetPerformedBy();
}
