ef5ac42a92
<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>
53 lines
2.5 KiB
C++
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&);
|
|
};
|