Schedule message (#15)
textsender_api PR / Rustfmt (pull_request) Successful in 52s
textsender_api PR / Clippy (pull_request) Successful in 1m32s
textsender_api PR / Check (pull_request) Successful in 2m12s

Reviewed-on: phoenix/textsender_api#15
This commit was merged in pull request #15.
This commit is contained in:
2026-06-17 17:51:33 -04:00
parent 5740bce97c
commit d1bc5eb830
10 changed files with 256 additions and 92 deletions
+1
View File
@@ -1,2 +1,3 @@
pub mod contact;
pub mod message;
pub mod scheduling;
+27
View File
@@ -0,0 +1,27 @@
use sqlx::Row;
pub async fn insert(
pool: &sqlx::PgPool,
scheduled_message: &textsender_models::message::scheduling::ScheduledMessage,
user_id: &uuid::Uuid,
) -> Result<(uuid::Uuid, time::OffsetDateTime), sqlx::Error> {
match sqlx::query(
r#"
INSERT INTO "scheduled_messages" (scheduled, status, user_id)
VALUES($1, $2, $3) RETURNING id, created;
"#,
)
.bind(scheduled_message.scheduled)
.bind(&scheduled_message.status)
.bind(user_id)
.fetch_one(pool)
.await
{
Ok(row) => {
let id: uuid::Uuid = row.try_get("id")?;
let created: time::OffsetDateTime = row.try_get("created")?;
Ok((id, created))
}
Err(_) => Err(sqlx::Error::RowNotFound),
}
}