Files
Training-Team2-Zenvy-Jan26/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.h
T
joelthomastrenser ef5ac42a92 Implement employee creation
<UserStory>EMP001 Create Employee</UserStory>

<Changes>
- Updated employee creation flow to support different employee types and designations
- Set a default initial password for new employees
- Added basic authorization check utility
- Cleaned up employee model constructors for better consistency
Minor code cleanup and refactoring
</Changes>

<Review>
Smitha Mohan
</Review>
2026-04-07 15:07:44 +05:30

53 lines
2.5 KiB
C++

#pragma once
#include <memory>
#include <utility>
#include "AuthenticationManagementService.h"
#include "AttendanceManagementService.h"
#include "BookingManagementService.h"
#include "EmployeeManagementService.h"
#include "LeaveManagementService.h"
#include "NotificationManagementService.h"
#include "PayslipManagementService.h"
#include "TalentAcquisitionManagementService.h"
#include "TeamManagementService.h"
#include "TicketManagementService.h"
#include "Enums.h"
class ZenvyController
{
private:
std::shared_ptr<AuthenticationManagementService> m_authenticationManagementService;
std::shared_ptr<AttendanceManagementService> m_attendanceManagementService;
std::shared_ptr<BookingManagementService> m_bookingManagementService;
std::shared_ptr<EmployeeManagementService> m_employeeManagementService;
std::shared_ptr<LeaveManagementService> m_leaveManagementService;
std::shared_ptr<NotificationManagementService> m_notificationManagementService;
std::shared_ptr<PayslipManagementService> m_payslipManagementService;
std::shared_ptr<TalentAcquisitionManagementService> m_talentAcquisitionManagementService;
std::shared_ptr<TeamManagementService> m_teamManagementService;
std::shared_ptr<TicketManagementService> m_ticketManagementService;
public:
ZenvyController() :
m_authenticationManagementService(std::make_shared<AuthenticationManagementService>()),
m_attendanceManagementService(std::make_shared<AttendanceManagementService>()),
m_bookingManagementService(std::make_shared<BookingManagementService>()),
m_employeeManagementService(std::make_shared<EmployeeManagementService>()),
m_leaveManagementService(std::make_shared<LeaveManagementService>()),
m_notificationManagementService(std::make_shared<NotificationManagementService>()),
m_payslipManagementService(std::make_shared<PayslipManagementService>()),
m_talentAcquisitionManagementService(std::make_shared<TalentAcquisitionManagementService>()),
m_teamManagementService(std::make_shared<TeamManagementService>()),
m_ticketManagementService(std::make_shared<TicketManagementService>()) {};
//Authentication
AuthenticationDTO login(const std::string& email, const std::string& password);
void logout();
void changePassword(const std::string&);
//Employee Management
void createEmployee(Enums::EmployeeType, Enums::EmployeeDesignation, const std::string&, const std::string&, const std::string&);
bool deactivateEmployee(const std::string&);
Employees getEmployees();
std::shared_ptr<const Employee> getEmployee(const std::string&);
};