diff options
| -rw-r--r-- | license-generator/src/lib.rs | 26 | 
1 files changed, 23 insertions, 3 deletions
| diff --git a/license-generator/src/lib.rs b/license-generator/src/lib.rs index 6bc49ee..9f73f6b 100644 --- a/license-generator/src/lib.rs +++ b/license-generator/src/lib.rs @@ -3,7 +3,13 @@ extern crate error_chain;  extern crate mysql;  mod errors { -    error_chain! {} +    use mysql; + +    error_chain! { +        foreign_links { +            MySql(mysql::error::Error); +        } +    }  }  use errors::*; @@ -28,7 +34,21 @@ impl<'a> Purchaser<'a> {          self      } -    fn insert() -> Result<()> { -        unimplemented!() +    fn insert(&self, cx: &mut mysql::Conn) -> Result<()> { +        let mut tx = cx.start_transaction( +            false,  // consistent_snapshot +            None,   // isolation_level +            None,   // readonly +        )?; + +        tx.prep_exec(" +            INSERT INTO purchasers +                (name, email, secret) +                VALUES +                (?, ?, ?)", +            (self.name, self.email, self.secret), +        )?; + +        Ok(())      }  } | 
