Irvin Blais rock!
This commit is contained in:
1 parent
f2c6c8d65c
commit
0d0337a6aa
17 files changed
+175
-39
No files matched your search
+11
-2
@@ -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)
|
||||
}
|
||||
Reference in new issue
Block a user