|
|
@ -12,7 +12,7 @@ use rocket::{ |
|
|
|
use rocket_contrib::json::Json; |
|
|
|
|
|
|
|
use crate::{ |
|
|
|
api::{ApiResult, EmptyResult, NumberOrString}, |
|
|
|
api::{ApiResult, EmptyResult, JsonResult, NumberOrString}, |
|
|
|
auth::{decode_admin, encode_jwt, generate_admin_claims, ClientIp}, |
|
|
|
config::ConfigBuilder, |
|
|
|
db::{backup_database, get_sql_server_version, models::*, DbConn, DbConnType}, |
|
|
@ -279,7 +279,7 @@ struct InviteData { |
|
|
|
} |
|
|
|
|
|
|
|
#[post("/invite", data = "<data>")] |
|
|
|
fn invite_user(data: Json<InviteData>, _token: AdminToken, conn: DbConn) -> EmptyResult { |
|
|
|
fn invite_user(data: Json<InviteData>, _token: AdminToken, conn: DbConn) -> JsonResult { |
|
|
|
let data: InviteData = data.into_inner(); |
|
|
|
let email = data.email.clone(); |
|
|
|
if User::find_by_mail(&data.email, &conn).is_some() { |
|
|
@ -287,14 +287,16 @@ fn invite_user(data: Json<InviteData>, _token: AdminToken, conn: DbConn) -> Empt |
|
|
|
} |
|
|
|
|
|
|
|
let mut user = User::new(email); |
|
|
|
user.save(&conn)?; |
|
|
|
|
|
|
|
if CONFIG.mail_enabled() { |
|
|
|
mail::send_invite(&user.email, &user.uuid, None, None, &CONFIG.invitation_org_name(), None) |
|
|
|
mail::send_invite(&user.email, &user.uuid, None, None, &CONFIG.invitation_org_name(), None)?; |
|
|
|
} else { |
|
|
|
let invitation = Invitation::new(data.email); |
|
|
|
invitation.save(&conn) |
|
|
|
invitation.save(&conn)?; |
|
|
|
} |
|
|
|
|
|
|
|
user.save(&conn)?; |
|
|
|
Ok(Json(user.to_json(&conn))) |
|
|
|
} |
|
|
|
|
|
|
|
#[post("/test/smtp", data = "<data>")] |
|
|
|