#pragma once #include #include "../db/mysql_connector.h" #include "../DAO/IUserDAO.h" #include "../DAO/IMedicationsDAO.h" #include "../DAO/MySQLUserTreatmentSchemesDAO.h" #include "AuthRegistrationExecutor.h" #include "RootExecutor.h" #include "../DAO/MemoryAuthDAO.h" #include "../DAO/MySQLUserDAO.h" #include "../DAO/MySQLMedicationsDAO.h" #include "../DAO/MySQLDiariesDAO.h" namespace uad { template void HandleRequest( boost::beast::string_view doc_root, boost::beast::http::request>&& req, Send&& send) { static std::shared_ptr user_dao = std::make_shared(GetMySqlSession()); static std::shared_ptr auth_dao = std::make_shared(GetMySqlSession()); static std::shared_ptr medications_dao = std::make_shared(GetMySqlSession()); static std::shared_ptr user_treatment_schemes_dao = std::make_shared(GetMySqlSession()); static std::shared_ptr diaries_dao = std::make_shared(GetMySqlSession()); static RootExecutor root_executor( GetMySqlSession(), user_dao, auth_dao, medications_dao, user_treatment_schemes_dao, diaries_dao ); root_executor(doc_root, std::move(req), std::forward(send)); } }