namespace QRRapidoApp.Models.DTOs { public class UserRequesterContext { public string? UserId { get; set; } public string? IpAddress { get; set; } public string? DeviceId { get; set; } public bool IsAuthenticated => !string.IsNullOrEmpty(UserId); /// True when request authenticated via X-API-Key (has own rate limiting — skip credit check). public bool IsApiKeyRequest { get; set; } } }