calls to create_new_user no longer require a connection to be copied

This commit is contained in:
shockrah 2020-05-06 22:19:42 -07:00
parent 040d58a7ad
commit 281b734073

View File

@ -1,18 +1,21 @@
use chrono::Utc; use chrono::Utc;
use std::env;
use rocket_contrib::json::{Json, JsonValue}; use rocket_contrib::json::{Json, JsonValue};
use crate::rand_utils::new_key;
use crate::models::{User, USER_ONLINE, USER_OFFLINE};
use crate::{DBConn, schema};
use diesel::{self, prelude::*}; use diesel::{self, prelude::*};
use diesel::result::Error; use diesel::result::Error;
pub fn create_new_user(conn: DBConn, new_name: String) -> User { use crate::rand_utils::new_key;
use crate::models::{User, USER_ONLINE, USER_OFFLINE};
use crate::{DBConn, schema};
pub fn create_new_user(new_name: String) -> User {
/* /*
* Should only eveer be called under good circumstances * Should only eveer be called under good circumstances
*/ */
use schema::users::dsl::*; use schema::users::dsl::*;
use crate::models::InsertableUser; use crate::models::InsertableUser;
let conn = MysqlConnection::establish(&env::var("DATABASE_URL").unwrap()).unwrap();
let ins = InsertableUser { let ins = InsertableUser {
name: new_name, name: new_name,
secret: new_key(), secret: new_key(),
@ -20,13 +23,13 @@ pub fn create_new_user(conn: DBConn, new_name: String) -> User {
status: USER_ONLINE, status: USER_ONLINE,
}; };
// insert the nwe user data then return usable user data to the client // insert the nwe user data then return usable user data to the client
diesel::insert_into(users) let _inserted_user = diesel::insert_into(users)
.values(&ins) .values(&ins)
.execute(&conn.0); .execute(&conn);
let new_user_data : Result<User, diesel::result::Error> = users let new_user_data : Result<User, diesel::result::Error> = users
.filter(id.eq(ins.date)) .filter(id.eq(ins.date))
.first(&conn.0); .first(&conn);
new_user_data.unwrap() new_user_data.unwrap()
} }