#ifndef PASSWORD_AUTHENTICATOR_HPP_
#define PASSWORD_AUTHENTICATOR_HPP_

#include <Authenticator/Authenticator.hpp>
#include <UserDB/UserDB.hpp>

/**
 * @brief Password authenticator.
 */
class PasswordAuthenticator : public Authenticator
{
private:
    std::string userName;
    std::string password;

public:
    /**
     * @brief Construct the password authenticator.
     * 
     * @param userName The user name.
     * @param password The password.
     */
    PasswordAuthenticator(std::string userName, std::string password);

    virtual bool sendGreetingPayload(SOCKET socket) override;
    virtual std::string getUserName() override;
};

#endif