2021-12-29 18:33:31 +01:00
|
|
|
use sqlx::{mysql::MySqlRow, MySqlPool, Result, Row};
|
2021-12-18 20:04:34 +01:00
|
|
|
|
|
|
|
pub async fn get_cid(user: String, filename: String, pool: &MySqlPool) -> Result<String> {
|
2021-12-29 18:33:31 +01:00
|
|
|
let q: String =
|
|
|
|
sqlx::query("SELECT cid FROM memes WHERE user = ? AND filename = ? ORDER BY id DESC")
|
|
|
|
.bind(user)
|
|
|
|
.bind(filename)
|
|
|
|
.map(|row: MySqlRow| row.get("cid"))
|
|
|
|
.fetch_one(pool)
|
|
|
|
.await?;
|
2021-12-18 21:15:06 +01:00
|
|
|
Ok(q)
|
|
|
|
}
|
|
|
|
|
|
|
|
pub async fn get_memes(user: String, pool: &MySqlPool) -> Result<Vec<String>> {
|
2021-12-29 18:33:31 +01:00
|
|
|
let q: Vec<String> = sqlx::query("SELECT filename FROM memes WHERE user = ? ORDER BY filename")
|
|
|
|
.bind(user)
|
2021-12-18 21:15:06 +01:00
|
|
|
.map(|row: MySqlRow| 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
|
|
|
|
2021-12-18 21:15:06 +01:00
|
|
|
pub async fn get_users(pool: &MySqlPool) -> Result<Vec<String>> {
|
|
|
|
let q: Vec<String> = sqlx::query("SELECT id FROM users ORDER BY id")
|
|
|
|
.map(|row: MySqlRow| 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
|
|
|
}
|