prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Error indicator when logging in or registering went wrong
  ## Current Behaviour
   - currently, only error icon is displayed when something went wrong during logging in or registering new account
  
  ## Expected Behaviour 
   - an error message should be displayed next to the error icon, so that user knows what went wrong
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `backend/medtagger/api/auth/business.py`
  Content:
  ```
  1 """Module responsible for business logic in all Auth endpoint."""
  2 from medtagger.api import InvalidArgumentsException
  3 from medtagger.api.security import hash_password, verify_user_password, generate_auth_token
  4 from medtagger.database.models import User
  5 from medtagger.repositories import roles as RolesRepository, users as UsersRepository
  6 
  7 
  8 def create_user(email: str, password: str, first_name: str, last_name: str) -> int:
  9     """Create user with the given user information. Password is being hashed.
  10 
  11     :param email: user email in string format
  12     :param password: user password in string format
  13     :param first_name: user first name in string format
  14     :param last_name: user last name in string format
  15 
  16     :return: id of the new user
  17     """
  18     user = UsersRepository.get_user_by_email(email)
  19     if user:
  20         raise InvalidArgumentsException('User with this email already exist')
  21     password_hash = hash_password(password)
  22     new_user = User(email, password_hash, first_name, last_name)
  23     role = RolesRepository.get_role_with_name('volunteer')
  24     if not role:
  25         raise InvalidArgumentsException('Role does not exist.')
  26     new_user.roles.append(role)
  27     return UsersRepository.add_new_user(new_user)
  28 
  29 
  30 def sign_in_user(email: str, password: str) -> str:
  31     """Sign in user using given username and password.
  32 
  33     :param email: user email in string format
  34     :param password: user password in string format
  35 
  36     :return: authentication token
  37     """
  38     user = UsersRepository.get_user_by_email(email)
  39     if not user:
  40         raise InvalidArgumentsException('User does not exist.')
  41     if not verify_user_password(user, password):
  42         raise InvalidArgumentsException('Password does not match.')
  43     return generate_auth_token(user)
  44
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/backend/medtagger/api/auth/business.py b/backend/medtagger/api/auth/business.py
  --- a/backend/medtagger/api/auth/business.py
  +++ b/backend/medtagger/api/auth/business.py
  @@ -17,7 +17,7 @@
       """
       user = UsersRepository.get_user_by_email(email)
       if user:
  -        raise InvalidArgumentsException('User with this email already exist')
  +        raise InvalidArgumentsException('User with this email already exists')
       password_hash = hash_password(password)
       new_user = User(email, password_hash, first_name, last_name)
       role = RolesRepository.get_role_with_name('volunteer')
  
verification_info: {"golden_diff": "diff --git a/backend/medtagger/api/auth/business.py b/backend/medtagger/api/auth/business.py\n--- a/backend/medtagger/api/auth/business.py\n+++ b/backend/medtagger/api/auth/business.py\n@@ -17,7 +17,7 @@\n     \"\"\"\n     user = UsersRepository.get_user_by_email(email)\n     if user:\n-        raise InvalidArgumentsException('User with this email already exist')\n+        raise InvalidArgumentsException('User with this email already exists')\n     password_hash = hash_password(password)\n     new_user = User(email, password_hash, first_name, last_name)\n     role = RolesRepository.get_role_with_name('volunteer')\n", "issue": "Error indicator when logging in or registering went wrong\n## Current Behaviour\r\n - currently, only error icon is displayed when something went wrong during logging in or registering new account\r\n\r\n## Expected Behaviour \r\n - an error message should be displayed next to the error icon, so that user knows what went wrong\r\n\n", "before_files": [{"content": "\"\"\"Module responsible for business logic in all Auth endpoint.\"\"\"\nfrom medtagger.api import InvalidArgumentsException\nfrom medtagger.api.security import hash_password, verify_user_password, generate_auth_token\nfrom medtagger.database.models import User\nfrom medtagger.repositories import roles as RolesRepository, users as UsersRepository\n\n\ndef create_user(email: str, password: str, first_name: str, last_name: str) -> int:\n    \"\"\"Create user with the given user information. Password is being hashed.\n\n    :param email: user email in string format\n    :param password: user password in string format\n    :param first_name: user first name in string format\n    :param last_name: user last name in string format\n\n    :return: id of the new user\n    \"\"\"\n    user = UsersRepository.get_user_by_email(email)\n    if user:\n        raise InvalidArgumentsException('User with this email already exist')\n    password_hash = hash_password(password)\n    new_user = User(email, password_hash, first_name, last_name)\n    role = RolesRepository.get_role_with_name('volunteer')\n    if not role:\n        raise InvalidArgumentsException('Role does not exist.')\n    new_user.roles.append(role)\n    return UsersRepository.add_new_user(new_user)\n\n\ndef sign_in_user(email: str, password: str) -> str:\n    \"\"\"Sign in user using given username and password.\n\n    :param email: user email in string format\n    :param password: user password in string format\n\n    :return: authentication token\n    \"\"\"\n    user = UsersRepository.get_user_by_email(email)\n    if not user:\n        raise InvalidArgumentsException('User does not exist.')\n    if not verify_user_password(user, password):\n        raise InvalidArgumentsException('Password does not match.')\n    return generate_auth_token(user)\n", "path": "backend/medtagger/api/auth/business.py"}], "after_files": [{"content": "\"\"\"Module responsible for business logic in all Auth endpoint.\"\"\"\nfrom medtagger.api import InvalidArgumentsException\nfrom medtagger.api.security import hash_password, verify_user_password, generate_auth_token\nfrom medtagger.database.models import User\nfrom medtagger.repositories import roles as RolesRepository, users as UsersRepository\n\n\ndef create_user(email: str, password: str, first_name: str, last_name: str) -> int:\n    \"\"\"Create user with the given user information. Password is being hashed.\n\n    :param email: user email in string format\n    :param password: user password in string format\n    :param first_name: user first name in string format\n    :param last_name: user last name in string format\n\n    :return: id of the new user\n    \"\"\"\n    user = UsersRepository.get_user_by_email(email)\n    if user:\n        raise InvalidArgumentsException('User with this email already exists')\n    password_hash = hash_password(password)\n    new_user = User(email, password_hash, first_name, last_name)\n    role = RolesRepository.get_role_with_name('volunteer')\n    if not role:\n        raise InvalidArgumentsException('Role does not exist.')\n    new_user.roles.append(role)\n    return UsersRepository.add_new_user(new_user)\n\n\ndef sign_in_user(email: str, password: str) -> str:\n    \"\"\"Sign in user using given username and password.\n\n    :param email: user email in string format\n    :param password: user password in string format\n\n    :return: authentication token\n    \"\"\"\n    user = UsersRepository.get_user_by_email(email)\n    if not user:\n        raise InvalidArgumentsException('User does not exist.')\n    if not verify_user_password(user, password):\n        raise InvalidArgumentsException('Password does not match.')\n    return generate_auth_token(user)\n", "path": "backend/medtagger/api/auth/business.py"}]}