From 02c4f1a954cad0f12167714189831a2975c27e46 Mon Sep 17 00:00:00 2001 From: Joel Thomas Date: Mon, 6 Apr 2026 09:39:14 +0530 Subject: [PATCH] Add EmployeeType and LoginStatus enums, extend Employee model SRS01 : Authentication - Added EmployeeType and LoginStatus enums - Extended Employee model to store employee type - Updated Employee constructors to initialize employee type - Added getter for employee type in Employee model Smitha Mohan --- .../Trenser.Zenvy/models/Employee.cpp | 7 ++++++- Trenser.Zenvy/Trenser.Zenvy/models/Employee.h | 7 +++++-- Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/Trenser.Zenvy/Trenser.Zenvy/models/Employee.cpp b/Trenser.Zenvy/Trenser.Zenvy/models/Employee.cpp index d5d4554..4bd8c3b 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/models/Employee.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/models/Employee.cpp @@ -122,4 +122,9 @@ void Employee::addLeave(std::shared_ptr leave) { m_leaves[leave->getLeaveId()] = leave; } -} \ No newline at end of file +} + +Enums::EmployeeType Employee::getEmployeeType() const +{ + return m_employeeType; +} diff --git a/Trenser.Zenvy/Trenser.Zenvy/models/Employee.h b/Trenser.Zenvy/Trenser.Zenvy/models/Employee.h index 559afba..ef6e6b0 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/models/Employee.h +++ b/Trenser.Zenvy/Trenser.Zenvy/models/Employee.h @@ -26,16 +26,18 @@ private: payslipMap m_payslips; attendanceMap m_attendances; leaveMap m_leaves; + Enums::EmployeeType m_employeeType; public: - Employee() : m_id(""), m_password(""), m_name(""), m_phone(""), m_email(""), m_accountStatus(Enums::AccountStatus::ACTIVE), m_teamStatus(Enums::TeamStatus::NOT_IN_TEAM), m_teamId("") {} + Employee() : m_id(""), m_password(""), m_name(""), m_phone(""), m_email(""), m_accountStatus(Enums::AccountStatus::ACTIVE), m_teamStatus(Enums::TeamStatus::NOT_IN_TEAM), m_teamId(""), m_employeeType(Enums::EmployeeType::GENERAL) {} Employee(const std::string& id, const std::string& password, const std::string& name, const std::string& phone, const std::string& email, const std::string& teamId, + Enums::EmployeeType employeeType, std::shared_ptr payroll) - : m_id(id), m_password(password), m_name(name), m_phone(phone), m_email(email), m_accountStatus(Enums::AccountStatus::ACTIVE), m_teamStatus(Enums::TeamStatus::NOT_IN_TEAM), m_teamId(teamId), m_payroll(payroll) {} + : m_id(id), m_password(password), m_name(name), m_phone(phone), m_email(email), m_accountStatus(Enums::AccountStatus::ACTIVE), m_teamStatus(Enums::TeamStatus::NOT_IN_TEAM), m_teamId(teamId), m_employeeType(employeeType), m_payroll(payroll) { } const std::string& getEmployeeId() const; const std::string& getEmployeePassword() const; const std::string& getEmployeeName() const; @@ -59,5 +61,6 @@ public: void addPayslip(std::shared_ptr payslip); void addAttendance(std::shared_ptr attendance); void addLeave(std::shared_ptr leave); + Enums::EmployeeType getEmployeeType() const; ~Employee() = default; }; \ No newline at end of file diff --git a/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h b/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h index 84f2848..40b8f02 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h +++ b/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h @@ -69,4 +69,22 @@ namespace Enums { TEAM_LEAD }; + enum class EmployeeType + { + GENERAL, + IT, + FINANCE, + TAG, + HR, + ADMIN, + INVALID + }; + + enum class LoginStatus + { + SUCCESS, + FIRST_LOGIN, + USER_NOT_FOUND, + INVALID_PASSWORD + }; }