1
0
Fork 0
mirror of https://gitlab.com/famedly/conduit.git synced 2025-04-22 22:10:36 +03:00

misc cleanup

This commit is contained in:
Jonathan de Jong 2021-07-04 13:14:01 +02:00
parent 5ec0be2b41
commit e5a26de606
32 changed files with 77 additions and 121 deletions

View file

@ -1,7 +1,7 @@
use std::{collections::BTreeMap, convert::TryInto, sync::Arc};
use std::{collections::BTreeMap, convert::TryInto};
use super::{State, DEVICE_ID_LENGTH, SESSION_ID_LENGTH, TOKEN_LENGTH};
use crate::{database::ReadGuard, pdu::PduBuilder, utils, ConduitResult, Database, Error, Ruma};
use super::{DEVICE_ID_LENGTH, SESSION_ID_LENGTH, TOKEN_LENGTH};
use crate::{database::ReadGuard, pdu::PduBuilder, utils, ConduitResult, Error, Ruma};
use log::info;
use ruma::{
api::client::{

View file

@ -1,6 +1,3 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Ruma};
use regex::Regex;
use ruma::{

View file

@ -1,7 +1,4 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, ConduitResult, Error, Ruma};
use ruma::api::client::{
error::ErrorKind,
r0::backup::{

View file

@ -1,7 +1,4 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, ConduitResult, Error, Ruma};
use ruma::{
api::client::{
error::ErrorKind,

View file

@ -1,7 +1,6 @@
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, ConduitResult, Error, Ruma};
use ruma::api::client::{error::ErrorKind, r0::context::get_context};
use std::{convert::TryFrom, sync::Arc};
use std::convert::TryFrom;
#[cfg(feature = "conduit_bin")]
use rocket::get;

View file

@ -1,7 +1,4 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, utils, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, utils, ConduitResult, Error, Ruma};
use ruma::api::client::{
error::ErrorKind,
r0::{

View file

@ -1,6 +1,3 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Result, Ruma};
use log::info;
use ruma::{

View file

@ -1,4 +1,4 @@
use super::{State, SESSION_ID_LENGTH};
use super::SESSION_ID_LENGTH;
use crate::{database::ReadGuard, utils, ConduitResult, Database, Error, Result, Ruma};
use ruma::{
api::client::{
@ -14,10 +14,7 @@ use ruma::{
encryption::UnsignedDeviceInfo,
DeviceId, DeviceKeyAlgorithm, UserId,
};
use std::{
collections::{BTreeMap, HashSet},
sync::Arc,
};
use std::collections::{BTreeMap, HashSet};
#[cfg(feature = "conduit_bin")]
use rocket::{get, post};

View file

@ -1,15 +1,12 @@
use super::State;
use crate::{
database::media::FileMeta, database::ReadGuard, utils, ConduitResult, Database, Error, Ruma,
};
use crate::{database::media::FileMeta, database::ReadGuard, utils, ConduitResult, Error, Ruma};
use ruma::api::client::{
error::ErrorKind,
r0::media::{create_content, get_content, get_content_thumbnail, get_media_config},
};
use std::convert::TryInto;
#[cfg(feature = "conduit_bin")]
use rocket::{get, post};
use std::{convert::TryInto, sync::Arc};
const MXC_LENGTH: usize = 32;

View file

@ -1,4 +1,3 @@
use super::State;
use crate::{
client_server,
database::ReadGuard,

View file

@ -1,5 +1,4 @@
use super::State;
use crate::{database::ReadGuard, pdu::PduBuilder, utils, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, pdu::PduBuilder, utils, ConduitResult, Error, Ruma};
use ruma::{
api::client::{
error::ErrorKind,
@ -11,7 +10,6 @@ use ruma::{
use std::{
collections::BTreeMap,
convert::{TryFrom, TryInto},
sync::Arc,
};
#[cfg(feature = "conduit_bin")]

View file

@ -64,9 +64,7 @@ pub use voip::*;
use super::State;
#[cfg(feature = "conduit_bin")]
use {
crate::ConduitResult,
rocket::{options, State},
ruma::api::client::r0::to_device::send_event_to_device,
crate::ConduitResult, rocket::options, ruma::api::client::r0::to_device::send_event_to_device,
};
pub const DEVICE_ID_LENGTH: usize = 10;

View file

@ -1,7 +1,6 @@
use super::State;
use crate::{database::ReadGuard, utils, ConduitResult, Database, Ruma};
use crate::{database::ReadGuard, utils, ConduitResult, Ruma};
use ruma::api::client::r0::presence::{get_presence, set_presence};
use std::{convert::TryInto, sync::Arc, time::Duration};
use std::{convert::TryInto, time::Duration};
#[cfg(feature = "conduit_bin")]
use rocket::{get, put};

View file

@ -1,5 +1,4 @@
use super::State;
use crate::{database::ReadGuard, pdu::PduBuilder, utils, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, pdu::PduBuilder, utils, ConduitResult, Error, Ruma};
use ruma::{
api::client::{
error::ErrorKind,
@ -10,10 +9,10 @@ use ruma::{
events::EventType,
serde::Raw,
};
use std::convert::TryInto;
#[cfg(feature = "conduit_bin")]
use rocket::{get, put};
use std::{convert::TryInto, sync::Arc};
#[cfg_attr(
feature = "conduit_bin",

View file

@ -1,7 +1,4 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, ConduitResult, Error, Ruma};
use ruma::{
api::client::{
error::ErrorKind,

View file

@ -1,5 +1,4 @@
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, ConduitResult, Error, Ruma};
use ruma::{
api::client::{
error::ErrorKind,
@ -9,10 +8,10 @@ use ruma::{
receipt::ReceiptType,
MilliSecondsSinceUnixEpoch,
};
use std::collections::BTreeMap;
#[cfg(feature = "conduit_bin")]
use rocket::post;
use std::{collections::BTreeMap, sync::Arc};
#[cfg_attr(
feature = "conduit_bin",

View file

@ -1,10 +1,8 @@
use super::State;
use crate::{database::ReadGuard, pdu::PduBuilder, ConduitResult, Database, Ruma};
use crate::{database::ReadGuard, pdu::PduBuilder, ConduitResult, Ruma};
use ruma::{
api::client::r0::redact::redact_event,
events::{room::redaction, EventType},
};
use std::sync::Arc;
#[cfg(feature = "conduit_bin")]
use rocket::put;

View file

@ -1,7 +1,5 @@
use super::State;
use crate::{
client_server::invite_helper, database::ReadGuard, pdu::PduBuilder, ConduitResult, Database,
Error, Ruma,
client_server::invite_helper, database::ReadGuard, pdu::PduBuilder, ConduitResult, Error, Ruma,
};
use log::info;
use ruma::{
@ -16,7 +14,7 @@ use ruma::{
serde::Raw,
RoomAliasId, RoomId, RoomVersionId,
};
use std::{cmp::max, collections::BTreeMap, convert::TryFrom, sync::Arc};
use std::{cmp::max, collections::BTreeMap, convert::TryFrom};
#[cfg(feature = "conduit_bin")]
use rocket::{get, post};

View file

@ -1,7 +1,5 @@
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, ConduitResult, Error, Ruma};
use ruma::api::client::{error::ErrorKind, r0::search::search_events};
use std::sync::Arc;
#[cfg(feature = "conduit_bin")]
use rocket::post;

View file

@ -1,7 +1,5 @@
use std::sync::Arc;
use super::{State, DEVICE_ID_LENGTH, TOKEN_LENGTH};
use crate::{database::ReadGuard, utils, ConduitResult, Database, Error, Ruma};
use super::{DEVICE_ID_LENGTH, TOKEN_LENGTH};
use crate::{database::ReadGuard, utils, ConduitResult, Error, Ruma};
use log::info;
use ruma::{
api::client::{

View file

@ -1,6 +1,3 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, pdu::PduBuilder, ConduitResult, Database, Error, Result, Ruma};
use ruma::{
api::client::{

View file

@ -1,4 +1,3 @@
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Result, Ruma, RumaResponse};
use log::error;
use ruma::{

View file

@ -1,10 +1,9 @@
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Ruma};
use crate::{database::ReadGuard, ConduitResult, Ruma};
use ruma::{
api::client::r0::tag::{create_tag, delete_tag, get_tags},
events::EventType,
};
use std::{collections::BTreeMap, sync::Arc};
use std::collections::BTreeMap;
#[cfg(feature = "conduit_bin")]
use rocket::{delete, get, put};

View file

@ -1,7 +1,4 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Error, Ruma};
use crate::{database::ReadGuard, ConduitResult, Error, Ruma};
use ruma::{
api::client::{error::ErrorKind, r0::to_device::send_event_to_device},
to_device::DeviceIdOrAllDevices,

View file

@ -1,7 +1,4 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, utils, ConduitResult, Database, Ruma};
use crate::{database::ReadGuard, utils, ConduitResult, Ruma};
use create_typing_event::Typing;
use ruma::api::client::r0::typing::create_typing_event;

View file

@ -1,7 +1,4 @@
use std::sync::Arc;
use super::State;
use crate::{database::ReadGuard, ConduitResult, Database, Ruma};
use crate::{database::ReadGuard, ConduitResult, Ruma};
use ruma::api::client::r0::user_directory::search_users;
#[cfg(feature = "conduit_bin")]

View file

@ -34,7 +34,7 @@ use std::{
ops::Deref,
sync::{Arc, RwLock},
};
use tokio::sync::{OwnedRwLockReadGuard, RwLock as TokioRwLock, RwLockReadGuard, Semaphore};
use tokio::sync::{OwnedRwLockReadGuard, RwLock as TokioRwLock, Semaphore};
use self::proxy::ProxyConfig;
@ -462,7 +462,6 @@ impl Deref for ReadGuard {
}
}
#[cfg(feature = "conduit_bin")]
#[rocket::async_trait]
impl<'r> FromRequest<'r> for ReadGuard {
type Error = ();
@ -473,3 +472,9 @@ impl<'r> FromRequest<'r> for ReadGuard {
Ok(ReadGuard(Arc::clone(&db).read_owned().await)).or_forward(())
}
}
impl Into<ReadGuard> for OwnedRwLockReadGuard<Database> {
fn into(self) -> ReadGuard {
ReadGuard(self)
}
}

View file

@ -10,7 +10,7 @@ use ruma::{
events::{room::message, EventType},
UserId,
};
use tokio::sync::RwLock;
use tokio::sync::{RwLock, RwLockReadGuard};
pub enum AdminCommand {
RegisterAppservice(serde_yaml::Value),
@ -54,47 +54,52 @@ impl Admin {
drop(guard);
let send_message = |message: message::MessageEventContent| {};
let send_message =
|message: message::MessageEventContent, guard: RwLockReadGuard<'_, Database>| {
if let Some(conduit_room) = &conduit_room {
guard
.rooms
.build_and_append_pdu(
PduBuilder {
event_type: EventType::RoomMessage,
content: serde_json::to_value(message)
.expect("event is valid, we just created it"),
unsigned: None,
state_key: None,
redacts: None,
},
&conduit_user,
&conduit_room,
&guard,
)
.unwrap();
}
};
loop {
tokio::select! {
Some(event) = receiver.next() => {
let guard = db.read().await;
match event {
AdminCommand::RegisterAppservice(yaml) => {
db.read().await.appservice.register_appservice(yaml).unwrap(); // TODO handle error
guard.appservice.register_appservice(yaml).unwrap(); // TODO handle error
}
AdminCommand::ListAppservices => {
if let Ok(appservices) = db.read().await.appservice.iter_ids().map(|ids| ids.collect::<Vec<_>>()) {
if let Ok(appservices) = guard.appservice.iter_ids().map(|ids| ids.collect::<Vec<_>>()) {
let count = appservices.len();
let output = format!(
"Appservices ({}): {}",
count,
appservices.into_iter().filter_map(|r| r.ok()).collect::<Vec<_>>().join(", ")
);
send_message(message::MessageEventContent::text_plain(output));
send_message(message::MessageEventContent::text_plain(output), guard);
} else {
send_message(message::MessageEventContent::text_plain("Failed to get appservices."));
send_message(message::MessageEventContent::text_plain("Failed to get appservices."), guard);
}
}
AdminCommand::SendMessage(message) => {
if let Some(conduit_room) = &conduit_room {
let guard = db.read().await;
guard.rooms
.build_and_append_pdu(
PduBuilder {
event_type: EventType::RoomMessage,
content: serde_json::to_value(message)
.expect("event is valid, we just created it"),
unsigned: None,
state_key: None,
redacts: None,
},
&conduit_user,
&conduit_room,
&guard,
)
.unwrap();
}
send_message(message, guard)
}
}
}

View file

@ -15,8 +15,7 @@ pub use error::{Error, Result};
pub use pdu::PduEvent;
pub use rocket::Config;
pub use ruma_wrapper::{ConduitResult, Ruma, RumaResponse};
use std::{ops::Deref, sync::Arc};
use tokio::sync::RwLock;
use std::ops::Deref;
pub struct State<'r, T: Send + Sync + 'static>(pub &'r T);

View file

@ -231,8 +231,11 @@ async fn main() {
};
log::warn!("wal-trunc: locked, flushing...");
let start = Instant::now();
guard.flush_wal();
log::warn!("wal-trunc: flushed in {:?}", start.elapsed());
if let Err(e) = guard.flush_wal() {
log::warn!("wal-trunc: errored: {}", e);
} else {
log::warn!("wal-trunc: flushed in {:?}", start.elapsed());
}
} else {
break;
}

View file

@ -9,7 +9,7 @@ use std::ops::Deref;
#[cfg(feature = "conduit_bin")]
use {
crate::{server_server, Database},
crate::server_server,
log::{debug, warn},
rocket::{
data::{self, ByteUnit, Data, FromData},
@ -17,13 +17,12 @@ use {
outcome::Outcome::*,
response::{self, Responder},
tokio::io::AsyncReadExt,
Request, State,
Request,
},
ruma::api::{AuthScheme, IncomingRequest},
std::collections::BTreeMap,
std::convert::TryFrom,
std::io::Cursor,
std::sync::Arc,
};
/// This struct converts rocket requests into ruma structs by converting them into http requests

View file

@ -7,7 +7,7 @@ use get_profile_information::v1::ProfileField;
use http::header::{HeaderValue, AUTHORIZATION, HOST};
use log::{debug, error, info, trace, warn};
use regex::Regex;
use rocket::{response::content::Json, State};
use rocket::response::content::Json;
use ruma::{
api::{
client::error::{Error as RumaError, ErrorKind},