From 54894f9de9bad4fecb2a116d59a03cdd003f84c0 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Thu, 12 Dec 2024 08:28:04 +0000 Subject: Moves rust workspace to root --- actualbudget_to_schist_transformer/src/run.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 actualbudget_to_schist_transformer/src/run.rs (limited to 'actualbudget_to_schist_transformer/src/run.rs') diff --git a/actualbudget_to_schist_transformer/src/run.rs b/actualbudget_to_schist_transformer/src/run.rs new file mode 100644 index 0000000..3c88589 --- /dev/null +++ b/actualbudget_to_schist_transformer/src/run.rs @@ -0,0 +1,23 @@ +use anyhow::{Context, Result}; +use diesel::{Connection, SqliteConnection}; + +use crate::{actualbudget_state::read_actualbudget_state, schist_state::export_schist_state, transform_state::transform_state}; + +pub fn run(in_db_url: &str, out_db_url: &str) -> Result<()> { + let actualbudget_connection = &mut SqliteConnection::establish(in_db_url) + .with_context(|| format!( + "failed to establish connection to input database at {}", + in_db_url, + ))?; + let schist_connection = &mut SqliteConnection::establish(out_db_url) + .with_context(|| format!( + "failed to establish connection to output database at {}", + out_db_url, + ))?; + + let actualbudget_state = read_actualbudget_state(actualbudget_connection)?; + let schist_state = transform_state(actualbudget_state)?; + export_schist_state(&schist_state, schist_connection)?; + + Ok(()) +} -- cgit v1.2.3