This commit is contained in:
Dhananjaya99
2026-07-08 11:11:50 +05:30
parent 2cd2741f77
commit de7b40a147
51 changed files with 6839 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
using Microsoft.AspNetCore.Http;
namespace Core_Archi.Helpers;
public class UserHelper
{
public string? ExtractBrowser(string? userAgent)
{
if (string.IsNullOrEmpty(userAgent)) return null;
if (userAgent.Contains("Chrome")) return "Chrome";
if (userAgent.Contains("Firefox")) return "Firefox";
if (userAgent.Contains("Safari") && !userAgent.Contains("Chrome")) return "Safari";
if (userAgent.Contains("Edge")) return "Edge";
if (userAgent.Contains("Opera")) return "Opera";
return "Other";
}
public string? ExtractOS(string? userAgent)
{
if (string.IsNullOrEmpty(userAgent)) return null;
if (userAgent.Contains("Windows")) return "Windows";
if (userAgent.Contains("Mac OS")) return "macOS";
if (userAgent.Contains("Linux")) return "Linux";
if (userAgent.Contains("Android")) return "Android";
if (userAgent.Contains("iOS") || userAgent.Contains("iPhone") || userAgent.Contains("iPad")) return "iOS";
return "Other";
}
public Guid GetUserIdFromClaims(HttpContext httpContext)
{
var userIdClaim = httpContext.User.FindFirst("userId")
?? httpContext.User.FindFirst("UserId")
?? httpContext.User.FindFirst("sub");
if (userIdClaim == null || !Guid.TryParse(userIdClaim.Value, out var userId))
throw new ArgumentException("User ID not found in token");
return userId;
}
}