forked from alemi/upub
chore: small improvements and fixed some warns
This commit is contained in:
parent
6d078f7068
commit
4a99a3dc40
3 changed files with 13 additions and 5 deletions
|
@ -1,3 +1,4 @@
|
|||
use openssl::pkey::{PKey, Private};
|
||||
use reqwest::header::USER_AGENT;
|
||||
use sea_orm::{DatabaseConnection, EntityTrait, IntoActiveModel};
|
||||
|
||||
|
@ -18,13 +19,13 @@ pub enum FetchError {
|
|||
|
||||
pub struct Fetcher {
|
||||
db: DatabaseConnection,
|
||||
key: String, // TODO store pre-parsed
|
||||
_key: PKey<Private>, // TODO store pre-parsed
|
||||
domain: String, // TODO merge directly with Context so we don't need to copy this
|
||||
}
|
||||
|
||||
impl Fetcher {
|
||||
pub fn new(db: DatabaseConnection, domain: String, key: String) -> Self {
|
||||
Fetcher { db, domain, key }
|
||||
Fetcher { db, domain, _key: PKey::private_key_from_pem(key.as_bytes()).unwrap() }
|
||||
}
|
||||
|
||||
pub async fn user(&self, id: &str) -> Result<model::user::Model, FetchError> {
|
||||
|
|
|
@ -112,17 +112,17 @@ async fn fetch(db: &sea_orm::DatabaseConnection, uri: &str, save: bool) -> reqwe
|
|||
match obj.base_type() {
|
||||
Some(BaseType::Object(ObjectType::Actor(_))) => {
|
||||
model::user::Entity::insert(
|
||||
model::user::Model::new(obj).unwrap().into_active_model()
|
||||
model::user::Model::new(&obj).unwrap().into_active_model()
|
||||
).exec(db).await.unwrap();
|
||||
},
|
||||
Some(BaseType::Object(ObjectType::Activity(_))) => {
|
||||
model::activity::Entity::insert(
|
||||
model::activity::Model::new(obj).unwrap().into_active_model()
|
||||
model::activity::Model::new(&obj).unwrap().into_active_model()
|
||||
).exec(db).await.unwrap();
|
||||
},
|
||||
Some(BaseType::Object(ObjectType::Note)) => {
|
||||
model::object::Entity::insert(
|
||||
model::object::Model::new(obj).unwrap().into_active_model()
|
||||
model::object::Model::new(&obj).unwrap().into_active_model()
|
||||
).exec(db).await.unwrap();
|
||||
},
|
||||
Some(BaseType::Object(t)) => tracing::warn!("not implemented: {:?}", t),
|
||||
|
|
|
@ -18,6 +18,13 @@ pub mod faker;
|
|||
#[error("missing required field: '{0}'")]
|
||||
pub struct FieldError(pub &'static str);
|
||||
|
||||
impl From<FieldError> for axum::http::StatusCode {
|
||||
fn from(value: FieldError) -> Self {
|
||||
tracing::error!("bad request: {value}");
|
||||
axum::http::StatusCode::BAD_REQUEST
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize, sea_orm::FromJsonQueryResult)]
|
||||
pub struct Audience(pub Vec<String>);
|
||||
|
||||
|
|
Loading…
Reference in a new issue