arminius_server_client/
lib.rs1mod auth;
8mod client_request;
9mod handlers;
10mod tests;
11
12use arminius_lib_component::{Server, compose_components};
13use arminius_lib_sync::SyncComponent;
14use handlers::{
15 account::AccountComponent, account_data::AccountDataComponent, auth::AuthComponent,
16 cross_signing::CrossSigningKeysComponent, devices::DevicesComponent,
17 discovery::DiscoveryComponent, filter::FilterComponent, presence::PresenceComponent,
18 profile::ProfileComponent, push::PushComponent, room::RoomComponent,
19 room_keys::RoomKeysComponent, signatures::SignaturesComponent, tags::TagsComponent,
20 thirdparty::ThirdpartyComponent, to_device::ToDeviceComponent,
21 user_directory::UserDirectoryComponent, user_keys::UserKeysComponent,
22};
23use ruma::{OwnedMxcUri, ServerName};
24
25fn avatar_id_to_mxc(server_name: &ServerName, id: &str) -> OwnedMxcUri {
27 format!("mxc://{server_name}/{id}").into()
28}
29
30type DefaultClientComponents = compose_components!(
32 AccountComponent,
33 AccountDataComponent,
34 AuthComponent,
35 CrossSigningKeysComponent,
36 DevicesComponent,
37 DiscoveryComponent,
38 FilterComponent,
39 PresenceComponent,
40 ProfileComponent,
41 PushComponent,
42 RoomComponent,
43 RoomKeysComponent,
44 SignaturesComponent,
45 SyncComponent,
46 TagsComponent,
47 ThirdpartyComponent,
48 ToDeviceComponent,
49 UserDirectoryComponent,
50 UserKeysComponent
51);
52
53#[cfg(feature = "test_login")]
55pub type ClientServerComponents = arminius_lib_component::ComposedComponent<
56 DefaultClientComponents,
57 handlers::test_login::TestLoginComponent,
58>;
59#[cfg(not(feature = "test_login"))]
61pub type ClientServerComponents = DefaultClientComponents;
62
63pub type ClientServer = Server<ClientServerComponents>;