dialtone_sqlx 0.1.0

Dialtone SQLx Back-End
Documentation
use sqlx::types::Json;
use sqlx::{Executor, Postgres};

use crate::logic::user::AuthData;

pub async fn insert_user_principal(
    exec: impl Executor<'_, Database = Postgres>,
    acct: &str,
    auth_data: AuthData,
) -> Result<(), sqlx::Error> {
    sqlx::query(
        r#"
        insert into user_principal
        (acct, auth_data)
        values ($1, $2)
        returning acct
        "#,
    )
    .bind(acct)
    .bind(Json(auth_data))
    .fetch_one(exec)
    .await?;

    Ok(())
}