1 #pragma once
2 #include <nlohmann/json.hpp>
3 
4 namespace event_service
5 {
6 // clang-format off
7 
8 enum class SMTPConnectionProtocol{
9     Invalid,
10     None,
11     AutoDetect,
12     StartTLS,
13     TLS_SSL,
14 };
15 
16 enum class SMTPAuthenticationMethods{
17     Invalid,
18     None,
19     AutoDetect,
20     Plain,
21     Login,
22     CRAM_MD5,
23 };
24 
25 NLOHMANN_JSON_SERIALIZE_ENUM(SMTPConnectionProtocol, {
26     {SMTPConnectionProtocol::Invalid, "Invalid"},
27     {SMTPConnectionProtocol::None, "None"},
28     {SMTPConnectionProtocol::AutoDetect, "AutoDetect"},
29     {SMTPConnectionProtocol::StartTLS, "StartTLS"},
30     {SMTPConnectionProtocol::TLS_SSL, "TLS_SSL"},
31 });
32 
33 NLOHMANN_JSON_SERIALIZE_ENUM(SMTPAuthenticationMethods, {
34     {SMTPAuthenticationMethods::Invalid, "Invalid"},
35     {SMTPAuthenticationMethods::None, "None"},
36     {SMTPAuthenticationMethods::AutoDetect, "AutoDetect"},
37     {SMTPAuthenticationMethods::Plain, "Plain"},
38     {SMTPAuthenticationMethods::Login, "Login"},
39     {SMTPAuthenticationMethods::CRAM_MD5, "CRAM_MD5"},
40 });
41 
42 }
43 // clang-format on
44