Files
Training-Team2-Zenvy-Jan26/Trenser.Zenvy/Trenser.Zenvy/models/Notification.h
T

38 lines
1.4 KiB
C++

/*
File: Notification.h
* Description : Represents an employee notification with message and status details.
* Author : Trenser
* Created : 31 - Mar - 2026
*/
#pragma once
#include <string>
#include "Enums.h"
#include "Timestamp.h"
class Notification
{
private:
std::string m_id;
std::string m_employeeId;
std::string m_message;
util::Timestamp m_timestamp;
Enums::NotificationStatus m_notificationStatus;
public:
Notification() : m_id(""), m_employeeId(""), m_message(""), m_timestamp(), m_notificationStatus(Enums::NotificationStatus::UNREAD) {}
Notification(const std::string& id,
const std::string& employeeId,
const std::string& message,
Enums::NotificationStatus notificationStatus)
: m_id(id), 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);
};