/* File: Notification.h * Description : Represents an employee notification with message and status details. * Author : Trenser * Created : 31-Mar-2026 */ #pragma once #include #include "Enums.h" #include "Timestamp.h" class Notification { private: static int m_uid; std::string m_id; std::string m_employeeId; std::string m_message; util::Timestamp m_timestamp; Enums::NotificationStatus m_notificationStatus; public: Notification() : m_id("NF" + std::to_string(++m_uid)), m_employeeId(""), m_message(""), m_timestamp(), m_notificationStatus(Enums::NotificationStatus::UNREAD) {} Notification(const std::string& employeeId, const std::string& message, Enums::NotificationStatus notificationStatus) : m_id("NF" + std::to_string(++m_uid)), m_employeeId(employeeId), m_message(message), m_notificationStatus(notificationStatus) {} const std::string& getNotificationId() const; const std::string& getEmployeeId() const; const std::string& getNotificationMessage() const; const util::Timestamp& getNotificationTimestamp() const; Enums::NotificationStatus getNotificationStatus() const; void setNotificationId(const std::string& id); void setEmployeeId(const std::string& employeeId); void setNotificationMessage(const std::string& message); void setNotificationTimestamp(const util::Timestamp& timestamp); void setNotificationStatus(Enums::NotificationStatus status); };