Class RoleServiceImpl

java.lang.Object
ru.averkiev.greenchat_user.services.impl.RoleServiceImpl
All Implemented Interfaces:
RoleService

@Service public class RoleServiceImpl extends Object implements RoleService
Класс реализует функционал для управления ролями пользователей в системе.
  • Constructor Details

    • RoleServiceImpl

      public RoleServiceImpl()
  • Method Details

    • createRole

      public Role createRole(String roleName) throws RoleAlreadyExistsException
      Создаёт новую роль с указанным именем.
      Specified by:
      createRole in interface RoleService
      Parameters:
      roleName - имя роли.
      Returns:
      созданный объект роли.
      Throws:
      RoleAlreadyExistsException - - выбрасывается если роль с таким названием уже существует.
    • updateRole

      public Role updateRole(Long roleId, String roleName) throws RoleNotFoundException
      Обновляет информацию о роли.
      Specified by:
      updateRole in interface RoleService
      Parameters:
      roleId - идентификатор обновляемой роли.
      roleName - новое имя роли.
      Returns:
      объект обновлённой роли
      Throws:
      RoleNotFoundException - - выбрасывается, если роль с указанным идентификатором не найдена.
    • deleteRole

      public void deleteRole(Long roleId) throws RoleNotFoundException
      Удаляет роль по указанному идентификатору.
      Specified by:
      deleteRole in interface RoleService
      Parameters:
      roleId - указанный идентификатор роли.
      Throws:
      RoleNotFoundException - выбрасывается, если роль с таким идентификатором не найдена.
    • softDeleteRole

      public Role softDeleteRole(Long roleId) throws RoleNotFoundException
      Помечает роль удалённой, но не удаляет физически.
      Specified by:
      softDeleteRole in interface RoleService
      Parameters:
      roleId - идентификатор роли.
      Returns:
      роль с измененным статусом.
      Throws:
      RoleNotFoundException
    • getRoleById

      public Optional<Role> getRoleById(Long roleId)
      Возвращает роль по указанному идентификатору.
      Specified by:
      getRoleById in interface RoleService
      Parameters:
      roleId - указанный идентификатор роли.
      Returns:
      Optional, содержащий найденную роль, или пустой Optional, если роль не найдена.
    • getRoleByName

      public Optional<Role> getRoleByName(String roleName)
      Возвращает роль по указанному имени.
      Specified by:
      getRoleByName in interface RoleService
      Parameters:
      roleName - указанное имя роли.
      Returns:
      Optional, содержащий найденную роль, или пустой Optional, если роль не найдена.
    • getAllRoles

      public List<Role> getAllRoles()
      Возвращает список всех ролей.
      Specified by:
      getAllRoles in interface RoleService
      Returns:
      список ролей.
    • getUsersByRole

      public List<User> getUsersByRole(String roleName) throws RoleNotFoundException
      Возвращает список всех пользователь с указанной ролью.
      Specified by:
      getUsersByRole in interface RoleService
      Parameters:
      roleName - указанное имя роли.
      Returns:
      список пользователей
      Throws:
      RoleNotFoundException - - выбрасывается, если указанная роль не найдена.
    • existsRoleByName

      public boolean existsRoleByName(String roleName)
      Проверяет, существует ли роль с данным названием.
      Specified by:
      existsRoleByName in interface RoleService
      Parameters:
      roleName - электронная почта проверяемого пользователя.
      Returns:
      true, если пользователь существует, иначе false.