diff --git a/src/endpoints_handlers/PostDiaryExecutor.h b/src/endpoints_handlers/PostDiaryExecutor.h index 3edcefe..c4b9080 100644 --- a/src/endpoints_handlers/PostDiaryExecutor.h +++ b/src/endpoints_handlers/PostDiaryExecutor.h @@ -90,15 +90,19 @@ public: try { + session_.startTransaction(); diaries_dao_->СreateDiary(user_uuid, dto); + session_.commit(); } catch (const mysqlx::Error& e) { + session_.rollback(); BOOST_LOG_TRIVIAL(error) << "MySQL Error: " << e.what(); throw session_exception(http::status::internal_server_error, "Internal Server Error"); } catch (const std::exception& e) { + session_.rollback(); BOOST_LOG_TRIVIAL(error) << "Unexpected Error: " << e.what(); throw session_exception(http::status::internal_server_error, "Internal Server Error"); }