Create Backup funcitonality

Added create backup functionality to the admin panel
This commit is contained in:
TheMardy
2019-05-03 15:46:29 +02:00
parent 5521a86693
commit ef551f4cc6
3 changed files with 44 additions and 1 deletions

View File

@ -9,7 +9,7 @@ use rocket_contrib::json::Json;
use crate::api::{ApiResult, EmptyResult, JsonResult};
use crate::auth::{decode_admin, encode_jwt, generate_admin_claims, ClientIp};
use crate::config::ConfigBuilder;
use crate::db::{models::*, DbConn};
use crate::db::{models::*, DbConn, backup_database};
use crate::error::Error;
use crate::mail;
use crate::CONFIG;
@ -30,6 +30,7 @@ pub fn routes() -> Vec<Route> {
update_revision_users,
post_config,
delete_config,
backup_db,
]
}
@ -204,6 +205,11 @@ fn delete_config(_token: AdminToken) -> EmptyResult {
CONFIG.delete_user_config()
}
#[post("/config/backup_db")]
fn backup_db(_token: AdminToken) -> EmptyResult {
backup_database()
}
pub struct AdminToken {}
impl<'a, 'r> FromRequest<'a, 'r> for AdminToken {