Implement request deletion

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

View File

@@ -186,6 +186,16 @@
},
"query": "\n INSERT INTO http_requests (id, workspace_id, name, url, method, body, headers, updated_at)\n VALUES (?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)\n ON CONFLICT (id) DO UPDATE SET\n updated_at = CURRENT_TIMESTAMP,\n name = excluded.name,\n method = excluded.method,\n body = excluded.body,\n url = excluded.url\n "
},
"448a1d1f1866ab42c0f81fcf8eb2930bf21dfdd43ca4831bc1a198cf45ac3732": {
"describe": {
"columns": [],
"nullable": [],
"parameters": {
"Right": 1
}
},
"query": "\n DELETE FROM http_requests\n WHERE id = ?\n "
},
"55eae4b20a2c313134579b0ea43bad4dc2dd313db6cd1654f783bac12602db8a": {
"describe": {
"columns": [

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,