29 lines
712 B
C++
29 lines
712 B
C++
/*
|
|
* File: AuthenticationManagementService.h
|
|
* Description: Handles authentication related operations
|
|
* Author: Trenser
|
|
* Created: 30-Mar-2026
|
|
*/
|
|
|
|
#pragma once
|
|
#include <string>
|
|
#include <map>
|
|
#include <tuple>
|
|
#include <utility>
|
|
#include <stdexcept>
|
|
#include "DataStore.h"
|
|
#include "Enums.h"
|
|
|
|
using AuthenticationDTO = std::tuple<Enums::LoginStatus, Enums::EmployeeType, Enums::EmployeeDesignation>;
|
|
|
|
class AuthenticationManagementService
|
|
{
|
|
private:
|
|
DataStore& m_dataStore;
|
|
public:
|
|
AuthenticationManagementService() : m_dataStore(DataStore::getInstance()) {};
|
|
AuthenticationDTO login(const std::string& username, const std::string& password);
|
|
void logout();
|
|
void changePassword(const std::string&);
|
|
};
|