diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.cpp index 7b6645d..88f04e2 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.cpp @@ -1,5 +1,7 @@ #include "Customer.h" +const std::string Customer::TYPE = "Customer"; + void Customer::addOrder(std::shared_ptr orderPointer) { m_orders[orderPointer->getId()] = orderPointer; @@ -12,5 +14,5 @@ orders& Customer::getOrders() std::string Customer::getType() const { - return "Customer"; + return TYPE; } diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h index d80c137..e6a9fdc 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h @@ -17,6 +17,7 @@ class Customer : public User private: orders m_orders; public: + static const std::string TYPE; Customer(const std::string& username, const std::string& name, const std::string& phone, diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.cpp index ccf104b..b8f2b38 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.cpp @@ -5,6 +5,8 @@ Date: 18-02-2026 #include "DeliveryPartner.h" +const std::string DeliveryPartner::TYPE = "DeliveryPartner"; + void DeliveryPartner::acceptDeliveryAssignment(std::shared_ptr deliveryAssignmentPointer) { m_deliveryAssignments[deliveryAssignmentPointer->getId()] = deliveryAssignmentPointer; @@ -17,5 +19,5 @@ deliveryAssignments& DeliveryPartner::getAssignedDeliveries() std::string DeliveryPartner::getType() const { - return "DeliveryPartner"; + return TYPE; } diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h index 029df47..eae8bcd 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h @@ -17,6 +17,7 @@ class DeliveryPartner : public User private: deliveryAssignments m_deliveryAssignments; public: + static const std::string TYPE; DeliveryPartner(const std::string& username, const std::string& name, const std::string& phone, diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FileDatabase.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FileDatabase.h index c0d14f7..d5a9d34 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FileDatabase.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FileDatabase.h @@ -10,6 +10,7 @@ Date: 22-12-2026 #include #include #include + template using objects = std::map>; template diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp index 55fb585..3f1a7a7 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp @@ -448,15 +448,15 @@ void FoodDeliveryController::login() std::unique_ptr menu; if (user.login(password)) { - if (user.getType() == "RestaurantOwner") + if (user.getType() == RestaurantOwner::TYPE) { menu = std::make_unique(*this, user.getName()); } - else if (user.getType() == "Customer") + else if (user.getType() == Customer::TYPE) { menu = std::make_unique(*this, user.getName()); } - else if (user.getType() == "DeliveryPartner") + else if (user.getType() == DeliveryPartner::TYPE) { menu = std::make_unique(*this, user.getName()); } @@ -557,7 +557,7 @@ void FoodDeliveryController::registerUser() void FoodDeliveryController::listRestaurants() const { util::clear(); - if (!checkAccess(m_authenticatedUser, "RestaurantOwner")) + if (!checkAccess(m_authenticatedUser, RestaurantOwner::TYPE)) { return; } @@ -587,7 +587,7 @@ void FoodDeliveryController::addNewRestaurant() { std::string name; util::clear(); - if (!checkAccess(m_authenticatedUser, "RestaurantOwner")) + if (!checkAccess(m_authenticatedUser, RestaurantOwner::TYPE)) { return; } @@ -605,7 +605,7 @@ void FoodDeliveryController::updateRestaurantStatus() const try { util::clear(); - if (!checkAccess(m_authenticatedUser, "RestaurantOwner")) + if (!checkAccess(m_authenticatedUser, RestaurantOwner::TYPE)) { return; } @@ -641,7 +641,7 @@ void FoodDeliveryController::listRestaurantOrders() const try { util::clear(); - if (!checkAccess(m_authenticatedUser, "RestaurantOwner")) + if (!checkAccess(m_authenticatedUser, RestaurantOwner::TYPE)) { return; } @@ -704,7 +704,7 @@ void FoodDeliveryController::setOrderReady() try { util::clear(); - if (!checkAccess(m_authenticatedUser, "RestaurantOwner")) + if (!checkAccess(m_authenticatedUser, RestaurantOwner::TYPE)) { return; } @@ -757,7 +757,7 @@ void FoodDeliveryController::listMenuItems() const try { util::clear(); - if (!checkAccess(m_authenticatedUser, "RestaurantOwner")) + if (!checkAccess(m_authenticatedUser, RestaurantOwner::TYPE)) { return; } @@ -806,7 +806,7 @@ void FoodDeliveryController::addMenuItem() const try { util::clear(); - if (!checkAccess(m_authenticatedUser, "RestaurantOwner")) + if (!checkAccess(m_authenticatedUser, RestaurantOwner::TYPE)) { return; } @@ -844,7 +844,7 @@ void FoodDeliveryController::removeMenuItem() const try { util::clear(); - if (!checkAccess(m_authenticatedUser, "RestaurantOwner")) + if (!checkAccess(m_authenticatedUser, RestaurantOwner::TYPE)) { return; } @@ -881,7 +881,7 @@ void FoodDeliveryController::listCustomerOrders() const try { util::clear(); - if (!checkAccess(m_authenticatedUser, "Customer")) + if (!checkAccess(m_authenticatedUser, Customer::TYPE)) { return; } @@ -940,7 +940,7 @@ void FoodDeliveryController::placeOrder() try { util::clear(); - if (!checkAccess(m_authenticatedUser, "Customer")) + if (!checkAccess(m_authenticatedUser, Customer::TYPE)) { return; } @@ -1030,7 +1030,7 @@ void FoodDeliveryController::cancelOrder() const try { util::clear(); - if (!checkAccess(m_authenticatedUser, "Customer")) + if (!checkAccess(m_authenticatedUser, Customer::TYPE)) { return; } @@ -1076,7 +1076,7 @@ void FoodDeliveryController::listDeliveryAssignments() try { util::clear(); - if (!checkAccess(m_authenticatedUser, "DeliveryPartner")) + if (!checkAccess(m_authenticatedUser, DeliveryPartner::TYPE)) { return; } @@ -1122,7 +1122,7 @@ void FoodDeliveryController::acceptDeliveryAssignment() try { util::clear(); - if (!checkAccess(m_authenticatedUser, "DeliveryPartner")) + if (!checkAccess(m_authenticatedUser, DeliveryPartner::TYPE)) { return; } @@ -1169,7 +1169,7 @@ void FoodDeliveryController::confirmDeliveryAssignment() const try { util::clear(); - if (!checkAccess(m_authenticatedUser, "DeliveryPartner")) + if (!checkAccess(m_authenticatedUser, DeliveryPartner::TYPE)) { return; } diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.cpp index ccc6802..159f2a9 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.cpp @@ -5,6 +5,8 @@ Date: 18-02-2026 #include "RestaurantOwner.h" +const std::string RestaurantOwner::TYPE = "RestaurantOwner"; + void RestaurantOwner::addRestaurant(std::shared_ptr restaurantPointer) { m_restaurants[restaurantPointer->getId()] = restaurantPointer; @@ -17,5 +19,5 @@ restaurants& RestaurantOwner::getRestaurants() std::string RestaurantOwner::getType() const { - return "RestaurantOwner"; + return TYPE; } diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h index 620f86d..25581d4 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h @@ -16,8 +16,9 @@ using restaurants = std::map>; class RestaurantOwner : public User { private: - restaurants m_restaurants; + restaurants m_restaurants; public: + static const std::string TYPE; RestaurantOwner(const std::string& username, const std::string& name, const std::string& phone,