20#ifndef ORES_ACCOUNTS_MESSAGING_LOGIN_PROTOCOL_HPP
21#define ORES_ACCOUNTS_MESSAGING_LOGIN_PROTOCOL_HPP
27#include <boost/asio/ip/address.hpp>
28#include <boost/uuid/uuid.hpp>
29#include "ores.comms/messaging/message_types.hpp"
30#include "ores.accounts/domain/login_info.hpp"
32namespace ores::accounts::messaging {
55 static std::expected<login_request, comms::messaging::error_code>
59std::ostream& operator<<(std::ostream& s,
const login_request& v);
66 std::string error_message;
67 boost::uuids::uuid account_id;
70 bool is_admin =
false;
71 bool password_reset_required =
false;
93 static std::expected<login_response, comms::messaging::error_code>
103 std::vector<std::byte> serialize()
const;
104 static std::expected<list_login_info_request, comms::messaging::error_code>
105 deserialize(std::span<const std::byte> data);
114 std::vector<domain::login_info> login_infos;
116 std::vector<std::byte> serialize()
const;
117 static std::expected<list_login_info_response, comms::messaging::error_code>
118 deserialize(std::span<const std::byte> data);
137 std::vector<std::byte>
serialize()
const;
142 static std::expected<logout_request, comms::messaging::error_code>
146std::ostream& operator<<(std::ostream& s,
const logout_request& v);
152 bool success =
false;
163 std::vector<std::byte>
serialize()
const;
168 static std::expected<logout_response, comms::messaging::error_code>
Request to authenticate a user.
Definition login_protocol.hpp:37
std::vector< std::byte > serialize() const
Serialize request to bytes.
Definition login_protocol.cpp:35
static std::expected< login_request, comms::messaging::error_code > deserialize(std::span< const std::byte > data)
Deserialize request from bytes.
Definition login_protocol.cpp:43
Response containing authentication result and account information.
Definition login_protocol.hpp:64
std::vector< std::byte > serialize() const
Serialize response to bytes.
Definition login_protocol.cpp:63
static std::expected< login_response, comms::messaging::error_code > deserialize(std::span< const std::byte > data)
Deserialize response from bytes.
Definition login_protocol.cpp:76
Request to retrieve all login info records.
Definition login_protocol.hpp:102
Response containing all login info records.
Definition login_protocol.hpp:113
Request to logout the current session.
Definition login_protocol.hpp:131
std::vector< std::byte > serialize() const
Serialize request to bytes.
Definition login_protocol.cpp:220
static std::expected< logout_request, comms::messaging::error_code > deserialize(std::span< const std::byte > data)
Deserialize request from bytes.
Definition login_protocol.cpp:226
Response indicating logout result.
Definition login_protocol.hpp:151
std::vector< std::byte > serialize() const
Serialize response to bytes.
Definition login_protocol.cpp:237
static std::expected< logout_response, comms::messaging::error_code > deserialize(std::span< const std::byte > data)
Deserialize response from bytes.
Definition login_protocol.cpp:245