Redacted event retention, implement MSC2815

This commit is contained in:
dasha_uwu
2026-01-21 00:01:32 +05:00
committed by Jason Volk
parent 8000fcce9e
commit bb26b749ae
12 changed files with 244 additions and 9 deletions

View File

@@ -12,7 +12,9 @@ use crate::{
account_data, admin, appservice, client, config, deactivate, emergency, federation, globals,
key_backups,
manager::Manager,
media, membership, oauth, presence, pusher, resolver, rooms, sending, server_keys,
media, membership, oauth, presence, pusher, resolver,
rooms::{self, retention},
sending, server_keys,
service::{Args, Service},
sync, transaction_ids, uiaa, users,
};
@@ -59,6 +61,7 @@ pub struct Services {
pub membership: Arc<membership::Service>,
pub deactivate: Arc<deactivate::Service>,
pub oauth: Arc<oauth::Service>,
pub retention: Arc<retention::Service>,
manager: Mutex<Option<Arc<Manager>>>,
pub server: Arc<Server>,
@@ -117,6 +120,7 @@ pub async fn build(server: Arc<Server>) -> Result<Arc<Self>> {
membership: membership::Service::build(&args)?,
deactivate: deactivate::Service::build(&args)?,
oauth: oauth::Service::build(&args)?,
retention: retention::Service::build(&args)?,
manager: Mutex::new(None),
server,
@@ -176,6 +180,7 @@ pub(crate) fn services(&self) -> impl Iterator<Item = Arc<dyn Service>> + Send {
cast!(self.membership),
cast!(self.deactivate),
cast!(self.oauth),
cast!(self.retention),
]
.into_iter()
}