jmserver/src/cdn/sql.rs

30 lines
951 B
Rust
Raw Normal View History

2023-07-06 17:35:23 +02:00
use sqlx::{postgres::PgRow, PgPool, Result, Row};
2021-12-18 20:04:34 +01:00
2023-07-06 17:35:23 +02:00
pub async fn get_cid(user: String, filename: String, pool: &PgPool) -> Result<String> {
2021-12-29 18:33:31 +01:00
let q: String =
2023-07-07 16:03:59 +02:00
sqlx::query("SELECT cid FROM memes WHERE userid = $1 AND filename = $2 ORDER BY id DESC")
2021-12-29 18:33:31 +01:00
.bind(user)
.bind(filename)
2023-07-06 17:35:23 +02:00
.map(|row: PgRow| row.get("cid"))
2021-12-29 18:33:31 +01:00
.fetch_one(pool)
.await?;
2021-12-18 21:15:06 +01:00
Ok(q)
}
2023-07-06 17:35:23 +02:00
pub async fn get_memes(user: String, pool: &PgPool) -> Result<Vec<String>> {
2023-07-07 16:03:59 +02:00
let q: Vec<String> = sqlx::query("SELECT filename FROM memes WHERE userid = $1 ORDER BY filename")
2021-12-29 18:33:31 +01:00
.bind(user)
2023-07-06 17:35:23 +02:00
.map(|row: PgRow| row.get("filename"))
2021-12-29 18:33:31 +01:00
.fetch_all(pool)
.await?;
2021-12-18 21:15:06 +01:00
Ok(q)
}
2021-12-18 20:04:34 +01:00
2023-07-06 17:35:23 +02:00
pub async fn get_users(pool: &PgPool) -> Result<Vec<String>> {
2021-12-18 21:15:06 +01:00
let q: Vec<String> = sqlx::query("SELECT id FROM users ORDER BY id")
2023-07-06 17:35:23 +02:00
.map(|row: PgRow| row.get("id"))
2021-12-29 18:33:31 +01:00
.fetch_all(pool)
.await?;
2021-12-18 21:15:06 +01:00
Ok(q)
2021-12-29 18:33:31 +01:00
}