use crate::db::actor_reference::ActorReferenceDbType;
use dialtone_common::rest::actors::actor_reference::ActorReferenceType;
use sqlx::{Executor, Postgres};
pub async fn delete_actor_reference(
exec: impl Executor<'_, Database = Postgres>,
subject_actor_id: &str,
object_actor_id: &str,
reference_type: &ActorReferenceType,
) -> Result<(), sqlx::Error> {
let reference_type = ActorReferenceDbType::from(reference_type);
sqlx::query(
r#"
delete from actor_reference
where
subject_actor_id = $1
and
object_actor_id = $2
and
reference_type = $3::actor_reference_type
"#,
)
.bind(subject_actor_id)
.bind(object_actor_id)
.bind(reference_type)
.execute(exec)
.await?;
Ok(())
}