diff options
author | Ilion Beyst <ilion.beyst@gmail.com> | 2022-10-12 22:52:15 +0200 |
---|---|---|
committer | Ilion Beyst <ilion.beyst@gmail.com> | 2022-10-12 22:52:15 +0200 |
commit | ae57359353cf31ff374a8932999742920878bf00 (patch) | |
tree | 0db27d394a2a61a5cc94e73014c82954829c1338 /planetwars-server/src/db/bots.rs | |
parent | ed016773b112460ebbf0ff023b0915545229ed41 (diff) | |
download | planetwars.dev-ae57359353cf31ff374a8932999742920878bf00.tar.xz planetwars.dev-ae57359353cf31ff374a8932999742920878bf00.zip |
upgrade to diesel 2.0
Diffstat (limited to 'planetwars-server/src/db/bots.rs')
-rw-r--r-- | planetwars-server/src/db/bots.rs | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/planetwars-server/src/db/bots.rs b/planetwars-server/src/db/bots.rs index a0a31b0..cf8bbb5 100644 --- a/planetwars-server/src/db/bots.rs +++ b/planetwars-server/src/db/bots.rs @@ -5,7 +5,7 @@ use crate::schema::{bot_versions, bots}; use chrono; #[derive(Insertable)] -#[table_name = "bots"] +#[diesel(table_name = bots)] pub struct NewBot<'a> { pub owner_id: Option<i32>, pub name: &'a str, @@ -19,29 +19,29 @@ pub struct Bot { pub active_version: Option<i32>, } -pub fn create_bot(new_bot: &NewBot, conn: &PgConnection) -> QueryResult<Bot> { +pub fn create_bot(new_bot: &NewBot, conn: &mut PgConnection) -> QueryResult<Bot> { diesel::insert_into(bots::table) .values(new_bot) .get_result(conn) } -pub fn find_bot(id: i32, conn: &PgConnection) -> QueryResult<Bot> { +pub fn find_bot(id: i32, conn: &mut PgConnection) -> QueryResult<Bot> { bots::table.find(id).first(conn) } -pub fn find_bots_by_owner(owner_id: i32, conn: &PgConnection) -> QueryResult<Vec<Bot>> { +pub fn find_bots_by_owner(owner_id: i32, conn: &mut PgConnection) -> QueryResult<Vec<Bot>> { bots::table .filter(bots::owner_id.eq(owner_id)) .get_results(conn) } -pub fn find_bot_by_name(name: &str, conn: &PgConnection) -> QueryResult<Bot> { +pub fn find_bot_by_name(name: &str, conn: &mut PgConnection) -> QueryResult<Bot> { bots::table.filter(bots::name.eq(name)).first(conn) } pub fn find_bot_with_version_by_name( bot_name: &str, - conn: &PgConnection, + conn: &mut PgConnection, ) -> QueryResult<(Bot, BotVersion)> { bots::table .inner_join(bot_versions::table.on(bots::active_version.eq(bot_versions::id.nullable()))) @@ -49,26 +49,28 @@ pub fn find_bot_with_version_by_name( .first(conn) } -pub fn all_active_bots_with_version(conn: &PgConnection) -> QueryResult<Vec<(Bot, BotVersion)>> { +pub fn all_active_bots_with_version( + conn: &mut PgConnection, +) -> QueryResult<Vec<(Bot, BotVersion)>> { bots::table .inner_join(bot_versions::table.on(bots::active_version.eq(bot_versions::id.nullable()))) .get_results(conn) } -pub fn find_all_bots(conn: &PgConnection) -> QueryResult<Vec<Bot>> { +pub fn find_all_bots(conn: &mut PgConnection) -> QueryResult<Vec<Bot>> { bots::table.get_results(conn) } /// Find all bots that have an associated active version. /// These are the bots that can be run. -pub fn find_active_bots(conn: &PgConnection) -> QueryResult<Vec<Bot>> { +pub fn find_active_bots(conn: &mut PgConnection) -> QueryResult<Vec<Bot>> { bots::table .filter(bots::active_version.is_not_null()) .get_results(conn) } #[derive(Insertable)] -#[table_name = "bot_versions"] +#[diesel(table_name = bot_versions)] pub struct NewBotVersion<'a> { pub bot_id: Option<i32>, pub code_bundle_path: Option<&'a str>, @@ -86,7 +88,7 @@ pub struct BotVersion { pub fn create_bot_version( new_bot_version: &NewBotVersion, - conn: &PgConnection, + conn: &mut PgConnection, ) -> QueryResult<BotVersion> { diesel::insert_into(bot_versions::table) .values(new_bot_version) @@ -96,7 +98,7 @@ pub fn create_bot_version( pub fn set_active_version( bot_id: i32, version_id: Option<i32>, - conn: &PgConnection, + conn: &mut PgConnection, ) -> QueryResult<()> { diesel::update(bots::table.filter(bots::id.eq(bot_id))) .set(bots::active_version.eq(version_id)) @@ -104,13 +106,13 @@ pub fn set_active_version( Ok(()) } -pub fn find_bot_version(version_id: i32, conn: &PgConnection) -> QueryResult<BotVersion> { +pub fn find_bot_version(version_id: i32, conn: &mut PgConnection) -> QueryResult<BotVersion> { bot_versions::table .filter(bot_versions::id.eq(version_id)) .first(conn) } -pub fn find_bot_versions(bot_id: i32, conn: &PgConnection) -> QueryResult<Vec<BotVersion>> { +pub fn find_bot_versions(bot_id: i32, conn: &mut PgConnection) -> QueryResult<Vec<BotVersion>> { bot_versions::table .filter(bot_versions::bot_id.eq(bot_id)) .get_results(conn) |