add dedicated driver authentication system
Driver Authentication System Description
feat (driver-auth) : implement dedicated driver authentication system
- Add driver-specific authentication endpoints and paths
- Add driver password reset URL configuration
- Add driver authentication methods in service layer
- Add driver connection history tracking
- Add driver OTP verification functionality
File-by-file details:
- DriverPaths.java
feat (paths) : add driver authentication path constants
- Add DRIVER_AUTH_REL for driver authentication base path
- Add DRIVER_LOGIN, DRIVER_LOGOUT endpoints
- Add DRIVER_OTP and DRIVER_CONNECTION_HISTORY paths
- Add driver-specific authentication route definitions
- ResetPasswordProperties.java
feat (config) : add driver password reset URL configuration
- Add driver field for driver-specific reset password URL
- Extend ResetPasswordProperties to support driver role
- Enable role-based password reset URL management***
- DriverRepository.java
feat (repository) : add driver-specific query methods
- Add findByEmail method for driver authentication
- Add driver search and filtering capabilities
- Add driver status and role-based queries
- Support driver connection history tracking
- AuthentificationService.java
feat (service) : add driver authentication interface methods
- Add driverLogin method for driver authentication
- Add driverLogout method for session management
- Add getDriverConnectionHistory for tracking
- Add getDriverOtpByUserName for OTP verification
- AuthentificationServiceImpl.java
feat (service) : implement driver authentication logic
- Implement driver-specific login validation
- Add driver role verification in authentication
- Add driver connection history management
- Add driver OTP generation and validation
- Implement driver logout functionality
- AuthentificationController.java
feat (controller) : add driver authentication REST endpoints
- Add POST /driver/auth/login endpoint
- Add POST /driver/auth/logout endpoint
- Add GET /driver/auth/history/{userId} endpoint
- Add GET /driver/auth/otp/{username} endpoint
- Implement driver authentication API layer
What's good in this new feature :
- Clear separation between back-office and driver authentication
- Driver-specific role validation and management
- Dedicated connection history tracking for drivers
- Flexible password reset URL configuration
- Complete REST API for driver authentication