docs: public Credentials userSignUp(Credentials credentials) throws DAOException{
          if (getUserByEmail(dao,credentials.getEmailAddress())!=null){
              throw new DAOException(HttpStatus.SC_CONFLICT,"User Already Exists");
          }
          ServerCredentials toSave = new ServerCredentials(credentials);
  
          toSave.decryptPassword(keyManager.getPrivateKey()); //decrypt the password
          String de = toSave.getPassword();
          String ha = BCrypt.hashpw(de, BCrypt.gensalt(10));
  
          toSave.setOwnerId(dao.count(Credentials.class.getName()) + 1);
          toSave.setPassword(ha); //hash the password for storage
          toSave.setAuthToken(AuthTokenUtils.getNewToken(keyManager.getSymmetricKey(), toSave));
          toSave.setRecoveryToken(AuthTokenUtils.getNewToken(keyManager.getSymmetricKey(), toSave));
  
          dao.save(toSave);
  
          return toSave;
      }