dialtone_sqlx 0.1.0

Dialtone SQLx Back-End
Documentation
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(())
}