20#ifndef ORES_IAM_REPOSITORY_AUTH_EVENT_REPOSITORY_HPP
21#define ORES_IAM_REPOSITORY_AUTH_EVENT_REPOSITORY_HPP
25#include <sqlgen/postgres.hpp>
26#include "ores.logging/make_logger.hpp"
27#include "ores.database/domain/context.hpp"
42 inline static std::string_view logger_name =
43 "ores.iam.repository.auth_event_repository";
45 [[nodiscard]]
static auto& lg() {
47 static auto instance = make_logger(logger_name);
66 const std::chrono::system_clock::time_point& event_time,
67 const std::string& tenant_id,
68 const std::string& account_id,
69 const std::string& username,
70 const std::string& session_id,
71 const std::string& party_id);
82 const std::chrono::system_clock::time_point& event_time,
83 const std::string& tenant_id,
84 const std::string& username,
85 const std::string& error_detail);
97 const std::chrono::system_clock::time_point& event_time,
98 const std::string& tenant_id,
99 const std::string& account_id,
100 const std::string& username,
101 const std::string& session_id);
113 const std::chrono::system_clock::time_point& event_time,
114 const std::string& tenant_id,
115 const std::string& account_id,
116 const std::string& username,
117 const std::string& session_id);
132 const std::chrono::system_clock::time_point& event_time,
133 const std::string& tenant_id,
134 const std::string& account_id,
135 const std::string& username,
136 const std::string& session_id);
147 const std::chrono::system_clock::time_point& event_time,
148 const std::string& tenant_id,
149 const std::string& account_id,
150 const std::string& username);
161 const std::chrono::system_clock::time_point& event_time,
162 const std::string& tenant_id,
163 const std::string& username,
164 const std::string& error_detail);
167 void insert(
const std::string& event_type,
168 const std::chrono::system_clock::time_point& event_time,
169 const std::string& tenant_id,
170 const std::string& account_id,
171 const std::string& username,
172 const std::string& session_id,
173 const std::string& party_id,
174 const std::string& error_detail);
Database persistence layer for IAM domain types.
Definition account_entity.hpp:28
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Context for the operations on a postgres database.
Definition context.hpp:47
Repository for inserting JWT authentication telemetry events.
Definition auth_event_repository.hpp:40
void record_token_refresh(const std::chrono::system_clock::time_point &event_time, const std::string &tenant_id, const std::string &account_id, const std::string &username, const std::string &session_id)
Record a successful token refresh event.
Definition auth_event_repository.cpp:101
void record_signup_failure(const std::chrono::system_clock::time_point &event_time, const std::string &tenant_id, const std::string &username, const std::string &error_detail)
Record a signup failure event.
Definition auth_event_repository.cpp:130
void record_login_failure(const std::chrono::system_clock::time_point &event_time, const std::string &tenant_id, const std::string &username, const std::string &error_detail)
Record a login failure event.
Definition auth_event_repository.cpp:82
void record_login_success(const std::chrono::system_clock::time_point &event_time, const std::string &tenant_id, const std::string &account_id, const std::string &username, const std::string &session_id, const std::string &party_id)
Record a login success event.
Definition auth_event_repository.cpp:71
void record_max_session_exceeded(const std::chrono::system_clock::time_point &event_time, const std::string &tenant_id, const std::string &account_id, const std::string &username, const std::string &session_id)
Record a max_session_exceeded event.
Definition auth_event_repository.cpp:111
void record_logout(const std::chrono::system_clock::time_point &event_time, const std::string &tenant_id, const std::string &account_id, const std::string &username, const std::string &session_id)
Record a logout event.
Definition auth_event_repository.cpp:91
void record_signup_success(const std::chrono::system_clock::time_point &event_time, const std::string &tenant_id, const std::string &account_id, const std::string &username)
Record a signup success event.
Definition auth_event_repository.cpp:121