mirror of
https://github.com/matrix-construct/construct
synced 2024-09-30 12:48:54 +02:00
ircd:Ⓜ️ Add contains_url to filter tuple.
This commit is contained in:
parent
0abfc6e927
commit
ea73700103
3 changed files with 34 additions and 47 deletions
|
@ -51,7 +51,8 @@ struct ircd::m::room_event_filter
|
|||
json::property<name::senders, json::array>,
|
||||
json::property<name::not_types, json::array>,
|
||||
json::property<name::not_rooms, json::array>,
|
||||
json::property<name::not_senders, json::array>
|
||||
json::property<name::not_senders, json::array>,
|
||||
json::property<name::contains_url, bool>
|
||||
>
|
||||
{
|
||||
using super_type::tuple;
|
||||
|
|
|
@ -230,6 +230,15 @@ struct ircd::m::vm::copts
|
|||
/// Include origin_server_ts
|
||||
bool add_origin_server_ts {true};
|
||||
|
||||
/// Add prev_events
|
||||
bool add_prev_events {true};
|
||||
|
||||
/// Add prev_state
|
||||
bool add_prev_state {true};
|
||||
|
||||
/// Add auth_events
|
||||
bool add_auth_events {true};
|
||||
|
||||
/// Whether to log a debug message before commit
|
||||
bool debuglog_precommit {false};
|
||||
|
||||
|
|
|
@ -151,14 +151,9 @@ ircd::m::vm::eval__commit_room(eval &eval,
|
|||
};
|
||||
|
||||
char ae_buf[512];
|
||||
json::array auth_events
|
||||
{
|
||||
json::get<"auth_events"_>(evf)?
|
||||
json::get<"auth_events"_>(evf):
|
||||
json::array{"[]"}
|
||||
};
|
||||
json::array auth_events;
|
||||
|
||||
if(depth != -1)
|
||||
if(depth != -1 && opts.add_auth_events)
|
||||
{
|
||||
std::vector<json::value> ae;
|
||||
|
||||
|
@ -247,49 +242,31 @@ ircd::m::vm::eval__commit_room(eval &eval,
|
|||
});
|
||||
}
|
||||
|
||||
//TODO: X
|
||||
const auto &prev_state
|
||||
static const json::array &prev_state
|
||||
{
|
||||
json::get<"prev_state"_>(evf)?
|
||||
json::get<"prev_state"_>(evf):
|
||||
json::array{"[]"}
|
||||
};
|
||||
/*
|
||||
const event::fetch pvf
|
||||
{
|
||||
prev_event_id, std::nothrow
|
||||
};
|
||||
*/
|
||||
//TODO: X
|
||||
json::value prev_event0[]
|
||||
{
|
||||
{ string_view{prev_event_id} },
|
||||
{ json::get<"hashes"_>(evf) }
|
||||
json::empty_array
|
||||
};
|
||||
|
||||
//TODO: X
|
||||
json::value prev_event
|
||||
const json::iov::add_if prevs[]
|
||||
{
|
||||
prev_event0, empty(prev_event_id)? 0UL: 2UL
|
||||
};
|
||||
|
||||
//TODO: X
|
||||
json::value prev_events_
|
||||
{
|
||||
&prev_event, !empty(prev_event_id)
|
||||
};
|
||||
|
||||
std::string prev_events
|
||||
{
|
||||
json::strung(prev_events_)
|
||||
};
|
||||
|
||||
//TODO: X
|
||||
const json::iov::push prevs[]
|
||||
{
|
||||
{ event, { "auth_events", auth_events } },
|
||||
{ event, { "prev_events", prev_events } },
|
||||
{ event, { "prev_state", prev_state } },
|
||||
{
|
||||
event, opts.add_auth_events,
|
||||
{
|
||||
"auth_events", auth_events
|
||||
}
|
||||
},
|
||||
{
|
||||
event, opts.add_prev_events,
|
||||
{
|
||||
"prev_events", prev_events
|
||||
}
|
||||
},
|
||||
{
|
||||
event, opts.add_prev_state,
|
||||
{
|
||||
"prev_state", prev_state
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
return eval(event, contents);
|
||||
|
|
Loading…
Reference in a new issue