Irvin Blais rock!

This commit is contained in:
didier amyot committed 2023-04-01 14:27:38 -04:00
1 parent f2c6c8d65c
commit 0d0337a6aa
17 files changed
+175 -39

No files matched your search

+11 -2
View File
@@ -1,8 +1,9 @@
use rusqlite::{Connection, Transaction};
use crate::db::accounts::{create_checking_account, create_security_emitter_account};
use crate::db::securities::create_security;
use crate::db::users::create_user;
use crate::events::{CreateNewSecurity, CreateNewUser, Event};
use crate::events::{CreateNewAccount, CreateNewSecurity, CreateNewUser, Event};
use crate::util::{CustomResult, Error};
fn process_create_new_security_event(
@@ -10,7 +11,9 @@ fn process_create_new_security_event(
event: CreateNewSecurity,
) -> CustomResult<()> {
let r = event.to_create_new_security().unwrap();
create_security(tx, &r)?;
let sec = create_security(tx, &r)?;
create_security_emitter_account(&tx, &sec.id(), &event.userId)?;
Ok(())
}
@@ -19,11 +22,17 @@ fn process_create_new_user_event(tx: &mut Transaction, event: CreateNewUser) ->
Ok(())
}
fn process_create_new_account_event(tx: &mut Transaction, event: CreateNewAccount) -> CustomResult<()> {
create_checking_account(&tx, &event.securityId, &event.userId)?;
Ok(())
}
pub fn process_event(conn: &mut Connection, event: Event) -> CustomResult<()> {
let mut tx = conn.transaction().map_err(Error::SqlError)?;
match event {
Event::CreateNewSecurity(e) => process_create_new_security_event(&mut tx, e)?,
Event::CreateNewUser(e) => process_create_new_user_event(&mut tx, e)?,
Event::CreateNewAccount(e) => process_create_new_account_event(&mut tx, e)?,
};
tx.commit().map_err(Error::SqlError)
}