From c05bfcc2775f0e11db6e856bfcf06d0419c35d54 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 27 Feb 2026 14:40:15 +0100 Subject: ui changed before object slices --- database/src/helper.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 database/src/helper.rs (limited to 'database/src/helper.rs') diff --git a/database/src/helper.rs b/database/src/helper.rs new file mode 100644 index 0000000..28ab1fa --- /dev/null +++ b/database/src/helper.rs @@ -0,0 +1,23 @@ +/* + This file is part of jellything (https://codeberg.org/metamuffin/jellything) + which is licensed under the GNU Affero General Public License (version 3); see /COPYING. + Copyright (C) 2026 metamuffin +*/ + +use crate::{Database, Transaction}; +use anyhow::Result; + +pub trait DatabaseReturnExt: Database { + fn transaction_ret( + &self, + mut t: impl FnMut(&mut dyn Transaction) -> Result, + ) -> Result { + let mut ret = None; + self.transaction(&mut |x| { + ret = Some(t(x)?); + Ok(()) + })?; + Ok(ret.unwrap()) + } +} +impl DatabaseReturnExt for D {} -- cgit v1.3