- changed login request from GET to POST - implement json body conversion to DTO objects - set `user_id` and `role` attributes for HttpRequest inside filter
71 lines
1.8 KiB
CMake
71 lines
1.8 KiB
CMake
cmake_minimum_required(VERSION 3.13)
|
|
|
|
set(CMAKE_TOOLCHAIN_FILE "./vcpkg/scripts/buildsystems/vcpkg.cmake")
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
project(
|
|
"HousingManagement-server"
|
|
VERSION 1.0.0
|
|
DESCRIPTION "A project that serves as a backend for House Management course work"
|
|
LANGUAGES C CXX
|
|
)
|
|
|
|
# Drogon options
|
|
set(BUILD_CTL OFF CACHE BOOL "")
|
|
set(BUILD_EXAMPLES OFF CACHE BOOL "")
|
|
set(BUILD_ORM OFF CACHE BOOL "")
|
|
|
|
# jwt-cpp options
|
|
set(JWT_BUILD_EXAMPLES OFF CACHE BOOL "")
|
|
set(JWT_DISABLE_PICOJSON ON CACHE BOOL "")
|
|
|
|
add_subdirectory(third_party/drogon)
|
|
add_subdirectory(third_party/libpqxx)
|
|
add_subdirectory(third_party/jwt-cpp)
|
|
add_subdirectory(third_party/nlohmann_json)
|
|
add_subdirectory(third_party/spdlog)
|
|
|
|
add_executable(${PROJECT_NAME}
|
|
src/main.cpp
|
|
src/dependency_injection/DependencyContainer.h
|
|
src/utils/JsonConversion.cpp
|
|
src/utils/JsonConversion.h
|
|
src/controllers/AuthController.cpp
|
|
src/controllers/AuthController.h
|
|
src/controllers/filters/TokenValidationFilter.cpp
|
|
src/controllers/filters/TokenValidationFilter.h
|
|
src/dto/LoginRequestDto.h
|
|
src/dto/RegisterRequestDto.h
|
|
src/models/Entity.h
|
|
src/models/User.h
|
|
src/services/AuthService.cpp
|
|
src/services/AuthService.h
|
|
src/services/UserManager.cpp
|
|
src/services/UserManager.h
|
|
src/services/encryption/PasswordEncryptor.cpp
|
|
src/services/encryption/PasswordEncryptor.h
|
|
src/services/encryption/SHA256Hasher.cpp
|
|
src/services/encryption/SHA256Hasher.h
|
|
src/storages/IUserStorage.h
|
|
src/mock_storage_implementation/UserStorage.cpp
|
|
src/mock_storage_implementation/UserStorage.h
|
|
)
|
|
|
|
# Copy config dir to build dir
|
|
set(CONFIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}/config)
|
|
file(COPY ${CONFIG_SOURCE_DIR} DESTINATION ${CMAKE_BINARY_DIR})
|
|
|
|
target_include_directories(
|
|
${PROJECT_NAME} PRIVATE
|
|
src/
|
|
)
|
|
|
|
target_link_libraries(
|
|
${PROJECT_NAME} PRIVATE
|
|
drogon
|
|
libpqxx::pqxx
|
|
jwt-cpp::jwt-cpp
|
|
nlohmann_json::nlohmann_json
|
|
spdlog::spdlog
|
|
)
|