Merge pull request 'chore: fix bug where entries were not saved, implemented deplete function' (#26) from dev into main

Reviewed-on: #26
This commit was merged in pull request #26.
This commit is contained in:
2025-06-07 09:06:21 +01:00
2 changed files with 16 additions and 13 deletions

View File

@@ -301,18 +301,19 @@ async def log_request():
log.debug(f"Received request data: {data}") log.debug(f"Received request data: {data}")
item = data.get("item") item = data.get("item")
if item: if item:
data = await fetch_requested_data([item]) # data = await fetch_requested_data([item])
if not data: if not data:
return jsonify({"status": "failed", "message": "Item not found"}), 404 return jsonify({"status": "failed", "message": "Item not found"}), 404
data = data[0] # data = data[0]
title = data.get("title") manga_id = item.get("id")
image_url = data.get("image") title = item.get("title")
image_url = item.get("image")
log.debug( log.debug(
f"Logging request for item: {item}, title: {title}, image_url: {image_url}" f"Logging request for item: {item}, title: {title}, image_url: {image_url}, manga_id: {manga_id}"
) )
asynccache = KomCache() asynccache = KomCache()
asynccache.insert( asynccache.insert(
f"INSERT INTO manga_requests (manga_id, title, image) VALUES ({item}, '{title}', :image)", f"INSERT INTO manga_requests (manga_id, title, image) VALUES ({manga_id}, '{title}', :image)",
args={"image": image_url}, args={"image": image_url},
) )
return jsonify({"status": "success"}) return jsonify({"status": "success"})
@@ -343,12 +344,13 @@ async def requests_page():
async def delete_request(): async def delete_request():
# Delete a request from the database. ID is sent after the /delete endpoint, so: /delete/<id> # Delete a request from the database. ID is sent after the /delete endpoint, so: /delete/<id>
data = await request.get_json() data = await request.get_json()
item_id = data.get("item") log.debug(f"Received delete request data: {data}")
if item_id: if data:
title = data.get("title")
asynccache = KomCache() asynccache = KomCache()
asynccache.query( asynccache.delete(
"DELETE FROM manga_requests WHERE manga_id = :id", args={"id": item_id} "DELETE FROM manga_requests WHERE title = :title", args={"title": title}
) )
return jsonify({"status": "success"}) return jsonify({"status": "success"})
return jsonify({"status": "failed"}), 400 return jsonify({"status": "failed"}), 400

View File

@@ -56,7 +56,7 @@
<p>{{ request.title }}</p> <p>{{ request.title }}</p>
<div class="actions"> <div class="actions">
<button onclick="showInfo({{ request | tojson | safe }})" class="info">Info</button> <button onclick="showInfo({{ request | tojson | safe }})" class="info">Info</button>
<button onclick="deleteEntry({{ request.id }})" class="delete-button">Delete</button> <button onclick="deleteEntry('{{ request.title | escape }}')" class="delete-button">Delete</button>
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
@@ -111,10 +111,11 @@
closeModal(); closeModal();
} }
} }
function deleteEntry(entryId) { function deleteEntry(title) {
console.log("Deleting entry with title:", title);
fetch(`/delete`, { fetch(`/delete`, {
method: 'POST', method: 'POST',
body: JSON.stringify({ item: entryId }), body: JSON.stringify({ title: title }), // Send title as part of a JSON object
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }