mirror of
https://github.com/matrix-construct/construct
synced 2024-09-29 20:28:52 +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
|
||||
{
|
||||
constexpr const char *const auth_events {"auth_events"};
|
||||
constexpr const char *const content {"content"};
|
||||
constexpr const char *const depth {"depth"};
|
||||
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 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 sender {"sender"};
|
||||
constexpr const char *const signatures {"signatures"};
|
||||
|
@ -65,10 +72,17 @@ namespace ircd::m::name
|
|||
struct ircd::m::event
|
||||
:json::tuple
|
||||
<
|
||||
json::property<name::auth_events, string_view>,
|
||||
json::property<name::content, json::object>,
|
||||
json::property<name::depth, int64_t>,
|
||||
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::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::sender, 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
|
||||
///
|
||||
/// 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_unsigned_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_room_id,
|
||||
event_id_for_room_id_in_type,
|
||||
|
|
Loading…
Reference in a new issue