diff --git a/include/ircd/m/event/prev.h b/include/ircd/m/event/prev.h index 22ad1f7aa..f5a738610 100644 --- a/include/ircd/m/event/prev.h +++ b/include/ircd/m/event/prev.h @@ -42,8 +42,6 @@ struct ircd::m::event::prev json::property > { - enum cond :int; - std::tuple auth_events(const size_t &idx) const; std::tuple prev_states(const size_t &idx) const; std::tuple prev_events(const size_t &idx) const; @@ -52,14 +50,18 @@ struct ircd::m::event::prev event::id prev_state(const size_t &idx) const; event::id prev_event(const size_t &idx) const; - size_t auth_events_count() const; - size_t prev_states_count() const; - size_t prev_events_count() const; + bool auth_event_exists(const size_t &idx) const; + bool prev_state_exists(const size_t &idx) const; + bool prev_event_exists(const size_t &idx) const; bool auth_events_has(const event::id &) const; bool prev_states_has(const event::id &) const; bool prev_events_has(const event::id &) const; + size_t auth_events_count() const; + size_t prev_states_count() const; + size_t prev_events_count() const; + using super_type::tuple; using super_type::operator=; }; diff --git a/ircd/m_event.cc b/ircd/m_event.cc index b8730dd0c..87f38e4c2 100644 --- a/ircd/m_event.cc +++ b/ircd/m_event.cc @@ -1656,6 +1656,27 @@ const // event/prev.h // +bool +ircd::m::event::prev::prev_event_exists(const size_t &idx) +const +{ + return m::exists(prev_state(idx)); +} + +bool +ircd::m::event::prev::prev_state_exists(const size_t &idx) +const +{ + return m::exists(prev_state(idx)); +} + +bool +ircd::m::event::prev::auth_event_exists(const size_t &idx) +const +{ + return m::exists(auth_event(idx)); +} + bool ircd::m::event::prev::prev_events_has(const event::id &event_id) const