mirror of
https://github.com/matrix-construct/construct
synced 2024-11-16 15:00:51 +01:00
ircd:Ⓜ️:rooms: Add interface to remove entries from the !public room list.
This commit is contained in:
parent
b1bf848155
commit
2070a72850
3 changed files with 33 additions and 0 deletions
|
@ -44,4 +44,5 @@ namespace ircd::m::rooms
|
||||||
json::object summary_chunk(const m::room &, const mutable_buffer &out);
|
json::object summary_chunk(const m::room &, const mutable_buffer &out);
|
||||||
event::id::buf summary_set(const m::room::id &, const json::object &summary);
|
event::id::buf summary_set(const m::room::id &, const json::object &summary);
|
||||||
event::id::buf summary_set(const m::room &);
|
event::id::buf summary_set(const m::room &);
|
||||||
|
event::id::buf summary_del(const m::room &);
|
||||||
}
|
}
|
||||||
|
|
13
ircd/m.cc
13
ircd/m.cc
|
@ -2160,6 +2160,19 @@ ircd::m::event_filter::event_filter(const mutable_buffer &buf,
|
||||||
// m/rooms.h
|
// m/rooms.h
|
||||||
//
|
//
|
||||||
|
|
||||||
|
ircd::m::event::id::buf
|
||||||
|
ircd::m::rooms::summary_del(const m::room &r)
|
||||||
|
{
|
||||||
|
using prototype = event::id::buf (const m::room &);
|
||||||
|
|
||||||
|
static mods::import<prototype> call
|
||||||
|
{
|
||||||
|
"m_rooms", "ircd::m::rooms::summary_del"
|
||||||
|
};
|
||||||
|
|
||||||
|
return call(r);
|
||||||
|
}
|
||||||
|
|
||||||
ircd::m::event::id::buf
|
ircd::m::event::id::buf
|
||||||
ircd::m::rooms::summary_set(const m::room &room)
|
ircd::m::rooms::summary_set(const m::room &room)
|
||||||
{
|
{
|
||||||
|
|
|
@ -398,6 +398,25 @@ ircd::m::rooms::_fetch_update_(const net::hostport &hp,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ircd::m::event::id::buf
|
||||||
|
IRCD_MODULE_EXPORT
|
||||||
|
ircd::m::rooms::summary_del(const m::room &room)
|
||||||
|
{
|
||||||
|
char state_key_buf[m::event::STATE_KEY_MAX_SIZE];
|
||||||
|
const m::room::state state{public_room_id};
|
||||||
|
const m::event::idx &event_idx
|
||||||
|
{
|
||||||
|
state.get("ircd.rooms", make_state_key(state_key_buf, room.room_id))
|
||||||
|
};
|
||||||
|
|
||||||
|
const m::event::id::buf event_id
|
||||||
|
{
|
||||||
|
m::event_id(event_idx)
|
||||||
|
};
|
||||||
|
|
||||||
|
return redact(public_room_id, m::me, event_id, "delisted");
|
||||||
|
}
|
||||||
|
|
||||||
ircd::m::event::id::buf
|
ircd::m::event::id::buf
|
||||||
ircd::m::rooms::_summary_set(const m::room::id &room_id,
|
ircd::m::rooms::_summary_set(const m::room::id &room_id,
|
||||||
const json::object &summary)
|
const json::object &summary)
|
||||||
|
|
Loading…
Reference in a new issue