Implement request deletion

This commit is contained in:
Gregory Schier
2023-02-27 15:42:06 -08:00
parent 35b04b219f
commit f0835acb33
7 changed files with 90 additions and 8 deletions

View File

@@ -193,6 +193,21 @@ async fn update_request(
Ok(())
}
#[tauri::command]
async fn delete_request(
app_handle: AppHandle<Wry>,
db_instance: State<'_, Mutex<Pool<Sqlite>>>,
request_id: &str,
) -> Result<models::HttpRequest, String> {
let pool = &*db_instance.lock().await;
let req = models::delete_request(request_id, pool)
.await
.expect("Failed to delete request");
app_handle.emit_all("deleted_request", request_id).unwrap();
Ok(req)
}
#[tauri::command]
async fn requests(
workspace_id: &str,
@@ -324,6 +339,7 @@ fn main() {
send_request,
create_request,
update_request,
delete_request,
responses,
delete_response,
delete_all_responses,

View File

@@ -187,6 +187,23 @@ pub async fn get_request(id: &str, pool: &Pool<Sqlite>) -> Result<HttpRequest, s
.await
}
pub async fn delete_request(id: &str, pool: &Pool<Sqlite>) -> Result<HttpRequest, sqlx::Error> {
let req = get_request(id, pool)
.await
.expect("Failed to get request to delete");
let _ = sqlx::query!(
r#"
DELETE FROM http_requests
WHERE id = ?
"#,
id,
)
.execute(pool)
.await;
Ok(req)
}
pub async fn create_response(
request_id: &str,
elapsed: i64,