From d198317d4f3560e87e8b0136f13660fb47869a7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD?= Date: Sun, 8 Feb 2026 09:25:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D1=87=D1=82=D0=B8=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20=D1=81?= =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 212 +++++++++++++++++++++++++------------------------ Dockerfile | 4 +- 2 files changed, 112 insertions(+), 104 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 216ee83..68f64df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,55 +26,56 @@ find_package(mysql-concpp REQUIRED) set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) -add_executable(App ./src/main.cpp - ./src/helpers/helpers.h - ./src/helpers/helpers.cpp - ./src/endpoints_handlers/HandleRequest.h - ./src/endpoints_handlers/IController.h - ./src/endpoints_handlers/Controller.h - ./src/session/HttpSession.h - ./src/session/HttpSession.cpp - ./src/session/WebsocketSession.h - ./src/session/WebsocketSession.cpp - ./src/listener/Listener.h - ./src/listener/Listener.cpp - ./src/db/mysql_connector.cpp - ./src/db/mysql_connector.h - ./src/DAO/IUserDAO.h - ./src/dtos/user_dto.h - ./src/dtos/medication_dto.h - ./src/DAO/MySQLUserDAO.cpp - ./src/DAO/MySQLUserDAO.h - ./src/endpoints_handlers/IExecutor.h - ./src/endpoints_handlers/AuthRegistrationExecutor.h - ./src/endpoints_handlers/RootExecutor.h - ./src/DAO/IAuthDAO.h - ./src/DAO/MemoryAuthDAO.cpp - ./src/DAO/MemoryAuthDAO.h - ./src/endpoints_handlers/AuthLogoutExecutor.h - ./src/endpoints_handlers/AuthLoginExecutor.h - ./src/exceptions/session_exception.cpp - ./src/exceptions/session_exception.h - ./src/log/Log.h - ./src/log/Log.cpp - ./tests/fixtures/AuthFixture.h - ./src/endpoints_handlers/GetUserMedicationsExecutor.h - ./src/DAO/IMedicationsDAO.h - ./src/DAO/MySQLMedicationsDAO.h - ./src/DAO/MySQLMedicationsDAO.cpp - ./src/dtos/user_treatment_scheme_dto.h - ./src/DAO/IUserTreatmentSchemesDAO.h - ./src/DAO/MySQLUserTreatmentSchemesDAO.cpp - ./src/DAO/MySQLUserTreatmentSchemesDAO.h - ./src/endpoints_handlers/GetUserTreatmentSchemeExecutor.h - ./src/endpoints_handlers/GetDiariesExecutor.h - ./src/endpoints_handlers/PostDiaryExecutor.h - ./src/endpoints_handlers/PutDiaryExecutor.h - ./src/endpoints_handlers/DeleteDiaryExecutor.h - ./src/DAO/IDiariesDAO.h - ./src/dtos/diary_dto.h - ./src/DAO/MySQLDiariesDao.cpp - ./src/DAO/MySQLDiariesDao.h +add_executable(App + ${CMAKE_SOURCE_DIR}/src/main.cpp + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.h + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.cpp + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/HandleRequest.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/IController.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/Controller.h + ${CMAKE_SOURCE_DIR}/src/session/HttpSession.h + ${CMAKE_SOURCE_DIR}/src/session/HttpSession.cpp + ${CMAKE_SOURCE_DIR}/src/session/WebsocketSession.h + ${CMAKE_SOURCE_DIR}/src/session/WebsocketSession.cpp + ${CMAKE_SOURCE_DIR}/src/listener/Listener.h + ${CMAKE_SOURCE_DIR}/src/listener/Listener.cpp + ${CMAKE_SOURCE_DIR}/src/db/mysql_connector.cpp + ${CMAKE_SOURCE_DIR}/src/db/mysql_connector.h + ${CMAKE_SOURCE_DIR}/src/DAO/IUserDAO.h + ${CMAKE_SOURCE_DIR}/src/dtos/user_dto.h + ${CMAKE_SOURCE_DIR}/src/dtos/medication_dto.h + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserDAO.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserDAO.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/IExecutor.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/AuthRegistrationExecutor.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/RootExecutor.h + ${CMAKE_SOURCE_DIR}/src/DAO/IAuthDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MemoryAuthDAO.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MemoryAuthDAO.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/AuthLogoutExecutor.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/AuthLoginExecutor.h + ${CMAKE_SOURCE_DIR}/src/exceptions/session_exception.cpp + ${CMAKE_SOURCE_DIR}/src/exceptions/session_exception.h + ${CMAKE_SOURCE_DIR}/src/log/Log.h + ${CMAKE_SOURCE_DIR}/src/log/Log.cpp + ${CMAKE_SOURCE_DIR}/tests/fixtures/AuthFixture.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/GetUserMedicationsExecutor.h + ${CMAKE_SOURCE_DIR}/src/DAO/IMedicationsDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLMedicationsDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLMedicationsDAO.cpp + ${CMAKE_SOURCE_DIR}/src/dtos/user_treatment_scheme_dto.h + ${CMAKE_SOURCE_DIR}/src/DAO/IUserTreatmentSchemesDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserTreatmentSchemesDAO.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserTreatmentSchemesDAO.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/GetUserTreatmentSchemeExecutor.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/GetDiariesExecutor.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/PostDiaryExecutor.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/PutDiaryExecutor.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/DeleteDiaryExecutor.h + ${CMAKE_SOURCE_DIR}/src/DAO/IDiariesDAO.h + ${CMAKE_SOURCE_DIR}/src/dtos/diary_dto.h + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLDiariesDAO.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLDiariesDAO.h ) target_link_libraries(App PRIVATE Boost::boost @@ -90,34 +91,37 @@ if (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") endif () -add_executable(HelpersTests ./tests/helpers/helpers_TEST.cpp - ./src/helpers/helpers.h - ./src/helpers/helpers.cpp) +add_executable(HelpersTests + ${CMAKE_SOURCE_DIR}/tests/helpers/helpers_TEST.cpp + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.h + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.cpp) target_link_libraries(HelpersTests PRIVATE Boost::boost Boost::json Boost::log) add_test(HelpersTests HelpersTests) -add_executable(ControllerTests ./tests/endpoint_handlers/Controller_TEST.cpp - ./src/endpoints_handlers/IController.h - ./src/endpoints_handlers/Controller.h) +add_executable(ControllerTests + ${CMAKE_SOURCE_DIR}/tests/endpoint_handlers/Controller_TEST.cpp + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/IController.h + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/Controller.h) target_link_libraries(ControllerTests PRIVATE Boost::boost) add_test(ControllerTests ControllerTests) -add_executable(AuthRegistrationExecutorTests ./tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp - ./src/endpoints_handlers/AuthRegistrationExecutor.h - ./src/exceptions/session_exception.cpp - ./src/exceptions/session_exception.h - ./src/helpers/helpers.h - ./src/helpers/helpers.cpp - ./src/DAO/MemoryAuthDAO.h - ./src/DAO/MemoryAuthDAO.cpp - ./src/DAO/MySQLUserDAO.h - ./src/DAO/MySQLUserDAO.cpp - ./src/db/mysql_connector.h - ./src/db/mysql_connector.cpp - tests/fixtures/AuthFixture.h - tests/fixtures/AuthFixture.cpp - ./tests/fixtures/fixture_session_initialization_helper.h - ./tests/fixtures/fixture_session_initialization_helper.cpp) +add_executable(AuthRegistrationExecutorTests + ${CMAKE_SOURCE_DIR}/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/AuthRegistrationExecutor.h + ${CMAKE_SOURCE_DIR}/src/exceptions/session_exception.cpp + ${CMAKE_SOURCE_DIR}/src/exceptions/session_exception.h + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.h + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MemoryAuthDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MemoryAuthDAO.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserDAO.cpp + ${CMAKE_SOURCE_DIR}/src/db/mysql_connector.h + ${CMAKE_SOURCE_DIR}/src/db/mysql_connector.cpp + ${CMAKE_SOURCE_DIR}/tests/fixtures/AuthFixture.h + ${CMAKE_SOURCE_DIR}/tests/fixtures/AuthFixture.cpp + ${CMAKE_SOURCE_DIR}/tests/fixtures/fixture_session_initialization_helper.h + ${CMAKE_SOURCE_DIR}/tests/fixtures/fixture_session_initialization_helper.cpp) target_link_libraries(AuthRegistrationExecutorTests PRIVATE Boost::boost Boost::json Boost::log @@ -127,22 +131,23 @@ target_link_libraries(AuthRegistrationExecutorTests PRIVATE Boost::boost mysql::concpp) add_test(AuthRegistrationExecutorTests AuthRegistrationExecutorTests) -add_executable(AuthLoginExecutorTests ./tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp - ./src/endpoints_handlers/AuthRegistrationExecutor.h - ./src/exceptions/session_exception.cpp - ./src/exceptions/session_exception.h - ./src/helpers/helpers.h - ./src/helpers/helpers.cpp - ./src/DAO/MySQLUserDAO.h - ./src/DAO/MySQLUserDAO.cpp - ./src/DAO/MemoryAuthDAO.h - ./src/DAO/MemoryAuthDAO.cpp - ./src/db/mysql_connector.h - ./src/db/mysql_connector.cpp - tests/fixtures/AuthFixture.h - tests/fixtures/AuthFixture.cpp - ./tests/fixtures/fixture_session_initialization_helper.h - ./tests/fixtures/fixture_session_initialization_helper.cpp) +add_executable(AuthLoginExecutorTests + ${CMAKE_SOURCE_DIR}/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/AuthRegistrationExecutor.h + ${CMAKE_SOURCE_DIR}/src/exceptions/session_exception.cpp + ${CMAKE_SOURCE_DIR}/src/exceptions/session_exception.h + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.h + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserDAO.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MemoryAuthDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MemoryAuthDAO.cpp + ${CMAKE_SOURCE_DIR}/src/db/mysql_connector.h + ${CMAKE_SOURCE_DIR}/src/db/mysql_connector.cpp + ${CMAKE_SOURCE_DIR}/tests/fixtures/AuthFixture.h + ${CMAKE_SOURCE_DIR}/tests/fixtures/AuthFixture.cpp + ${CMAKE_SOURCE_DIR}/tests/fixtures/fixture_session_initialization_helper.h + ${CMAKE_SOURCE_DIR}/tests/fixtures/fixture_session_initialization_helper.cpp) target_link_libraries(AuthLoginExecutorTests PRIVATE Boost::boost Boost::json Boost::log @@ -152,22 +157,23 @@ target_link_libraries(AuthLoginExecutorTests PRIVATE Boost::boost mysql::concpp) add_test(AuthLoginExecutorTests AuthLoginExecutorTests) -add_executable(AuthLogoutExecutorTests ./tests/endpoint_handlers/AuthLogoutExecutor_TEST.cpp - ./src/endpoints_handlers/AuthRegistrationExecutor.h - ./src/exceptions/session_exception.cpp - ./src/exceptions/session_exception.h - ./src/helpers/helpers.h - ./src/helpers/helpers.cpp - ./src/DAO/MySQLUserDAO.h - ./src/DAO/MySQLUserDAO.cpp - ./src/DAO/MemoryAuthDAO.h - ./src/DAO/MemoryAuthDAO.cpp - ./src/db/mysql_connector.h - ./src/db/mysql_connector.cpp - ./tests/fixtures/AuthFixture.h - ./tests/fixtures/AuthFixture.cpp - ./tests/fixtures/fixture_session_initialization_helper.h - ./tests/fixtures/fixture_session_initialization_helper.cpp) +add_executable(AuthLogoutExecutorTests + ${CMAKE_SOURCE_DIR}/tests/endpoint_handlers/AuthLogoutExecutor_TEST.cpp + ${CMAKE_SOURCE_DIR}/src/endpoints_handlers/AuthRegistrationExecutor.h + ${CMAKE_SOURCE_DIR}/src/exceptions/session_exception.cpp + ${CMAKE_SOURCE_DIR}/src/exceptions/session_exception.h + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.h + ${CMAKE_SOURCE_DIR}/src/helpers/helpers.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MySQLUserDAO.cpp + ${CMAKE_SOURCE_DIR}/src/DAO/MemoryAuthDAO.h + ${CMAKE_SOURCE_DIR}/src/DAO/MemoryAuthDAO.cpp + ${CMAKE_SOURCE_DIR}/src/db/mysql_connector.h + ${CMAKE_SOURCE_DIR}/src/db/mysql_connector.cpp + ${CMAKE_SOURCE_DIR}/tests/fixtures/AuthFixture.h + ${CMAKE_SOURCE_DIR}/tests/fixtures/AuthFixture.cpp + ${CMAKE_SOURCE_DIR}/tests/fixtures/fixture_session_initialization_helper.h + ${CMAKE_SOURCE_DIR}/tests/fixtures/fixture_session_initialization_helper.cpp) target_link_libraries(AuthLogoutExecutorTests PRIVATE Boost::boost Boost::json Boost::log diff --git a/Dockerfile b/Dockerfile index 8a3fba6..c5e1a09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,8 @@ FROM ubuntu:24.04 ARG CONCPP_VER=9.4.0 ARG CONCPP_TGZ=mysql-connector-c++-${CONCPP_VER}-linux-glibc2.28-x86-64bit.tar.gz + + RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates curl xz-utils \ && rm -rf /var/lib/apt/lists/* @@ -34,5 +36,5 @@ RUN set -eux; pwd; ls -la /project; test -f /project/CMakeLists.txt # Build & Run project RUN mkdir /project/dist RUN ls -la /project -RUN cmake /project/dist/.. -Dmysql-concpp_DIR=/opt/mysql-concpp +RUN cmake -S /project -B /project/dist -Dmysql-concpp_DIR=/opt/mysql-concpp RUN cmake --build /project/dist