diff --git a/json-api/db/src/invites.rs b/json-api/db/src/invites.rs index 6cb2de6..bb01624 100644 --- a/json-api/db/src/invites.rs +++ b/json-api/db/src/invites.rs @@ -114,3 +114,27 @@ impl FromDB for Invite { } } +impl Invite { + pub fn new(uses: Option, expires: bool) -> Invite { + use chrono::Utc; + + Invite { + id: (Utc::now() + chrono::Duration::minutes(30)).timestamp(), + uses: uses, + expires: expires + } + } + pub async fn add(&self, p: &Pool) -> Result<(), SqlError> { + let conn = p.get_conn().await?; + + conn.prep_exec( + "INSERT INTO invites (id, uses, expires) + VALUES (:id, :uses, :expires)", params!{ + "id" => self.id, + "uses" => self.uses, + "expires" => self.expires + }).await?; + + Ok(()) + } +} \ No newline at end of file