dialtone_sqlx 0.1.0

Dialtone SQLx Back-End
Documentation
use dialtone_common::ap::ap_object::ApObject;
use dialtone_common::rest::ap_objects::ap_object_model::ApObjectOwnerData;
use sqlx::types::Json;
use sqlx::{Executor, Postgres};

pub async fn update_ap_object(
    exec: impl Executor<'_, Database = Postgres>,
    ap_object: &ApObject,
    owner_data: Option<&ApObjectOwnerData>,
) -> Result<(), sqlx::Error> {
    sqlx::query(
        r#"
        update ap_object
        set
            activity_pub_json = $1,
            owner_data = $2
        where
            id = $3
        returning id
        "#,
    )
    .bind(Json(ap_object))
    .bind(Json(owner_data))
    .bind(ap_object.id.as_ref())
    .fetch_one(exec)
    .await?;

    Ok(())
}