From 6e391d2875839ab8a2c2607c4c2c6cfa859c134a Mon Sep 17 00:00:00 2001 From: antifallobst Date: Tue, 14 Nov 2023 11:16:30 +0100 Subject: [PATCH] refactor: removed warnings and added sqlx offline data --- ...685dcb9d365a2efd5e28a3d423c5e20fb2aa9.json | 12 +++++ ...7c3ca61615a27015ab256bb2f656522f77e9e.json | 20 +++++++++ ...c71701821bd2da9a9689c7ca966cf1820e25e.json | 12 +++++ ...6186ca15f1b2f3a5f613bb8a79518c0ca97af.json | 12 +++++ ...9bf6381b63431b71db7faf8afb8444755f7aa.json | 12 +++++ ...22ee9fc1634bd7eaee23a90cac8519277dc0b.json | 32 ++++++++++++++ ...d2afc3bfbddf54bd4c9553eb654be6a51d797.json | 12 +++++ ...eff15f7f070a79831e2a1802261aeaac8263f.json | 44 +++++++++++++++++++ ...a79d8e5f3682f846402bb59e9a6d497e0b94d.json | 44 +++++++++++++++++++ ...4d18b682fb916223d47a3a8f012a4bb8608d4.json | 32 ++++++++++++++ ...7eca81d9d0103f4d3a2632a98c59c2b90b16c.json | 12 +++++ src/api/handlers.rs | 2 +- src/backend/backup/worker/mod.rs | 20 ++++----- 13 files changed, 253 insertions(+), 13 deletions(-) create mode 100644 .sqlx/query-3bad8ca7685e12be00334129267685dcb9d365a2efd5e28a3d423c5e20fb2aa9.json create mode 100644 .sqlx/query-44f8794faff536269fabe40149c7c3ca61615a27015ab256bb2f656522f77e9e.json create mode 100644 .sqlx/query-696690d3ff3d908b024461d329fc71701821bd2da9a9689c7ca966cf1820e25e.json create mode 100644 .sqlx/query-98b8070302ad60e069a0fca1a196186ca15f1b2f3a5f613bb8a79518c0ca97af.json create mode 100644 .sqlx/query-b818d43e93cebcb4e4e1eacf21f9bf6381b63431b71db7faf8afb8444755f7aa.json create mode 100644 .sqlx/query-c134c45fc0a42bfcfd7c2ac504822ee9fc1634bd7eaee23a90cac8519277dc0b.json create mode 100644 .sqlx/query-d376ade8293ebf4fa6613619b53d2afc3bfbddf54bd4c9553eb654be6a51d797.json create mode 100644 .sqlx/query-e66fa65c7176524454b2a1a0387eff15f7f070a79831e2a1802261aeaac8263f.json create mode 100644 .sqlx/query-eb6915bb8b1a2c1d5d7aa56034da79d8e5f3682f846402bb59e9a6d497e0b94d.json create mode 100644 .sqlx/query-f62b62651ece72dc8651d4ff7824d18b682fb916223d47a3a8f012a4bb8608d4.json create mode 100644 .sqlx/query-f8e9460c4c97456346b677a35d07eca81d9d0103f4d3a2632a98c59c2b90b16c.json diff --git a/.sqlx/query-3bad8ca7685e12be00334129267685dcb9d365a2efd5e28a3d423c5e20fb2aa9.json b/.sqlx/query-3bad8ca7685e12be00334129267685dcb9d365a2efd5e28a3d423c5e20fb2aa9.json new file mode 100644 index 0000000..f165b4e --- /dev/null +++ b/.sqlx/query-3bad8ca7685e12be00334129267685dcb9d365a2efd5e28a3d423c5e20fb2aa9.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "INSERT INTO Presets (id, description, config) VALUES ($1, $2, $3);", + "describe": { + "columns": [], + "parameters": { + "Right": 3 + }, + "nullable": [] + }, + "hash": "3bad8ca7685e12be00334129267685dcb9d365a2efd5e28a3d423c5e20fb2aa9" +} diff --git a/.sqlx/query-44f8794faff536269fabe40149c7c3ca61615a27015ab256bb2f656522f77e9e.json b/.sqlx/query-44f8794faff536269fabe40149c7c3ca61615a27015ab256bb2f656522f77e9e.json new file mode 100644 index 0000000..dc80e3c --- /dev/null +++ b/.sqlx/query-44f8794faff536269fabe40149c7c3ca61615a27015ab256bb2f656522f77e9e.json @@ -0,0 +1,20 @@ +{ + "db_name": "SQLite", + "query": "INSERT INTO Backups (time, config, path, status) VALUES($1, $2, $3, $4) RETURNING id;", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + } + ], + "parameters": { + "Right": 4 + }, + "nullable": [ + false + ] + }, + "hash": "44f8794faff536269fabe40149c7c3ca61615a27015ab256bb2f656522f77e9e" +} diff --git a/.sqlx/query-696690d3ff3d908b024461d329fc71701821bd2da9a9689c7ca966cf1820e25e.json b/.sqlx/query-696690d3ff3d908b024461d329fc71701821bd2da9a9689c7ca966cf1820e25e.json new file mode 100644 index 0000000..648a45b --- /dev/null +++ b/.sqlx/query-696690d3ff3d908b024461d329fc71701821bd2da9a9689c7ca966cf1820e25e.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "\n CREATE TABLE IF NOT EXISTS Backups (\n id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\n time INTEGER NOT NULL,\n config TEXT NOT NULL,\n path TEXT NOT NULL,\n status TEXT NOT NULL\n );\n ", + "describe": { + "columns": [], + "parameters": { + "Right": 0 + }, + "nullable": [] + }, + "hash": "696690d3ff3d908b024461d329fc71701821bd2da9a9689c7ca966cf1820e25e" +} diff --git a/.sqlx/query-98b8070302ad60e069a0fca1a196186ca15f1b2f3a5f613bb8a79518c0ca97af.json b/.sqlx/query-98b8070302ad60e069a0fca1a196186ca15f1b2f3a5f613bb8a79518c0ca97af.json new file mode 100644 index 0000000..260b66d --- /dev/null +++ b/.sqlx/query-98b8070302ad60e069a0fca1a196186ca15f1b2f3a5f613bb8a79518c0ca97af.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "UPDATE Backups SET status = $1 WHERE id = $2;", + "describe": { + "columns": [], + "parameters": { + "Right": 2 + }, + "nullable": [] + }, + "hash": "98b8070302ad60e069a0fca1a196186ca15f1b2f3a5f613bb8a79518c0ca97af" +} diff --git a/.sqlx/query-b818d43e93cebcb4e4e1eacf21f9bf6381b63431b71db7faf8afb8444755f7aa.json b/.sqlx/query-b818d43e93cebcb4e4e1eacf21f9bf6381b63431b71db7faf8afb8444755f7aa.json new file mode 100644 index 0000000..ce52a83 --- /dev/null +++ b/.sqlx/query-b818d43e93cebcb4e4e1eacf21f9bf6381b63431b71db7faf8afb8444755f7aa.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "\n CREATE TABLE IF NOT EXISTS Presets (\n id VARCHAR(32) NOT NULL,\n description TEXT,\n config TEXT NOT NULL,\n\t PRIMARY KEY(id)\n );\n ", + "describe": { + "columns": [], + "parameters": { + "Right": 0 + }, + "nullable": [] + }, + "hash": "b818d43e93cebcb4e4e1eacf21f9bf6381b63431b71db7faf8afb8444755f7aa" +} diff --git a/.sqlx/query-c134c45fc0a42bfcfd7c2ac504822ee9fc1634bd7eaee23a90cac8519277dc0b.json b/.sqlx/query-c134c45fc0a42bfcfd7c2ac504822ee9fc1634bd7eaee23a90cac8519277dc0b.json new file mode 100644 index 0000000..80a5dfe --- /dev/null +++ b/.sqlx/query-c134c45fc0a42bfcfd7c2ac504822ee9fc1634bd7eaee23a90cac8519277dc0b.json @@ -0,0 +1,32 @@ +{ + "db_name": "SQLite", + "query": "SELECT * FROM Presets;", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Text" + }, + { + "name": "description", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "config", + "ordinal": 2, + "type_info": "Text" + } + ], + "parameters": { + "Right": 0 + }, + "nullable": [ + false, + true, + false + ] + }, + "hash": "c134c45fc0a42bfcfd7c2ac504822ee9fc1634bd7eaee23a90cac8519277dc0b" +} diff --git a/.sqlx/query-d376ade8293ebf4fa6613619b53d2afc3bfbddf54bd4c9553eb654be6a51d797.json b/.sqlx/query-d376ade8293ebf4fa6613619b53d2afc3bfbddf54bd4c9553eb654be6a51d797.json new file mode 100644 index 0000000..083cb6e --- /dev/null +++ b/.sqlx/query-d376ade8293ebf4fa6613619b53d2afc3bfbddf54bd4c9553eb654be6a51d797.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "UPDATE Backups SET path = $1 WHERE id = $2;", + "describe": { + "columns": [], + "parameters": { + "Right": 2 + }, + "nullable": [] + }, + "hash": "d376ade8293ebf4fa6613619b53d2afc3bfbddf54bd4c9553eb654be6a51d797" +} diff --git a/.sqlx/query-e66fa65c7176524454b2a1a0387eff15f7f070a79831e2a1802261aeaac8263f.json b/.sqlx/query-e66fa65c7176524454b2a1a0387eff15f7f070a79831e2a1802261aeaac8263f.json new file mode 100644 index 0000000..a88df5a --- /dev/null +++ b/.sqlx/query-e66fa65c7176524454b2a1a0387eff15f7f070a79831e2a1802261aeaac8263f.json @@ -0,0 +1,44 @@ +{ + "db_name": "SQLite", + "query": "SELECT * FROM Backups;", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "time", + "ordinal": 1, + "type_info": "Int64" + }, + { + "name": "config", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "path", + "ordinal": 3, + "type_info": "Text" + }, + { + "name": "status", + "ordinal": 4, + "type_info": "Text" + } + ], + "parameters": { + "Right": 0 + }, + "nullable": [ + false, + false, + false, + false, + false + ] + }, + "hash": "e66fa65c7176524454b2a1a0387eff15f7f070a79831e2a1802261aeaac8263f" +} diff --git a/.sqlx/query-eb6915bb8b1a2c1d5d7aa56034da79d8e5f3682f846402bb59e9a6d497e0b94d.json b/.sqlx/query-eb6915bb8b1a2c1d5d7aa56034da79d8e5f3682f846402bb59e9a6d497e0b94d.json new file mode 100644 index 0000000..d2edfac --- /dev/null +++ b/.sqlx/query-eb6915bb8b1a2c1d5d7aa56034da79d8e5f3682f846402bb59e9a6d497e0b94d.json @@ -0,0 +1,44 @@ +{ + "db_name": "SQLite", + "query": "SELECT * FROM Backups WHERE id = $1;", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "time", + "ordinal": 1, + "type_info": "Int64" + }, + { + "name": "config", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "path", + "ordinal": 3, + "type_info": "Text" + }, + { + "name": "status", + "ordinal": 4, + "type_info": "Text" + } + ], + "parameters": { + "Right": 1 + }, + "nullable": [ + false, + false, + false, + false, + false + ] + }, + "hash": "eb6915bb8b1a2c1d5d7aa56034da79d8e5f3682f846402bb59e9a6d497e0b94d" +} diff --git a/.sqlx/query-f62b62651ece72dc8651d4ff7824d18b682fb916223d47a3a8f012a4bb8608d4.json b/.sqlx/query-f62b62651ece72dc8651d4ff7824d18b682fb916223d47a3a8f012a4bb8608d4.json new file mode 100644 index 0000000..fc0be88 --- /dev/null +++ b/.sqlx/query-f62b62651ece72dc8651d4ff7824d18b682fb916223d47a3a8f012a4bb8608d4.json @@ -0,0 +1,32 @@ +{ + "db_name": "SQLite", + "query": "SELECT * FROM Presets WHERE id = $1;", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Text" + }, + { + "name": "description", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "config", + "ordinal": 2, + "type_info": "Text" + } + ], + "parameters": { + "Right": 1 + }, + "nullable": [ + false, + true, + false + ] + }, + "hash": "f62b62651ece72dc8651d4ff7824d18b682fb916223d47a3a8f012a4bb8608d4" +} diff --git a/.sqlx/query-f8e9460c4c97456346b677a35d07eca81d9d0103f4d3a2632a98c59c2b90b16c.json b/.sqlx/query-f8e9460c4c97456346b677a35d07eca81d9d0103f4d3a2632a98c59c2b90b16c.json new file mode 100644 index 0000000..5733fdc --- /dev/null +++ b/.sqlx/query-f8e9460c4c97456346b677a35d07eca81d9d0103f4d3a2632a98c59c2b90b16c.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "DELETE FROM Presets WHERE id = $1;", + "describe": { + "columns": [], + "parameters": { + "Right": 1 + }, + "nullable": [] + }, + "hash": "f8e9460c4c97456346b677a35d07eca81d9d0103f4d3a2632a98c59c2b90b16c" +} diff --git a/src/api/handlers.rs b/src/api/handlers.rs index d05a338..4786a06 100644 --- a/src/api/handlers.rs +++ b/src/api/handlers.rs @@ -19,7 +19,7 @@ pub async fn backup_create( BackupCreateRequest::Config(cfg) => cfg.into(), }; - let backup = backup::Backup::new(pool, tx, config).await?; + let _backup = backup::Backup::new(pool, tx, config).await?; Ok(BackupCreateResponse::Success) } diff --git a/src/backend/backup/worker/mod.rs b/src/backend/backup/worker/mod.rs index cdda721..3b707b8 100644 --- a/src/backend/backup/worker/mod.rs +++ b/src/backend/backup/worker/mod.rs @@ -3,10 +3,10 @@ use anyhow::{bail, Context, Result}; use log::{error, info}; use sqlx::SqlitePool; use std::fs::File; -use std::io::{copy, BufReader, Write}; +use std::io::{copy, BufReader}; use std::path::Path; use tokio::sync::mpsc; -use walkdir::{DirEntry, WalkDir}; +use walkdir::WalkDir; use zip::{write::FileOptions, CompressionMethod, ZipWriter}; fn add_dir_to_archive( @@ -19,12 +19,11 @@ fn add_dir_to_archive( .into_iter() .filter_map(|e| e.ok()) { - let fname = entry.file_name(); - let ftype = entry.file_type(); + let file_type = entry.file_type(); - if ftype.is_dir() { + if file_type.is_dir() { archive.add_directory(entry.path().to_string_lossy(), options)?; - } else if ftype.is_file() { + } else if file_type.is_file() { archive.start_file(entry.path().to_string_lossy(), options)?; let mut reader = BufReader::new(File::open(entry.path())?); copy(&mut reader, archive)?; @@ -33,7 +32,7 @@ fn add_dir_to_archive( Ok(()) } -fn perform_backup(backup: backup::Backup, pool: SqlitePool) -> Result<()> { +fn perform_backup(backup: backup::Backup) -> Result<()> { let host = env!("NC_AW_HOST_PATH"); let archive_file = File::create(&backup.path)?; let mut archive = ZipWriter::new(archive_file); @@ -57,7 +56,7 @@ fn perform_backup(backup: backup::Backup, pool: SqlitePool) -> Result<()> { bail!("The config option 'mail_server' is not implemented yet!"); } - if let Some(cfg) = &backup.config.docker { + if let Some(_cfg) = &backup.config.docker { info!("Starting docker backup..."); bail!("The config option 'docker' is not implemented yet!"); } @@ -87,10 +86,7 @@ pub async fn start(pool: SqlitePool) -> Result> { .expect("Failed to set backup status!"); let cloned_backup = backup.clone(); - let cloned_pool = pool.clone(); - match tokio::task::spawn_blocking(|| perform_backup(cloned_backup, cloned_pool)) - .await? - { + match tokio::task::spawn_blocking(|| perform_backup(cloned_backup)).await? { Ok(_) => (), Err(e) => { tokio::fs::remove_file(backup.path).await?;