Changed Shared Pointers to raw pointers in the service classes
This commit is contained in:
@@ -4,5 +4,4 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 06-Apr-2026
|
* Created: 06-Apr-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ApplicationConfig.h"
|
#include "ApplicationConfig.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 06-Apr-2026
|
* Created: 06-Apr-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
namespace Config
|
namespace Config
|
||||||
|
|||||||
@@ -4,5 +4,4 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Apr-2026
|
* Created: 30-Apr-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "AttendanceManagementService.h"
|
#include "AttendanceManagementService.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Apr-2026
|
* Created: 30-Apr-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
class AttendanceManagementService
|
class AttendanceManagementService
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include "AuthenticationManagementService.h"
|
#include "AuthenticationManagementService.h"
|
||||||
#include "ApplicationConfig.h"
|
#include "ApplicationConfig.h"
|
||||||
@@ -81,7 +80,7 @@ AuthenticationDTO AuthenticationManagementService::login(const std::string& emai
|
|||||||
*/
|
*/
|
||||||
void AuthenticationManagementService::changePassword(const std::string& password)
|
void AuthenticationManagementService::changePassword(const std::string& password)
|
||||||
{
|
{
|
||||||
Employee* authenticatedUser = m_dataStore.getAuthenticatedUser();
|
Employee* authenticatedUser = m_dataStore.getAuthenticatedEmployee();
|
||||||
if (authenticatedUser)
|
if (authenticatedUser)
|
||||||
{
|
{
|
||||||
authenticatedUser->setEmployeePassword(password);
|
authenticatedUser->setEmployeePassword(password);
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|||||||
@@ -4,5 +4,4 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "BookingManagementService.h"
|
#include "BookingManagementService.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
class BookingManagementService
|
class BookingManagementService
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -18,14 +18,14 @@
|
|||||||
void EmployeeManagementService::createEmployee(Enums::EmployeeType employeeType, Enums::EmployeeDesignation employeeDesignation, const std::string& email, const std::string& name, const std::string& phone)
|
void EmployeeManagementService::createEmployee(Enums::EmployeeType employeeType, Enums::EmployeeDesignation employeeDesignation, const std::string& email, const std::string& name, const std::string& phone)
|
||||||
{
|
{
|
||||||
auto& employees = m_dataStore.getEmployees();
|
auto& employees = m_dataStore.getEmployees();
|
||||||
std::shared_ptr<Employee> authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
|
Employee* authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
|
||||||
if (!authenticatedEmployee)
|
if (!authenticatedEmployee)
|
||||||
{
|
{
|
||||||
throw std::runtime_error("No authenticated user");
|
throw std::runtime_error("No authenticated user");
|
||||||
}
|
}
|
||||||
Enums::EmployeeType authenticatedEmployeeType = authenticatedEmployee->getEmployeeType();
|
Enums::EmployeeType authenticatedEmployeeType = authenticatedEmployee->getEmployeeType();
|
||||||
std::shared_ptr<Employee> employee;
|
Employee* employee;
|
||||||
std::shared_ptr<Payroll> payroll;
|
Payroll* payroll;
|
||||||
if (employeeType != Enums::EmployeeType::GENERAL && util::hasActiveEmployeeOfType(employeeType, employees))
|
if (employeeType != Enums::EmployeeType::GENERAL && util::hasActiveEmployeeOfType(employeeType, employees))
|
||||||
{
|
{
|
||||||
throw std::runtime_error("Cannot create more than one employee of type " + Enums::getEmployeeTypeString(employeeType));
|
throw std::runtime_error("Cannot create more than one employee of type " + Enums::getEmployeeTypeString(employeeType));
|
||||||
@@ -135,13 +135,13 @@ bool EmployeeManagementService::updateDesignation(const std::string& id, Enums::
|
|||||||
{
|
{
|
||||||
auto& authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
|
auto& authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
|
||||||
util::enforceAuthorization(authenticatedEmployee->getEmployeeType(), Enums::EmployeeType::ADMIN, Enums::EmployeeType::HR);
|
util::enforceAuthorization(authenticatedEmployee->getEmployeeType(), Enums::EmployeeType::ADMIN, Enums::EmployeeType::HR);
|
||||||
std::map<std::string, std::shared_ptr<Employee>> employees = m_dataStore.getEmployees();
|
std::map<std::string, Employee*> employees = m_dataStore.getEmployees();
|
||||||
auto employeeIterator = employees.find(id);
|
auto employeeIterator = employees.find(id);
|
||||||
if (employeeIterator == employees.end())
|
if (employeeIterator == employees.end())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
auto generalEmployee = std::dynamic_pointer_cast<GeneralEmployee>((*employeeIterator).second);
|
auto generalEmployee = dynamic_cast<GeneralEmployee*>((*employeeIterator).second);
|
||||||
if (generalEmployee)
|
if (generalEmployee)
|
||||||
{
|
{
|
||||||
generalEmployee->setDesignation(designation);
|
generalEmployee->setDesignation(designation);
|
||||||
@@ -149,24 +149,24 @@ bool EmployeeManagementService::updateDesignation(const std::string& id, Enums::
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<const Employee> EmployeeManagementService::getCurrentEmployee()
|
const Employee* EmployeeManagementService::getCurrentEmployee()
|
||||||
{
|
{
|
||||||
return m_dataStore.getAuthenticatedEmployee();
|
return m_dataStore.getAuthenticatedEmployee();
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmployeeManagementService::updateProfile(const std::string& name,const std::string& phone)
|
void EmployeeManagementService::updateProfile(const std::string& name,const std::string& phone)
|
||||||
{
|
{
|
||||||
std::shared_ptr<Employee> employee = m_dataStore.getAuthenticatedEmployee();
|
Employee* employee = m_dataStore.getAuthenticatedEmployee();
|
||||||
employee->setEmployeeName(name);
|
employee->setEmployeeName(name);
|
||||||
employee->setEmployeePhone(phone);
|
employee->setEmployeePhone(phone);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::pair<Enums::EmployeeType, std::vector<std::shared_ptr<const Employee>>> EmployeeManagementService::searchEmployee(const std::string& name)
|
std::pair<Enums::EmployeeType, std::vector<const Employee*>> EmployeeManagementService::searchEmployee(const std::string& name)
|
||||||
{
|
{
|
||||||
std::shared_ptr<Employee> currentUser = m_dataStore.getAuthenticatedEmployee();
|
Employee* currentUser = m_dataStore.getAuthenticatedEmployee();
|
||||||
Enums::EmployeeType employeeType = currentUser->getEmployeeType();
|
Enums::EmployeeType employeeType = currentUser->getEmployeeType();
|
||||||
employeeMap& employees = m_dataStore.getEmployees();
|
employeeMap& employees = m_dataStore.getEmployees();
|
||||||
std::vector<std::shared_ptr<const Employee>> employeeList;
|
std::vector<const Employee*> employeeList;
|
||||||
if (employees.empty())
|
if (employees.empty())
|
||||||
{
|
{
|
||||||
return std::make_pair(employeeType, employeeList);
|
return std::make_pair(employeeType, employeeList);
|
||||||
@@ -220,12 +220,12 @@ void EmployeeManagementService::saveEmployees()
|
|||||||
FileManager<GeneralEmployee> generalEmployeeFileManager(Config::File::GENERAL_EMPLOYEES_FILE);
|
FileManager<GeneralEmployee> generalEmployeeFileManager(Config::File::GENERAL_EMPLOYEES_FILE);
|
||||||
const auto& allEmployees = m_dataStore.getEmployees();
|
const auto& allEmployees = m_dataStore.getEmployees();
|
||||||
employeeMap employees;
|
employeeMap employees;
|
||||||
std::map<std::string, std::shared_ptr<GeneralEmployee>> generalEmployees;
|
std::map<std::string, GeneralEmployee*> generalEmployees;
|
||||||
for (auto& employeePair : allEmployees)
|
for (auto& employeePair : allEmployees)
|
||||||
{
|
{
|
||||||
if (employeePair.second->getEmployeeType() == Enums::EmployeeType::GENERAL)
|
if (employeePair.second->getEmployeeType() == Enums::EmployeeType::GENERAL)
|
||||||
{
|
{
|
||||||
generalEmployees.emplace(employeePair.first, std::static_pointer_cast<GeneralEmployee>(employeePair.second));
|
generalEmployees.emplace(employeePair.first, static_cast<GeneralEmployee*>(employeePair.second));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -236,10 +236,10 @@ void EmployeeManagementService::saveEmployees()
|
|||||||
generalEmployeeFileManager.save(generalEmployees);
|
generalEmployeeFileManager.save(generalEmployees);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::shared_ptr<Candidate>> EmployeeManagementService::getShorlistedCandidates()
|
std::vector<Candidate*> EmployeeManagementService::getShorlistedCandidates()
|
||||||
{
|
{
|
||||||
candidateMap candidates = m_dataStore.getCandidates();
|
candidateMap candidates = m_dataStore.getCandidates();
|
||||||
std::vector<std::shared_ptr<Candidate>> shortlistedCandidates;
|
std::vector<Candidate*> shortlistedCandidates;
|
||||||
for (auto& candidate : candidates)
|
for (auto& candidate : candidates)
|
||||||
{
|
{
|
||||||
if (candidate.second->getCandidateStatus() == Enums::CandidateStatus::SHORTLISTED)
|
if (candidate.second->getCandidateStatus() == Enums::CandidateStatus::SHORTLISTED)
|
||||||
|
|||||||
@@ -4,5 +4,4 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "LeaveManagementService.h"
|
#include "LeaveManagementService.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
class LeaveManagementService
|
class LeaveManagementService
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 01-Apr-2026
|
* Created: 01-Apr-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "LogService.h"
|
#include "LogService.h"
|
||||||
#include "Log.h"
|
#include "Log.h"
|
||||||
#include "Factory.h"
|
#include "Factory.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 01-Apr-2026
|
* Created: 01-Apr-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "Log.h"
|
#include "Log.h"
|
||||||
|
|
||||||
|
|||||||
@@ -4,5 +4,4 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "NotificationManagementService.h"
|
#include "NotificationManagementService.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
class NotificationManagementService
|
class NotificationManagementService
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "PayslipManagementService.h"
|
#include "PayslipManagementService.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <string>
|
#include <string>
|
||||||
#include<stdexcept>
|
#include<stdexcept>
|
||||||
|
|||||||
@@ -4,5 +4,4 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "TalentAcquisitionManagementService.h"
|
#include "TalentAcquisitionManagementService.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
class TalentAcquisitionManagementService
|
class TalentAcquisitionManagementService
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,5 +4,4 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "TeamManagementService.h"
|
#include "TeamManagementService.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
class TeamManagementService
|
class TeamManagementService
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,5 +4,4 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "TicketManagementService.h"
|
#include "TicketManagementService.h"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* Author: Trenser
|
* Author: Trenser
|
||||||
* Created: 30-Mar-2026
|
* Created: 30-Mar-2026
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
class TicketManagementService
|
class TicketManagementService
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user