mirror of
https://github.com/matrix-construct/construct
synced 2024-10-01 13:18:58 +02:00
ircd:Ⓜ️ Add all spec'ed event fields to event tuple.
This commit is contained in:
parent
4f50cba4a7
commit
3a9696fb6c
2 changed files with 128 additions and 0 deletions
|
@ -50,10 +50,17 @@ namespace ircd::m
|
||||||
|
|
||||||
namespace ircd::m::name
|
namespace ircd::m::name
|
||||||
{
|
{
|
||||||
|
constexpr const char *const auth_events {"auth_events"};
|
||||||
constexpr const char *const content {"content"};
|
constexpr const char *const content {"content"};
|
||||||
|
constexpr const char *const depth {"depth"};
|
||||||
constexpr const char *const event_id {"event_id"};
|
constexpr const char *const event_id {"event_id"};
|
||||||
|
constexpr const char *const hashes {"hashes"};
|
||||||
|
constexpr const char *const membership {"membership"};
|
||||||
|
constexpr const char *const origin {"origin"};
|
||||||
constexpr const char *const origin_server_ts {"origin_server_ts"};
|
constexpr const char *const origin_server_ts {"origin_server_ts"};
|
||||||
constexpr const char *const prev_ids {"prev_ids"};
|
constexpr const char *const prev_ids {"prev_ids"};
|
||||||
|
constexpr const char *const prev_events {"prev_ids"};
|
||||||
|
constexpr const char *const prev_state {"prev_ids"};
|
||||||
constexpr const char *const room_id {"room_id"};
|
constexpr const char *const room_id {"room_id"};
|
||||||
constexpr const char *const sender {"sender"};
|
constexpr const char *const sender {"sender"};
|
||||||
constexpr const char *const signatures {"signatures"};
|
constexpr const char *const signatures {"signatures"};
|
||||||
|
@ -65,10 +72,17 @@ namespace ircd::m::name
|
||||||
struct ircd::m::event
|
struct ircd::m::event
|
||||||
:json::tuple
|
:json::tuple
|
||||||
<
|
<
|
||||||
|
json::property<name::auth_events, string_view>,
|
||||||
json::property<name::content, json::object>,
|
json::property<name::content, json::object>,
|
||||||
|
json::property<name::depth, int64_t>,
|
||||||
json::property<name::event_id, string_view>,
|
json::property<name::event_id, string_view>,
|
||||||
|
json::property<name::hashes, string_view>,
|
||||||
|
json::property<name::membership, string_view>,
|
||||||
|
json::property<name::origin, string_view>,
|
||||||
json::property<name::origin_server_ts, time_t>,
|
json::property<name::origin_server_ts, time_t>,
|
||||||
json::property<name::prev_ids, string_view>,
|
json::property<name::prev_ids, string_view>,
|
||||||
|
json::property<name::prev_events, string_view>,
|
||||||
|
json::property<name::prev_state, string_view>,
|
||||||
json::property<name::room_id, string_view>,
|
json::property<name::room_id, string_view>,
|
||||||
json::property<name::sender, string_view>,
|
json::property<name::sender, string_view>,
|
||||||
json::property<name::signatures, string_view>,
|
json::property<name::signatures, string_view>,
|
||||||
|
|
|
@ -278,6 +278,114 @@ const database::descriptor events_signatures_descriptor
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const database::descriptor events_auth_events_descriptor
|
||||||
|
{
|
||||||
|
// name
|
||||||
|
"auth_events",
|
||||||
|
|
||||||
|
// explanation
|
||||||
|
R"(### protocol note:
|
||||||
|
|
||||||
|
### developer note:
|
||||||
|
key is event_id.
|
||||||
|
)",
|
||||||
|
|
||||||
|
// typing (key, value)
|
||||||
|
{
|
||||||
|
typeid(string_view), typeid(string_view)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const database::descriptor events_depth_descriptor
|
||||||
|
{
|
||||||
|
// name
|
||||||
|
"depth",
|
||||||
|
|
||||||
|
// explanation
|
||||||
|
R"(### protocol note:
|
||||||
|
|
||||||
|
### developer note:
|
||||||
|
key is event_id value is long integer
|
||||||
|
)",
|
||||||
|
|
||||||
|
// typing (key, value)
|
||||||
|
{
|
||||||
|
typeid(string_view), typeid(int64_t)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const database::descriptor events_hashes_descriptor
|
||||||
|
{
|
||||||
|
// name
|
||||||
|
"hashes",
|
||||||
|
|
||||||
|
// explanation
|
||||||
|
R"(### protocol note:
|
||||||
|
|
||||||
|
### developer note:
|
||||||
|
key is event_id.
|
||||||
|
)",
|
||||||
|
|
||||||
|
// typing (key, value)
|
||||||
|
{
|
||||||
|
typeid(string_view), typeid(string_view)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const database::descriptor events_membership_descriptor
|
||||||
|
{
|
||||||
|
// name
|
||||||
|
"membership",
|
||||||
|
|
||||||
|
// explanation
|
||||||
|
R"(### protocol note:
|
||||||
|
|
||||||
|
### developer note:
|
||||||
|
key is event_id.
|
||||||
|
)",
|
||||||
|
|
||||||
|
// typing (key, value)
|
||||||
|
{
|
||||||
|
typeid(string_view), typeid(string_view)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const database::descriptor events_prev_events_descriptor
|
||||||
|
{
|
||||||
|
// name
|
||||||
|
"prev_events",
|
||||||
|
|
||||||
|
// explanation
|
||||||
|
R"(### protocol note:
|
||||||
|
|
||||||
|
### developer note:
|
||||||
|
key is event_id.
|
||||||
|
)",
|
||||||
|
|
||||||
|
// typing (key, value)
|
||||||
|
{
|
||||||
|
typeid(string_view), typeid(string_view)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const database::descriptor events_prev_state_descriptor
|
||||||
|
{
|
||||||
|
// name
|
||||||
|
"prev_state",
|
||||||
|
|
||||||
|
// explanation
|
||||||
|
R"(### protocol note:
|
||||||
|
|
||||||
|
### developer note:
|
||||||
|
key is event_id.
|
||||||
|
)",
|
||||||
|
|
||||||
|
// typing (key, value)
|
||||||
|
{
|
||||||
|
typeid(string_view), typeid(string_view)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/// prefix transform for event_id suffixes
|
/// prefix transform for event_id suffixes
|
||||||
///
|
///
|
||||||
/// This transform expects a concatenation ending with an event_id which means
|
/// This transform expects a concatenation ending with an event_id which means
|
||||||
|
@ -482,6 +590,12 @@ const database::description events_description
|
||||||
events_prev_ids_descriptor,
|
events_prev_ids_descriptor,
|
||||||
events_unsigned_descriptor,
|
events_unsigned_descriptor,
|
||||||
events_signatures_descriptor,
|
events_signatures_descriptor,
|
||||||
|
events_auth_events_descriptor,
|
||||||
|
events_depth_descriptor,
|
||||||
|
events_hashes_descriptor,
|
||||||
|
events_membership_descriptor,
|
||||||
|
events_prev_events_descriptor,
|
||||||
|
events_prev_state_descriptor,
|
||||||
event_id_in_sender,
|
event_id_in_sender,
|
||||||
event_id_in_room_id,
|
event_id_in_room_id,
|
||||||
event_id_for_room_id_in_type,
|
event_id_for_room_id_in_type,
|
||||||
|
|
Loading…
Reference in a new issue