diff options
Diffstat (limited to 'license-generator/src')
| -rw-r--r-- | license-generator/src/database.rs | 13 | ||||
| -rw-r--r-- | license-generator/src/errors.rs | 2 | ||||
| -rw-r--r-- | license-generator/src/lib.rs | 1 | ||||
| -rw-r--r-- | license-generator/src/purchaser.rs | 2 | 
4 files changed, 17 insertions, 1 deletions
| diff --git a/license-generator/src/database.rs b/license-generator/src/database.rs new file mode 100644 index 0000000..28673c4 --- /dev/null +++ b/license-generator/src/database.rs @@ -0,0 +1,13 @@ +use std::env; + +use mysql; + +use errors::*; + +fn get_database_connection() -> Result<mysql::PooledConn> { +    let connection_url = env::var("DATABASE_URL")?; +    let pool = mysql::Pool::new_manual(10, 50, connection_url)?; +    let cx = pool.get_conn()?; + +    Ok(cx) +} diff --git a/license-generator/src/errors.rs b/license-generator/src/errors.rs index 7eb9eda..29f25ca 100644 --- a/license-generator/src/errors.rs +++ b/license-generator/src/errors.rs @@ -2,6 +2,8 @@ use mysql;  error_chain! {      foreign_links { +        EnvVar(::std::env::VarError); +          MySql(mysql::error::Error);      }  } diff --git a/license-generator/src/lib.rs b/license-generator/src/lib.rs index fd1bfa8..e129d17 100644 --- a/license-generator/src/lib.rs +++ b/license-generator/src/lib.rs @@ -5,5 +5,6 @@ extern crate rand;  extern crate sha1; +mod database;  mod errors;  mod purchaser; diff --git a/license-generator/src/purchaser.rs b/license-generator/src/purchaser.rs index 2a7727c..3e9656e 100644 --- a/license-generator/src/purchaser.rs +++ b/license-generator/src/purchaser.rs @@ -29,7 +29,7 @@ impl<'a> Purchaser<'a> {          self.secret = Some(digest);      } -    fn insert(&self, cx: &mut mysql::Conn) -> Result<()> { +    fn insert(&self, cx: &mut mysql::PooledConn) -> Result<()> {          let mut tx = cx.start_transaction(              false,  // consistent_snapshot              None,   // isolation_level | 
