add: move database drivers to oiseau
This commit is contained in:
parent
40fce4bc77
commit
81036e3733
57 changed files with 638 additions and 1106 deletions
|
@ -92,13 +92,20 @@ pub async fn proxy_request(
|
|||
req.data.insert("format".to_string(), "json".to_string());
|
||||
req.data.insert(
|
||||
"api_key".to_string(),
|
||||
data.0.connections.last_fm_key.as_ref().unwrap().to_string(),
|
||||
data.0
|
||||
.0
|
||||
.connections
|
||||
.last_fm_key
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.to_string(),
|
||||
);
|
||||
req.data.insert(
|
||||
"api_sig".to_string(),
|
||||
LastFmConnection::signature(
|
||||
req.data.clone(),
|
||||
data.0
|
||||
.0
|
||||
.connections
|
||||
.last_fm_secret
|
||||
.as_ref()
|
||||
|
|
|
@ -17,7 +17,7 @@ pub async fn stripe_webhook(
|
|||
) -> impl IntoResponse {
|
||||
let data = &(data.read().await).0;
|
||||
|
||||
if data.0.stripe.is_none() {
|
||||
if data.0.0.stripe.is_none() {
|
||||
return Json(Error::MiscError("Disabled".to_string()).into());
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@ pub async fn stripe_webhook(
|
|||
let req = match stripe::Webhook::construct_event(
|
||||
&body,
|
||||
sig.to_str().unwrap(),
|
||||
&data.0.stripe.as_ref().unwrap().webhook_signing_secret,
|
||||
&data.0.0.stripe.as_ref().unwrap().webhook_signing_secret,
|
||||
) {
|
||||
Ok(e) => e,
|
||||
Err(e) => return Json(Error::MiscError(e.to_string()).into()),
|
||||
|
|
|
@ -58,7 +58,7 @@ pub async fn avatar_request(
|
|||
return Err((
|
||||
[("Content-Type", "image/svg+xml")],
|
||||
Body::from(read_image(PathBufD::current().extend(&[
|
||||
data.0.dirs.media.as_str(),
|
||||
data.0.0.dirs.media.as_str(),
|
||||
"images",
|
||||
"default-avatar.svg",
|
||||
]))),
|
||||
|
@ -74,7 +74,7 @@ pub async fn avatar_request(
|
|||
return Err((
|
||||
[("Content-Type", "image/svg+xml")],
|
||||
Body::from(read_image(PathBufD::current().extend(&[
|
||||
data.0.dirs.media.as_str(),
|
||||
data.0.0.dirs.media.as_str(),
|
||||
"images",
|
||||
"default-avatar.svg",
|
||||
]))),
|
||||
|
@ -83,7 +83,7 @@ pub async fn avatar_request(
|
|||
};
|
||||
|
||||
let path = PathBufD::current().extend(&[
|
||||
data.0.dirs.media.as_str(),
|
||||
data.0.0.dirs.media.as_str(),
|
||||
"avatars",
|
||||
&format!(
|
||||
"{}.{}",
|
||||
|
@ -96,7 +96,7 @@ pub async fn avatar_request(
|
|||
return Err((
|
||||
[("Content-Type", "image/svg+xml")],
|
||||
Body::from(read_image(PathBufD::current().extend(&[
|
||||
data.0.dirs.media.as_str(),
|
||||
data.0.0.dirs.media.as_str(),
|
||||
"images",
|
||||
"default-avatar.svg",
|
||||
]))),
|
||||
|
@ -126,7 +126,7 @@ pub async fn banner_request(
|
|||
return Err((
|
||||
[("Content-Type", "image/svg+xml")],
|
||||
Body::from(read_image(PathBufD::current().extend(&[
|
||||
data.0.dirs.media.as_str(),
|
||||
data.0.0.dirs.media.as_str(),
|
||||
"images",
|
||||
"default-banner.svg",
|
||||
]))),
|
||||
|
@ -135,7 +135,7 @@ pub async fn banner_request(
|
|||
};
|
||||
|
||||
let path = PathBufD::current().extend(&[
|
||||
data.0.dirs.media.as_str(),
|
||||
data.0.0.dirs.media.as_str(),
|
||||
"banners",
|
||||
&format!(
|
||||
"{}.{}",
|
||||
|
@ -148,7 +148,7 @@ pub async fn banner_request(
|
|||
return Err((
|
||||
[("Content-Type", "image/svg+xml")],
|
||||
Body::from(read_image(PathBufD::current().extend(&[
|
||||
data.0.dirs.media.as_str(),
|
||||
data.0.0.dirs.media.as_str(),
|
||||
"images",
|
||||
"default-banner.svg",
|
||||
]))),
|
||||
|
@ -194,7 +194,7 @@ pub async fn upload_avatar_request(
|
|||
// mime changed; delete old image
|
||||
let path = pathd!(
|
||||
"{}/avatars/{}.{}",
|
||||
data.0.dirs.media,
|
||||
data.0.0.dirs.media,
|
||||
&auth_user.id,
|
||||
auth_user.settings.avatar_mime.replace("image/", "")
|
||||
);
|
||||
|
@ -206,7 +206,7 @@ pub async fn upload_avatar_request(
|
|||
|
||||
let path = pathd!(
|
||||
"{}/avatars/{}.{}",
|
||||
data.0.dirs.media,
|
||||
data.0.0.dirs.media,
|
||||
&auth_user.id,
|
||||
mime.replace("image/", "")
|
||||
);
|
||||
|
@ -292,7 +292,7 @@ pub async fn upload_banner_request(
|
|||
// mime changed; delete old image
|
||||
let path = pathd!(
|
||||
"{}/banners/{}.{}",
|
||||
data.0.dirs.media,
|
||||
data.0.0.dirs.media,
|
||||
&auth_user.id,
|
||||
auth_user.settings.banner_mime.replace("image/", "")
|
||||
);
|
||||
|
@ -304,7 +304,7 @@ pub async fn upload_banner_request(
|
|||
|
||||
let path = pathd!(
|
||||
"{}/banners/{}.{}",
|
||||
data.0.dirs.media,
|
||||
data.0.0.dirs.media,
|
||||
&auth_user.id,
|
||||
mime.replace("image/", "")
|
||||
);
|
||||
|
|
|
@ -46,7 +46,7 @@ pub async fn register_request(
|
|||
|
||||
// get real ip
|
||||
let real_ip = headers
|
||||
.get(data.0.security.real_ip_header.to_owned())
|
||||
.get(data.0.0.security.real_ip_header.to_owned())
|
||||
.unwrap_or(&HeaderValue::from_static(""))
|
||||
.to_str()
|
||||
.unwrap_or("")
|
||||
|
@ -62,7 +62,7 @@ pub async fn register_request(
|
|||
}
|
||||
|
||||
// check captcha
|
||||
let client = TurnstileClient::new(data.0.turnstile.secret_key.clone().into());
|
||||
let client = TurnstileClient::new(data.0.0.turnstile.secret_key.clone().into());
|
||||
|
||||
let validated = match client
|
||||
.siteverify(SiteVerifyRequest {
|
||||
|
@ -126,7 +126,7 @@ pub async fn login_request(
|
|||
|
||||
// get real ip
|
||||
let real_ip = headers
|
||||
.get(data.0.security.real_ip_header.to_owned())
|
||||
.get(data.0.0.security.real_ip_header.to_owned())
|
||||
.unwrap_or(&HeaderValue::from_static(""))
|
||||
.to_str()
|
||||
.unwrap_or("")
|
||||
|
|
|
@ -516,7 +516,9 @@ pub async fn subscription_handler(
|
|||
pub async fn handle_socket(socket: WebSocket, db: DataManager, user_id: String, stream_id: String) {
|
||||
let (mut sink, mut stream) = socket.split();
|
||||
let socket_id = tetratto_shared::hash::salt();
|
||||
db.2.incr("atto.active_connections:users".to_string()).await;
|
||||
db.0.1
|
||||
.incr("atto.active_connections:users".to_string())
|
||||
.await;
|
||||
|
||||
// get channel permissions
|
||||
let channel = format!("{user_id}/{stream_id}");
|
||||
|
@ -551,7 +553,7 @@ pub async fn handle_socket(socket: WebSocket, db: DataManager, user_id: String,
|
|||
let heartbeat_c = heartbeat_uri.clone();
|
||||
let mut redis_task = tokio::spawn(async move {
|
||||
// forward messages from redis to the socket
|
||||
let mut pubsub = dbc.2.client.get_async_pubsub().await.unwrap();
|
||||
let mut pubsub = dbc.0.1.client.get_async_pubsub().await.unwrap();
|
||||
|
||||
pubsub.subscribe(channel_c).await.unwrap();
|
||||
pubsub.subscribe(heartbeat_c).await.unwrap();
|
||||
|
@ -581,7 +583,7 @@ pub async fn handle_socket(socket: WebSocket, db: DataManager, user_id: String,
|
|||
}
|
||||
});
|
||||
|
||||
let db2c = db.2.clone();
|
||||
let db2c = db.0.1.clone();
|
||||
let heartbeat_c = heartbeat_uri.clone();
|
||||
let heartbeat_task = tokio::spawn(async move {
|
||||
let mut con = db2c.get_con().await;
|
||||
|
@ -608,7 +610,9 @@ pub async fn handle_socket(socket: WebSocket, db: DataManager, user_id: String,
|
|||
}
|
||||
|
||||
heartbeat_task.abort(); // kill
|
||||
db.2.decr("atto.active_connections:users".to_string()).await;
|
||||
db.0.1
|
||||
.decr("atto.active_connections:users".to_string())
|
||||
.await;
|
||||
tracing::info!("socket terminate");
|
||||
}
|
||||
|
||||
|
@ -628,7 +632,7 @@ pub async fn post_to_socket_request(
|
|||
return Json(Error::NotAllowed.into());
|
||||
}
|
||||
|
||||
let mut con = data.2.get_con().await;
|
||||
let mut con = data.0.1.get_con().await;
|
||||
con.publish::<String, String, ()>(
|
||||
format!("{user_id}/{id}"),
|
||||
serde_json::to_string(&msg).unwrap(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue