MLC-296/complete implementation of agent management module
- Implemented agent creation with validations (email, first/last name, phone, role, agency)
- Validated agent data using centralized ValidationUtils
- Integrated Keycloak user registration during agent creation
- Implemented agent update including address and Keycloak sync
- Added agent status change and deletion features
- Developed paginated and filtered agent search (name, CIN, email, phone, role, status, dates)
- Integrated with Agency microservice to fetch agency name by ID
- Centralized search logic in SpecificationUtils
- Added support for retrieving agent by ID
- Implemented isAgentExists(Long id) method
- Created getManagerById and getAllManagers methods using ManagerResponseDTO (with @Builder)