Changed Shared Pointers to raw pointers in the service classes

This commit is contained in:
Jissin Sam Mathew
2026-04-16 18:05:11 +05:30
parent 6a373b48df
commit 138901b8e9
23 changed files with 15 additions and 37 deletions
@@ -4,5 +4,4 @@
* Author: Trenser
* Created: 06-Apr-2026
*/
#include "ApplicationConfig.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 06-Apr-2026
*/
#pragma once
namespace Config
@@ -4,5 +4,4 @@
* Author: Trenser
* Created: 30-Apr-2026
*/
#include "AttendanceManagementService.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Apr-2026
*/
#pragma once
class AttendanceManagementService
{
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#include <stdexcept>
#include "AuthenticationManagementService.h"
#include "ApplicationConfig.h"
@@ -81,7 +80,7 @@ AuthenticationDTO AuthenticationManagementService::login(const std::string& emai
*/
void AuthenticationManagementService::changePassword(const std::string& password)
{
Employee* authenticatedUser = m_dataStore.getAuthenticatedUser();
Employee* authenticatedUser = m_dataStore.getAuthenticatedEmployee();
if (authenticatedUser)
{
authenticatedUser->setEmployeePassword(password);
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#pragma once
#include <string>
#include <map>
@@ -4,5 +4,4 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#include "BookingManagementService.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#pragma once
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)
{
auto& employees = m_dataStore.getEmployees();
std::shared_ptr<Employee> authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
Employee* authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
if (!authenticatedEmployee)
{
throw std::runtime_error("No authenticated user");
}
Enums::EmployeeType authenticatedEmployeeType = authenticatedEmployee->getEmployeeType();
std::shared_ptr<Employee> employee;
std::shared_ptr<Payroll> payroll;
Employee* employee;
Payroll* payroll;
if (employeeType != Enums::EmployeeType::GENERAL && util::hasActiveEmployeeOfType(employeeType, employees))
{
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();
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);
if (employeeIterator == employees.end())
{
return false;
}
auto generalEmployee = std::dynamic_pointer_cast<GeneralEmployee>((*employeeIterator).second);
auto generalEmployee = dynamic_cast<GeneralEmployee*>((*employeeIterator).second);
if (generalEmployee)
{
generalEmployee->setDesignation(designation);
@@ -149,24 +149,24 @@ bool EmployeeManagementService::updateDesignation(const std::string& id, Enums::
return true;
}
std::shared_ptr<const Employee> EmployeeManagementService::getCurrentEmployee()
const Employee* EmployeeManagementService::getCurrentEmployee()
{
return m_dataStore.getAuthenticatedEmployee();
}
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->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();
employeeMap& employees = m_dataStore.getEmployees();
std::vector<std::shared_ptr<const Employee>> employeeList;
std::vector<const Employee*> employeeList;
if (employees.empty())
{
return std::make_pair(employeeType, employeeList);
@@ -220,12 +220,12 @@ void EmployeeManagementService::saveEmployees()
FileManager<GeneralEmployee> generalEmployeeFileManager(Config::File::GENERAL_EMPLOYEES_FILE);
const auto& allEmployees = m_dataStore.getEmployees();
employeeMap employees;
std::map<std::string, std::shared_ptr<GeneralEmployee>> generalEmployees;
std::map<std::string, GeneralEmployee*> generalEmployees;
for (auto& employeePair : allEmployees)
{
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
{
@@ -236,10 +236,10 @@ void EmployeeManagementService::saveEmployees()
generalEmployeeFileManager.save(generalEmployees);
}
std::vector<std::shared_ptr<Candidate>> EmployeeManagementService::getShorlistedCandidates()
std::vector<Candidate*> EmployeeManagementService::getShorlistedCandidates()
{
candidateMap candidates = m_dataStore.getCandidates();
std::vector<std::shared_ptr<Candidate>> shortlistedCandidates;
std::vector<Candidate*> shortlistedCandidates;
for (auto& candidate : candidates)
{
if (candidate.second->getCandidateStatus() == Enums::CandidateStatus::SHORTLISTED)
@@ -4,5 +4,4 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#include "LeaveManagementService.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#pragma once
class LeaveManagementService
{
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 01-Apr-2026
*/
#include "LogService.h"
#include "Log.h"
#include "Factory.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 01-Apr-2026
*/
#pragma once
#include "Log.h"
@@ -4,5 +4,4 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#include "NotificationManagementService.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#pragma once
class NotificationManagementService
{
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#include <stdexcept>
#include <algorithm>
#include "PayslipManagementService.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#pragma once
#include <string>
#include<stdexcept>
@@ -4,5 +4,4 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#include "TalentAcquisitionManagementService.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#pragma once
class TalentAcquisitionManagementService
{
@@ -4,5 +4,4 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#include "TeamManagementService.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#pragma once
class TeamManagementService
{
@@ -4,5 +4,4 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#include "TicketManagementService.h"
@@ -4,7 +4,6 @@
* Author: Trenser
* Created: 30-Mar-2026
*/
#pragma once
class TicketManagementService
{