20#ifndef ORES_IAM_DOMAIN_LOGIN_INFO_HPP
21#define ORES_IAM_DOMAIN_LOGIN_INFO_HPP
24#include <boost/uuid/uuid.hpp>
25#include <boost/asio/ip/address.hpp>
26#include "ores.utility/uuid/tenant_id.hpp"
Domain types for identity and access management.
Definition account.hpp:29
Represents login tracking and security information for an account.
Definition login_info.hpp:33
boost::asio::ip::address last_ip
IP address from the last successful login.
Definition login_info.hpp:75
bool password_reset_required
Flag indicating whether the user must change their password on next login.
Definition login_info.hpp:70
bool locked
Flag indicating whether the account is locked due to security concerns.
Definition login_info.hpp:57
boost::asio::ip::address last_attempt_ip
IP address from the most recent login attempt (successful or failed).
Definition login_info.hpp:80
std::chrono::system_clock::time_point last_login
Timestamp of the last successful login.
Definition login_info.hpp:42
int failed_logins
Count of consecutive failed login attempts since last successful login.
Definition login_info.hpp:52
boost::uuids::uuid account_id
Foreign key referencing the associated account.
Definition login_info.hpp:47
bool online
Flag indicating whether the user is currently logged in.
Definition login_info.hpp:62
utility::uuid::tenant_id tenant_id
Tenant identifier for multi-tenancy isolation.
Definition login_info.hpp:37
A strongly-typed wrapper around a UUID representing a tenant identifier.
Definition tenant_id.hpp:66
static tenant_id system()
Creates a tenant_id representing the system tenant.
Definition tenant_id.cpp:41