From 1363c596b4edcb211cfdb6dfa5520a5a63bab233 Mon Sep 17 00:00:00 2001 From: Raphael Date: Wed, 25 Feb 2026 21:54:09 +0100 Subject: [PATCH] feat(database): adding the anyhow result return for guild functions --- src/database/guild.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/database/guild.rs b/src/database/guild.rs index 0dd051d..033f94c 100644 --- a/src/database/guild.rs +++ b/src/database/guild.rs @@ -5,6 +5,7 @@ use sqlx::{ query_scalar, }; use crate::models::DbGuild; +use anyhow::Result; pub enum LogChannel { Bot, @@ -48,21 +49,21 @@ fn protect_select(asked: Protect) -> &'static str { } } -pub async fn create(db: &PgPool, guild_id: &str) -> Result<(), sqlx::Error> { +pub async fn create(db: &PgPool, guild_id: &str) -> Result<()> { query!("INSERT INTO guilds (guild_id) VALUES ($1) ON CONFLICT DO NOTHING", guild_id) .execute(db) .await?; Ok(()) } -pub async fn delete(db: &PgPool, guild_id: &str) -> Result<(), sqlx::Error> { +pub async fn delete(db: &PgPool, guild_id: &str) -> Result<()> { query!("DELETE FROM guilds WHERE guild_id = $1", guild_id) .execute(db) .await?; Ok(()) } -pub async fn get(db: &PgPool, guild_id: &str) -> Result, sqlx::Error> { +pub async fn get(db: &PgPool, guild_id: &str) -> Result> { let guild: Option = query_as!( DbGuild, "SELECT * FROM guilds WHERE guild_id = $1", @@ -73,7 +74,7 @@ pub async fn get(db: &PgPool, guild_id: &str) -> Result, sqlx::E Ok(guild) } -pub async fn get_log(db: &PgPool, guild_id: &str, asked: LogChannel) -> Result, sqlx::Error> { +pub async fn get_log(db: &PgPool, guild_id: &str, asked: LogChannel) -> Result> { let sql: String = format!("SELECT {} FROM guilds WHERE guild_id = $1", log_select(asked)); let channel_id: Option = query_scalar(&sql) .bind(guild_id) @@ -82,7 +83,7 @@ pub async fn get_log(db: &PgPool, guild_id: &str, asked: LogChannel) -> Result Result<(), sqlx::Error> { +pub async fn set_log(db: &PgPool, guild_id: &str, asked: LogChannel, value: &str) -> Result<()> { let sql: String = format!("UPDATE guilds set {} = $1 WHERE guild_id = $2", log_select(asked)); query(&sql) .bind(value) @@ -92,7 +93,7 @@ pub async fn set_log(db: &PgPool, guild_id: &str, asked: LogChannel, value: &str Ok(()) } -pub async fn get_protect(db: &PgPool, guild_id: &str, asked: Protect) -> Result, sqlx::Error> { +pub async fn get_protect(db: &PgPool, guild_id: &str, asked: Protect) -> Result> { let sql: String = format!("SELECT {} FROM guilds WHERE guild_id = $1", protect_select(asked)); let state: Option = query_scalar(&sql) .bind(guild_id) @@ -101,7 +102,7 @@ pub async fn get_protect(db: &PgPool, guild_id: &str, asked: Protect) -> Result< Ok(state) } -pub async fn set_protect(db: &PgPool, guild_id: &str, asked: Protect, value: &str) -> Result<(), sqlx::Error> { +pub async fn set_protect(db: &PgPool, guild_id: &str, asked: Protect, value: &str) -> Result<()> { let sql: String = format!("UPDATE guilds set {} = $1 WHERE guild_id = $2", protect_select(asked)); query(&sql) .bind(value) @@ -111,9 +112,9 @@ pub async fn set_protect(db: &PgPool, guild_id: &str, asked: Protect, value: &st Ok(()) } -pub async fn get_or_create(db: &PgPool, guild_id: &str) -> Result { +pub async fn get_or_create(db: &PgPool, guild_id: &str) -> Result { create(db, guild_id).await?; get(db, guild_id) .await? - .ok_or_else(|| sqlx::Error::RowNotFound) + .ok_or_else(|| sqlx::Error::RowNotFound.into()) }