24 lines
814 B
Rust
24 lines
814 B
Rust
use rusqlite::{Connection, Transaction};
|
|
|
|
use crate::db::users::create_user;
|
|
use crate::events::{CreateNewSecurity, CreateNewUser, Event};
|
|
use crate::util::{CustomResult, Error};
|
|
|
|
fn process_bogus_event(tx: &Transaction, event: CreateNewSecurity) -> CustomResult<()> {
|
|
Ok(())
|
|
}
|
|
|
|
fn process_create_new_user_event(tx: &mut Transaction, event: CreateNewUser) -> CustomResult<()> {
|
|
create_user(&tx, &event.name, &event.public_key)?;
|
|
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_bogus_event(&mut tx, e)?,
|
|
Event::CreateNewUser(e) => process_create_new_user_event(&mut tx, e)?,
|
|
};
|
|
tx.commit().map_err(Error::SqlError)
|
|
}
|