127 errors left
This commit is contained in:
parent
cff52d7ebb
commit
44fe6d1554
65 changed files with 809 additions and 556 deletions
|
@ -1,4 +1,9 @@
|
|||
use std::sync::Arc;
|
||||
use std::{
|
||||
collections::{BTreeMap, HashMap},
|
||||
sync::{Arc, Mutex},
|
||||
};
|
||||
|
||||
use crate::{Result, Config};
|
||||
|
||||
pub mod account_data;
|
||||
pub mod admin;
|
||||
|
@ -30,20 +35,73 @@ pub struct Services {
|
|||
}
|
||||
|
||||
impl Services {
|
||||
pub fn build<D: appservice::Data + pusher::Data + rooms::Data + transaction_ids::Data + uiaa::Data + users::Data + account_data::Data + globals::Data + key_backups::Data + media::Data>(db: Arc<D>) -> Self {
|
||||
Self {
|
||||
pub fn build<
|
||||
D: appservice::Data
|
||||
+ pusher::Data
|
||||
+ rooms::Data
|
||||
+ transaction_ids::Data
|
||||
+ uiaa::Data
|
||||
+ users::Data
|
||||
+ account_data::Data
|
||||
+ globals::Data
|
||||
+ key_backups::Data
|
||||
+ media::Data,
|
||||
>(
|
||||
db: Arc<D>, config: Config
|
||||
) -> Result<Self> {
|
||||
Ok(Self {
|
||||
appservice: appservice::Service { db: db.clone() },
|
||||
pusher: pusher::Service { db: db.clone() },
|
||||
rooms: rooms::Service { db: Arc::clone(&db) },
|
||||
transaction_ids: transaction_ids::Service { db: Arc::clone(&db) },
|
||||
uiaa: uiaa::Service { db: Arc::clone(&db) },
|
||||
users: users::Service { db: Arc::clone(&db) },
|
||||
account_data: account_data::Service { db: Arc::clone(&db) },
|
||||
admin: admin::Service { db: Arc::clone(&db) },
|
||||
globals: globals::Service { db: Arc::clone(&db) },
|
||||
key_backups: key_backups::Service { db: Arc::clone(&db) },
|
||||
media: media::Service { db: Arc::clone(&db) },
|
||||
sending: sending::Service { db: Arc::clone(&db) },
|
||||
}
|
||||
rooms: rooms::Service {
|
||||
alias: rooms::alias::Service { db: db.clone() },
|
||||
auth_chain: rooms::auth_chain::Service { db: db.clone() },
|
||||
directory: rooms::directory::Service { db: db.clone() },
|
||||
edus: rooms::edus::Service {
|
||||
presence: rooms::edus::presence::Service { db: db.clone() },
|
||||
read_receipt: rooms::edus::read_receipt::Service { db: db.clone() },
|
||||
typing: rooms::edus::typing::Service { db: db.clone() },
|
||||
},
|
||||
event_handler: rooms::event_handler::Service,
|
||||
lazy_loading: rooms::lazy_loading::Service {
|
||||
db: db.clone(),
|
||||
lazy_load_waiting: Mutex::new(HashMap::new()),
|
||||
},
|
||||
metadata: rooms::metadata::Service { db: db.clone() },
|
||||
outlier: rooms::outlier::Service { db: db.clone() },
|
||||
pdu_metadata: rooms::pdu_metadata::Service { db: db.clone() },
|
||||
search: rooms::search::Service { db: db.clone() },
|
||||
short: rooms::short::Service { db: db.clone() },
|
||||
state: rooms::state::Service { db: db.clone() },
|
||||
state_accessor: rooms::state_accessor::Service { db: db.clone() },
|
||||
state_cache: rooms::state_cache::Service { db: db.clone() },
|
||||
state_compressor: rooms::state_compressor::Service { db: db.clone() },
|
||||
timeline: rooms::timeline::Service { db: db.clone() },
|
||||
user: rooms::user::Service { db: db.clone() },
|
||||
},
|
||||
transaction_ids: transaction_ids::Service {
|
||||
db: db.clone()
|
||||
},
|
||||
uiaa: uiaa::Service {
|
||||
db: db.clone()
|
||||
},
|
||||
users: users::Service {
|
||||
db: db.clone()
|
||||
},
|
||||
account_data: account_data::Service {
|
||||
db: db.clone()
|
||||
},
|
||||
admin: admin::Service { sender: todo!() },
|
||||
globals: globals::Service::load(db.clone(), config)?,
|
||||
key_backups: key_backups::Service {
|
||||
db: db.clone()
|
||||
},
|
||||
media: media::Service {
|
||||
db: db.clone()
|
||||
},
|
||||
sending: sending::Service {
|
||||
maximum_requests: todo!(),
|
||||
sender: todo!(),
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue