import-from-backup on server

main
Ziyang Hu 2 years ago
parent ab497b00de
commit 7faa4509ad

@ -191,7 +191,9 @@ fn main() {
}
},
(POST) (/backup) => {
if !request.remote_addr().ip().is_loopback() {
check_auth!(request, auth_guard);
}
#[derive(serde_derive::Serialize, serde_derive::Deserialize)]
struct BackupPayload {
@ -213,6 +215,31 @@ fn main() {
}
}
},
(POST) (/import-from-backup) => {
if !request.remote_addr().ip().is_loopback() {
check_auth!(request, auth_guard);
}
#[derive(serde_derive::Serialize, serde_derive::Deserialize)]
struct BackupImportPayload {
path: String,
relations: Vec<String>
}
let payload: BackupImportPayload = try_or_400!(rouille::input::json_input(request));
let result = db.import_from_backup(&payload.path, &payload.relations);
match result {
Ok(()) => {
let ret = json!({"ok": true});
Response::json(&ret)
}
Err(err) => {
let ret = json!({"ok": false, "message": err.to_string()});
Response::json(&ret).with_status_code(400)
}
}
},
(GET) (/) => {
Response::html(HTML_CONTENT)
},

Loading…
Cancel
Save