From e41b247e61ce4d4cc96badab3a14bf413e4f46f2 Mon Sep 17 00:00:00 2001 From: eportnov Date: Mon, 3 Oct 2022 11:37:47 +0300 Subject: refactoring --- src/converter/struct_to_file.cpp | 65 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/converter/struct_to_file.cpp (limited to 'src/converter/struct_to_file.cpp') diff --git a/src/converter/struct_to_file.cpp b/src/converter/struct_to_file.cpp new file mode 100644 index 0000000..f21cffb --- /dev/null +++ b/src/converter/struct_to_file.cpp @@ -0,0 +1,65 @@ +#include "struct_to_file.hpp" + +namespace smtp::converter +{ + + manage::SettingsFileDataType StructToFile::Convert( manage::SettingsFields const& from ) const + { + manage::SettingsFileDataType result; + + ApplyPort( from, result ); + ApplyHost( from, result ); + ApplyPassword( from, result ); + ApplyUsername( from, result ); + ApplySsl( from, result ); + ApplyAuth( from, result ); + + return result; + } + + void StructToFile::ApplyAuth( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const + { + static const std::string FIELD = "is_need_auth"; + static const std::string TRUE_AS_STRING = "true"; + static const std::string FALSE_AS_STRING = "false"; + + from.is_need_auth ? result.insert({FIELD, TRUE_AS_STRING}) : result.insert({FIELD, FALSE_AS_STRING}); + } + + void StructToFile::ApplySsl( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const + { + static const std::string FIELD = "is_need_ssl"; + static const std::string TRUE_AS_STRING = "true"; + static const std::string FALSE_AS_STRING = "false"; + + from.is_need_ssl ? result.insert({FIELD, TRUE_AS_STRING}) : result.insert({FIELD, FALSE_AS_STRING}); + } + + void StructToFile::ApplyUsername( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const + { + static const std::string FIELD = "username"; + + result.insert({FIELD, from.username}); + } + + void StructToFile::ApplyPassword( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const + { + static const std::string FIELD = "password"; + + result.insert({FIELD, from.password}); + } + + void StructToFile::ApplyHost( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const + { + static const std::string FIELD = "host"; + + result.insert({FIELD, from.host}); + } + + void StructToFile::ApplyPort( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const + { + static const std::string FIELD = "port"; + + result.insert({FIELD, from.port}); + } +} -- cgit v1.2.3