use crate::db::ap_object_reference::ApObjectReferenceDbType;
use dialtone_common::rest::ap_objects::ap_object_reference::ApObjectReferenceType;
use sqlx::{Executor, Postgres};
pub async fn insert_ap_object_reference(
exec: impl Executor<'_, Database = Postgres>,
actor_id: &str,
ap_object_id: &str,
reference_type: &ApObjectReferenceType,
) -> Result<(), sqlx::Error> {
let reference_type = ApObjectReferenceDbType::from(reference_type);
sqlx::query(
r#"
insert into ap_object_reference
(actor_id, ap_object_id, reference_type)
values
($1, $2, $3)
returning actor_id, ap_object_id
"#,
)
.bind(actor_id)
.bind(ap_object_id)
.bind(reference_type)
.fetch_one(exec)
.await?;
Ok(())
}