Firebase_Implementation #135

Merged
ashutosh.nehete merged 62 commits from Firebase_Implementation into main 2025-09-20 12:11:54 +00:00
Showing only changes of commit 5538c3ae25 - Show all commits

View File

@ -33,7 +33,7 @@ namespace MarcoBMS.Services.Controllers
private readonly EmployeeHelper _employeeHelper;
private readonly ILoggingService _logger;
private readonly IFirebaseService _firebase;
//string tenentId = "1";
private readonly Guid tenentId;
public AuthController(UserManager<ApplicationUser> userManager, ApplicationDbContext context, JwtSettings jwtSettings, RefreshTokenService refreshTokenService,
IEmailSender emailSender, IConfiguration configuration, EmployeeHelper employeeHelper, UserHelper userHelper, ILoggingService logger, IFirebaseService firebase)
{
@ -47,6 +47,7 @@ namespace MarcoBMS.Services.Controllers
_userHelper = userHelper;
_logger = logger;
_firebase = firebase;
tenentId = userHelper.GetTenantId();
}
[HttpPost("login")]
@ -365,6 +366,7 @@ namespace MarcoBMS.Services.Controllers
[HttpPost("logout")]
public async Task<IActionResult> Logout([FromBody] LogoutDto logoutDto)
{
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
if (string.IsNullOrWhiteSpace(logoutDto.RefreshToken))
{
_logger.LogWarning("Logout failed: Refresh token is missing");
@ -388,7 +390,16 @@ namespace MarcoBMS.Services.Controllers
await _refreshTokenService.BlacklistJwtTokenAsync(jwtToken);
_logger.LogInfo("JWT access token blacklisted successfully");
}
string? origin = HttpContext.Request.Headers["Origin"].FirstOrDefault();
if (string.IsNullOrWhiteSpace(origin))
{
var fcmTokenMapping = await _context.FCMTokenMappings.FirstOrDefaultAsync(ft => ft.EmployeeId == loggedInEmployee.Id && ft.TenantId == tenentId);
if (fcmTokenMapping != null)
{
_context.FCMTokenMappings.Remove(fcmTokenMapping);
await _context.SaveChangesAsync();
}
}
_logger.LogInfo("User logged out successfully");
return Ok(ApiResponse<object>.SuccessResponse(new { }, "Logged out successfully", 200));
}