Fix: add duplicate user validation and update register customer UI
- add username duplicate validation - add email duplicate validation - add phone duplicate validation - move duplicate checks to Validator utility - add Register Customer header - update registration success message Fixes #1737
This commit is contained in:
+10
-8
@@ -19,7 +19,7 @@ Date:19-May-2026
|
||||
#include "User.h"
|
||||
#include "UserManagementService.h"
|
||||
#include "Vector.h"
|
||||
|
||||
#include "Validator.h"
|
||||
|
||||
/*
|
||||
Function: ensureAdminExists
|
||||
@@ -74,16 +74,18 @@ void UserManagementService::createUser(const std::string& username, const std::s
|
||||
PaymentManagementService paymentManagementService;
|
||||
ServiceManagementService serviceManagementService;
|
||||
auto& usersMap = m_dataStore.getUsers();
|
||||
int index = usersMap.findIf(
|
||||
[&](const std::string&, User* user)
|
||||
{
|
||||
return user->getUserName() == username;
|
||||
}
|
||||
);
|
||||
if (index != -1)
|
||||
if (util::isUsernameDuplicate(username, usersMap))
|
||||
{
|
||||
throw std::runtime_error("Username already exists");
|
||||
}
|
||||
if (util::isEmailDuplicate(email, usersMap))
|
||||
{
|
||||
throw std::runtime_error("Email already exists");
|
||||
}
|
||||
if (util::isPhoneDuplicate(phone, usersMap))
|
||||
{
|
||||
throw std::runtime_error("Phone already exists");
|
||||
}
|
||||
User* newUser = Factory::getObject<User>(username, password, name, phone, email, type);
|
||||
usersMap.insert(newUser->getId(), newUser);
|
||||
paymentManagementService.attach(newUser);
|
||||
|
||||
Reference in New Issue
Block a user