45d4f693b6
Changes: - Added missing include for MenuHelper.h in project and AdminMenu - Fixed typo in variable name inventoryIems to inventoryItems in Controller.cpp - Removed stray semicolon from include in Controller.h - Cleaned up duplicate comments in Controller.cpp description header - Minor formatting adjustments with blank lines after headers in multiple files - Updated ServiceManagementService notification message to remove informal wording - Refactored AdminMenu::changePassword to use changePasswordHelper - Added util::clear() call at start of viewStockLevels - Removed redundant helper functions from AdminMenu.cpp and moved to shared helpers - Fixed bug in removeInventoryItem to use activeItems instead of inventoryItems - Enhanced createComboPackages to enforce selection of two distinct services - General comment cleanup and formatting consistency across headers and implementation files
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
/*
|
|
File: UserManagementService.h
|
|
Description: Header file declaring the UserManagementService class, which manages
|
|
user creation, updates, retrieval, removal, and notification handling.
|
|
Author: Trenser
|
|
Date:19-May-2026
|
|
*/
|
|
|
|
#pragma once
|
|
#include <string>
|
|
#include "Map.h"
|
|
#include "Enums.h"
|
|
#include "DataStore.h"
|
|
|
|
class User;
|
|
class Notification;
|
|
|
|
class UserManagementService
|
|
{
|
|
private:
|
|
DataStore& m_dataStore;
|
|
public:
|
|
UserManagementService() : m_dataStore(DataStore::getInstance()) {}
|
|
void createUser(const std::string& username, const std::string& name, const std::string& password, const std::string& email, const std::string& phone, util::UserType type);
|
|
void updateUserDetails(const std::string& userID, const std::string& email, const std::string& phone);
|
|
util::Map<std::string, User*> getUsers();
|
|
util::Map<std::string, User*> getUsers(util::UserType type);
|
|
User* getUser(const std::string& userID);
|
|
void removeUser(const std::string& userID);
|
|
util::Vector<Notification*> getUserNotifications(const std::string& userID);
|
|
void deleteNotification(const std::string& notificationID, const std::string& userID);
|
|
};
|