Fix missing private key for signed fetch (fixes #4451)

This commit is contained in:
Felix Ableitner 2024-03-07 12:03:01 +01:00
parent fed6b61eaf
commit d043d6ddaa
3 changed files with 18 additions and 19 deletions

2
Cargo.lock generated
View file

@ -2577,7 +2577,6 @@ version = "0.19.3"
dependencies = [
"activitypub_federation",
"actix-web",
"anyhow",
"chrono",
"encoding",
"enum-map",
@ -2599,7 +2598,6 @@ dependencies = [
"serde",
"serde_with",
"serial_test",
"task-local-extensions",
"tokio",
"tracing",
"ts-rs",

View file

@ -34,7 +34,9 @@ pub struct Site {
pub last_refreshed_at: DateTime<Utc>,
/// The site inbox
pub inbox_url: DbUrl,
#[serde(skip)]
pub private_key: Option<String>,
#[serde(skip)]
pub public_key: String,
pub instance_id: InstanceId,
/// If present, nsfw content is visible by default. Should be displayed by frontends/clients

View file

@ -9,22 +9,21 @@ use lemmy_db_schema::{
impl SiteView {
pub async fn read_local(pool: &mut DbPool<'_>) -> Result<Self, Error> {
let conn = &mut get_conn(pool).await?;
let mut res = site::table
.inner_join(local_site::table)
.inner_join(
local_site_rate_limit::table.on(local_site::id.eq(local_site_rate_limit::local_site_id)),
)
.inner_join(site_aggregates::table)
.select((
site::all_columns,
local_site::all_columns,
local_site_rate_limit::all_columns,
site_aggregates::all_columns,
))
.first::<SiteView>(conn)
.await?;
res.site.private_key = None;
Ok(res)
Ok(
site::table
.inner_join(local_site::table)
.inner_join(
local_site_rate_limit::table.on(local_site::id.eq(local_site_rate_limit::local_site_id)),
)
.inner_join(site_aggregates::table)
.select((
site::all_columns,
local_site::all_columns,
local_site_rate_limit::all_columns,
site_aggregates::all_columns,
))
.first::<SiteView>(conn)
.await?,
)
}
}