Class UserService
java.lang.Object
springboot.bg.harisauto.user.service.UserService
- All Implemented Interfaces:
org.springframework.security.core.userdetails.UserDetailsService
@Service
public class UserService
extends Object
implements org.springframework.security.core.userdetails.UserDetailsService
UserService.java - Service class for managing user-related operations.
- Author:
- Kristian Popov
-
Constructor Summary
ConstructorsConstructorDescriptionUserService(UserRepository userRepository, org.springframework.security.crypto.password.PasswordEncoder passwordEncoder, org.springframework.context.ApplicationEventPublisher eventPublisher) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidchangeAdminEmail(User user, AdminChangeEmailRequest request) Changes the admin's email.voidchangeAdminPassword(User user, AdminChangePasswordRequest request) Changes the admin's password.voidchangeUserPassword(User user, ChangeUserPasswordRequest request) Changes the user's password.voiddeleteUserById(UUID userId) Deletes a user by its id.Gets all users.Gets a user by its id.org.springframework.security.core.userdetails.UserDetailsloadUserByUsername(String email) Loads user details by email.voidregister(RegisterRequest request) Registers a new user (Public registration).voidregisterNewUser(RegisterNewUserRequest request) Register new user from admin page.voidupdateUser(UpdateUserRequest request) Updates user details.voidupdateUserDetails(User user, ChangeProfileInfoRequest request) Updates user details (Self-update profile).
-
Constructor Details
-
UserService
@Autowired public UserService(UserRepository userRepository, org.springframework.security.crypto.password.PasswordEncoder passwordEncoder, org.springframework.context.ApplicationEventPublisher eventPublisher) Constructor.
-
-
Method Details
-
register
Registers a new user (Public registration).- Parameters:
request- The registration request.
-
registerNewUser
Register new user from admin page.- Parameters:
request- The registration request.
-
getById
Gets a user by its id.- Parameters:
id- The user id.- Returns:
- The user.
-
getAllUsers
Gets all users.- Returns:
- The list of users.
-
updateUserDetails
Updates user details (Self-update profile).- Parameters:
user- The user.request- The request containing the new details.
-
changeUserPassword
Changes the user's password.- Parameters:
user- The user.request- The request containing the current and new passwords.
-
updateUser
Updates user details.- Parameters:
request- The request containing the new details.
-
deleteUserById
Deletes a user by its id.- Parameters:
userId- The user id.
-
loadUserByUsername
public org.springframework.security.core.userdetails.UserDetails loadUserByUsername(String email) throws org.springframework.security.core.userdetails.UsernameNotFoundException Loads user details by email.- Specified by:
loadUserByUsernamein interfaceorg.springframework.security.core.userdetails.UserDetailsService- Parameters:
email- The user email.- Returns:
- The user details.
- Throws:
org.springframework.security.core.userdetails.UsernameNotFoundException- If the user is not found.
-
changeAdminEmail
Changes the admin's email.- Parameters:
user- The admin user.request- The request containing the new email.
-
changeAdminPassword
Changes the admin's password.- Parameters:
user- The admin user.request- The request containing the current and new passwords.
-