D++ (DPP)
C++ Discord API Bot Library
dpp::audit_entry Struct Reference

An individual audit log entry. More...

+ Inheritance diagram for dpp::audit_entry:
+ Collaboration diagram for dpp::audit_entry:

Public Member Functions

 audit_entry ()
 
virtual ~audit_entry ()=default
 
template<typename U = T, typename = decltype(std::declval<U&>().fill_from_json_impl(std::declval<nlohmann::json*>()))>
T & fill_from_json (nlohmann::json *j)
 Convert object from nlohmann::json. More...
 
template<typename U = T, typename = decltype(std::declval<U&>().to_json_impl(bool{}))>
auto to_json (bool with_id=false) const
 Convert object to nlohmann::json. More...
 
template<typename U = T, typename = decltype(std::declval<U&>().to_json_impl(bool{}))>
std::string build_json (bool with_id=false) const
 Convert object to json string. More...
 

Public Attributes

snowflake id
 ID of the entry. More...
 
snowflake target_id
 
std::vector< audit_changechanges
 Optional: changes made to the target_id. More...
 
snowflake user_id
 The user or app that made the changes (may be empty). More...
 
audit_type type
 Type of action that occurred. More...
 
std::optional< audit_extraextra
 Optional: additional info for certain action types. More...
 
std::string reason
 Optional: the reason for the change (1-512 characters). More...
 

Protected Member Functions

audit_entryfill_from_json_impl (nlohmann::json *j)
 

Friends

struct json_interface< audit_entry >
 

Detailed Description

An individual audit log entry.

Constructor & Destructor Documentation

◆ audit_entry()

dpp::audit_entry::audit_entry ( )

Constructor

◆ ~audit_entry()

virtual dpp::audit_entry::~audit_entry ( )
virtualdefault

Destructor

Member Function Documentation

◆ build_json()

template<typename T >
template<typename U = T, typename = decltype(std::declval<U&>().to_json_impl(bool{}))>
std::string dpp::json_interface< T >::build_json ( bool  with_id = false) const
inlineinherited

Convert object to json string.

Parameters
with_idWhether to include the ID or not
Note
Some fields are conditionally filled, do not rely on all fields being present
Returns
std::string Json built from the structure

◆ fill_from_json()

template<typename T >
template<typename U = T, typename = decltype(std::declval<U&>().fill_from_json_impl(std::declval<nlohmann::json*>()))>
T& dpp::json_interface< T >::fill_from_json ( nlohmann::json *  j)
inlineinherited

Convert object from nlohmann::json.

Parameters
jnlohmann::json object
Returns
T& Reference to self for fluent calling

◆ fill_from_json_impl()

audit_entry& dpp::audit_entry::fill_from_json_impl ( nlohmann::json *  j)
protected

Read class values from json object

Parameters
jA json object to read from
Returns
A reference to self

◆ to_json()

template<typename T >
template<typename U = T, typename = decltype(std::declval<U&>().to_json_impl(bool{}))>
auto dpp::json_interface< T >::to_json ( bool  with_id = false) const
inlineinherited

Convert object to nlohmann::json.

Parameters
with_idWhether to include the ID or not
Note
Some fields are conditionally filled, do not rely on all fields being present
Returns
json Json built from the structure

Friends And Related Function Documentation

◆ json_interface< audit_entry >

friend struct json_interface< audit_entry >
friend

Member Data Documentation

◆ changes

std::vector<audit_change> dpp::audit_entry::changes

Optional: changes made to the target_id.

◆ extra

std::optional<audit_extra> dpp::audit_entry::extra

Optional: additional info for certain action types.

◆ id

snowflake dpp::audit_entry::id

ID of the entry.

◆ reason

std::string dpp::audit_entry::reason

Optional: the reason for the change (1-512 characters).

◆ target_id

snowflake dpp::audit_entry::target_id

ID of the affected entity (webhook, user, role, etc.) (may be empty)

Note
For dpp::audit_type::aut_appcommand_permission_update updates, it's the command ID or the app ID

◆ type

audit_type dpp::audit_entry::type

Type of action that occurred.

◆ user_id

snowflake dpp::audit_entry::user_id

The user or app that made the changes (may be empty).

D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0