From ca31c011e4393791ee8aad0d0eae4f1832fc571e Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Wed, 20 Aug 2025 17:11:16 +0530 Subject: [PATCH] Addd code to remove duplicate FCM tokens --- .../Controllers/AuthController.cs | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Marco.Pms.Services/Controllers/AuthController.cs b/Marco.Pms.Services/Controllers/AuthController.cs index 8156fcf..6162e22 100644 --- a/Marco.Pms.Services/Controllers/AuthController.cs +++ b/Marco.Pms.Services/Controllers/AuthController.cs @@ -225,6 +225,13 @@ namespace MarcoBMS.Services.Controllers // Return a successful response with the generated tokens. _logger.LogInfo("User {Username} logged in successfully.", user.UserName); + var existingFCMTokenMapping = await _context.FCMTokenMappings.Where(ft => ft.FcmToken == loginDto.FcmToken).ToListAsync(); + + if (existingFCMTokenMapping.Any()) + { + _context.FCMTokenMappings.RemoveRange(existingFCMTokenMapping); + } + var fcmTokenMapping = new FCMTokenMapping { EmployeeId = emp.Id, @@ -349,6 +356,13 @@ namespace MarcoBMS.Services.Controllers if (!string.IsNullOrWhiteSpace(verifyMPIN.FcmToken)) { + var existingFCMTokenMapping = await _context.FCMTokenMappings.Where(ft => ft.FcmToken == verifyMPIN.FcmToken).ToListAsync(); + + if (existingFCMTokenMapping.Any()) + { + _context.FCMTokenMappings.RemoveRange(existingFCMTokenMapping); + } + var fcmTokenMapping = new FCMTokenMapping { EmployeeId = requestEmployee.Id, @@ -943,6 +957,14 @@ namespace MarcoBMS.Services.Controllers public async Task StoreDeviceToken([FromBody] FCMTokenDto model) { var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); + + var existingFCMTokenMapping = await _context.FCMTokenMappings.Where(ft => ft.FcmToken == model.FcmToken).ToListAsync(); + + if (existingFCMTokenMapping.Any()) + { + _context.FCMTokenMappings.RemoveRange(existingFCMTokenMapping); + } + var fcmTokenMapping = new FCMTokenMapping { EmployeeId = loggedInEmployee.Id,