From b442bb4bbc5d30aebf168494ab86175af55fc40f Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Tue, 30 Sep 2025 20:23:54 +0530 Subject: [PATCH] Changed the logic to get tenantId in auth controller --- Marco.Pms.Services/Controllers/AuthController.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Marco.Pms.Services/Controllers/AuthController.cs b/Marco.Pms.Services/Controllers/AuthController.cs index caa92d7..f7d029d 100644 --- a/Marco.Pms.Services/Controllers/AuthController.cs +++ b/Marco.Pms.Services/Controllers/AuthController.cs @@ -103,7 +103,9 @@ namespace MarcoBMS.Services.Controllers return NotFound(ApiResponse.ErrorResponse("Username not found", "Username not found", 404)); } - var tenant = await _context.Tenants.FirstOrDefaultAsync(t => t.OrganizationId == emp.OrganizationId); + var tenants = await _context.Tenants.Where(t => t.OrganizationId == emp.OrganizationId).ToListAsync(); + + var tenant = tenants.OrderBy(t => t.OnBoardingDate).FirstOrDefault(); // Generate tokens var token = _refreshTokenService.GenerateJwtToken(user.UserName, tenant?.Id ?? Guid.Empty, emp.OrganizationId, _jwtSettings); @@ -204,7 +206,9 @@ namespace MarcoBMS.Services.Controllers _logger.LogInfo("Successfully found employee details for tenant ID: {TenantId}", emp.TenantId ?? Guid.Empty); - var tenant = await _context.Tenants.FirstOrDefaultAsync(t => t.OrganizationId == emp.OrganizationId); + var tenants = await _context.Tenants.Where(t => t.OrganizationId == emp.OrganizationId).ToListAsync(); + + var tenant = tenants.OrderBy(t => t.OnBoardingDate).FirstOrDefault(); // Generate JWT token var token = _refreshTokenService.GenerateJwtToken(user.UserName, tenant?.Id ?? Guid.Empty, emp.OrganizationId, _jwtSettings); @@ -288,8 +292,10 @@ namespace MarcoBMS.Services.Controllers _logger.LogWarning("Employee not found or invalid for verification - EmployeeId: {EmployeeId}", verifyMPIN.EmployeeId); return BadRequest(ApiResponse.ErrorResponse("Invalid request", "Provided invalid employee information", 400)); } + var tenants = await _context.Tenants.Where(t => t.OrganizationId == requestEmployee.OrganizationId).ToListAsync(); - Guid tenantId = await _context.Tenants.Where(t => t.OrganizationId == requestEmployee.OrganizationId).Select(t => t.Id).FirstOrDefaultAsync(); + var tenant = tenants.OrderBy(t => t.OnBoardingDate).FirstOrDefault(); + Guid tenantId = tenant?.Id ?? Guid.Empty; // Validate that the token belongs to the same employee making the request if (requestEmployee.ApplicationUserId != tokenUserId || tokenType != "mpin" || tenantId == Guid.Empty) @@ -435,7 +441,9 @@ namespace MarcoBMS.Services.Controllers //var accessToken = _refreshTokenService.GenerateJwtTokenWithOrganization(requestEmployee.ApplicationUser?.UserName, requestEmployee.OrganizationId, _jwtSettings); //var refreshToken = await _refreshTokenService.CreateRefreshTokenWithOrganization(requestEmployee.ApplicationUserId, requestEmployee.OrganizationId, _jwtSettings); - var tenant = await _context.Tenants.FirstOrDefaultAsync(t => t.OrganizationId == requestEmployee.OrganizationId); + var tenants = await _context.Tenants.Where(t => t.OrganizationId == requestEmployee.OrganizationId).ToListAsync(); + + var tenant = tenants.OrderBy(t => t.OnBoardingDate).FirstOrDefault(); var accessToken = _refreshTokenService.GenerateJwtToken(requestEmployee.ApplicationUser?.UserName, tenant?.Id ?? Guid.Empty, requestEmployee.OrganizationId, _jwtSettings);