Saving changes

This commit is contained in:
2026-06-18 16:33:10 -04:00
parent e40f0c6831
commit 82b6a43cbe
+14 -14
View File
@@ -3,23 +3,26 @@ use sqlx::Row;
pub async fn insert( pub async fn insert(
pool: &sqlx::PgPool, pool: &sqlx::PgPool,
event: &textsender_models::message::event::MessageEventResponse, event: &textsender_models::message::event::MessageEventResponse,
) -> Result<(uuid::Uuid, time::OffsetDateTime), sqlx::Error> { ) -> Result<uuid::Uuid, sqlx::Error> {
match sqlx::query( match sqlx::query(
r#" r#"
INSERT INTO "scheduled_message_events" (contact_id, message_id, scheduled_message_id) INSERT INTO "message_event_responses" (scheduled_message_event_id, response, user_id, sent, contact_id, message_id, status)
VALUES($1, $2, $3) RETURNING id, created; VALUES($1, $2, $3, $4, $5, $6, $7) RETURNING id;
"#, "#,
) )
.bind(&event.scheduled_message_event_id)
.bind(&event.response)
.bind(&event.user_id)
.bind(&event.sent)
.bind(&event.contact_id) .bind(&event.contact_id)
.bind(&event.message_id) .bind(&event.message_id)
.bind(&event.scheduled_message_event_id) .bind(&event.status)
.fetch_one(pool) .fetch_one(pool)
.await .await
{ {
Ok(row) => { Ok(row) => {
let id: uuid::Uuid = row.try_get("id")?; let id: uuid::Uuid = row.try_get("id")?;
let created: time::OffsetDateTime = row.try_get("created")?; Ok(id)
Ok((id, created))
} }
Err(_) => Err(sqlx::Error::RowNotFound), Err(_) => Err(sqlx::Error::RowNotFound),
} }
@@ -31,7 +34,7 @@ pub async fn get(
) -> Result<textsender_models::message::event::MessageEventResponse, sqlx::Error> { ) -> Result<textsender_models::message::event::MessageEventResponse, sqlx::Error> {
match sqlx::query( match sqlx::query(
r#" r#"
SELECT id, contact_id, created, status, user_id FROM "scheduled_message_events" SELECT id, scheduled_message_event_id, response, user_id, sent, contact_id, message_id, status FROM "message_event_responses"
WHERE WHERE
id = $1; id = $1;
"#, "#,
@@ -50,16 +53,16 @@ pub async fn get(
pub async fn get_with_user_id( pub async fn get_with_user_id(
pool: &sqlx::PgPool, pool: &sqlx::PgPool,
scheduled_message_id: &uuid::Uuid, user_id: &uuid::Uuid,
) -> Result<Vec<textsender_models::message::event::MessageEventResponse>, sqlx::Error> { ) -> Result<Vec<textsender_models::message::event::MessageEventResponse>, sqlx::Error> {
match sqlx::query( match sqlx::query(
r#" r#"
SELECT id, contact_id, message_id, schduled_message_id, created FROM "scheduled_message_events" SELECT id, scheduled_message_event_id, response, user_id, sent, contact_id, message_id, status FROM "message_event_responses"
WHERE WHERE
scheduled_message_id = $1; user_id = $1;
"#, "#,
) )
.bind(scheduled_message_id) .bind(user_id)
.fetch_all(pool) .fetch_all(pool)
.await .await
{ {
@@ -91,9 +94,6 @@ async fn parse_row(
let status: String = row.try_get("status")?; let status: String = row.try_get("status")?;
let contact_id: uuid::Uuid = row.try_get("contact_id")?; let contact_id: uuid::Uuid = row.try_get("contact_id")?;
let message_id: uuid::Uuid = row.try_get("message_id")?; let message_id: uuid::Uuid = row.try_get("message_id")?;
// todo!("Do something with created");
// TODO: Do something about this
let _created: time::OffsetDateTime = row.try_get("created")?;
let sent: time::OffsetDateTime = row.try_get("sent")?; let sent: time::OffsetDateTime = row.try_get("sent")?;
let scheduled_message_id: uuid::Uuid = row.try_get("scheduled_message_id")?; let scheduled_message_id: uuid::Uuid = row.try_get("scheduled_message_id")?;
let user_id: uuid::Uuid = row.try_get("user_id")?; let user_id: uuid::Uuid = row.try_get("user_id")?;