use sqlx::PgPool;
use dialtone_common::rest::actors::actor_model::OwnedActor;
use crate::db::actor::insert::{insert_actor, InsertActor};
use crate::db::actor::{ActorDbType, ActorVisibilityType};
pub async fn create_actor(pool: &PgPool, actor_info: &OwnedActor) -> anyhow::Result<()> {
let insert_data = InsertActor {
actor_id: &actor_info.ap.id,
actor_type: &ActorDbType::from(&actor_info.ap.ap_type),
actor_acct: None,
webfinger_jrd: Option::from(&actor_info.jrd),
activity_pub: &actor_info.ap,
private_key_pem: None,
visibility: &ActorVisibilityType::Visible,
system_data: None,
owner_data: None,
};
insert_actor(pool, insert_data).await?;
Ok(())
}