VSN-2384/ fix: sync passenger Keycloak account on email update
This MR fixes the following problem : When a passenger was created without an email and one was added later via update, the Keycloak account was never created. This caused USER_NOT_FOUND errors when the passenger tried to reset their password via OTP.
After fix : In updatePassenger(), detect when an email is added for the first time and create the corresponding Keycloak account.
Note : Updating an already existing email is not yet handled.
Files changed
- PassengerServiceImpl.java — added Keycloak sync logic in updatePassenger()
- PassengerService.java — added TechnicalException to updatePassenger() signature
- PassengerController.java — added TechnicalException to controller method signature
- PassengerMapper.java — fixed ModelMapper typeMap being reconfigured on every call
Code quality fixes :
- Fixed typo: renamed
getlassLevelMaptogetClassLevelMap - Aligned
updatePassengerByUuidwithupdatePassenger: added missingpassengerScheduleWeekshandling - Removed
throwsdeclarations from controller — exceptions handled by existing@ControllerAdvice - Added
log.warnfor unresolved contract/lot names inPassengerMapper - Logged exception cause in
extractPassengerSchedulesbefore rethrowing - Fixed extra space in
PassengerServiceinterface method signature