rename endpoint

This commit is contained in:
Andreas Knuth 2025-01-16 00:18:07 +00:00
parent 8baef6047b
commit f3cd175ae6
1 changed files with 35 additions and 0 deletions

View File

@ -217,6 +217,41 @@ def delete_deck(deckname):
logger.error(f"Datenbankfehler beim Löschen des Decks '{deckname}': {e}") logger.error(f"Datenbankfehler beim Löschen des Decks '{deckname}': {e}")
return jsonify({'error': 'Database error', 'details': str(e)}), 500 return jsonify({'error': 'Database error', 'details': str(e)}), 500
@deck_bp.route('/api/decks/<old_deckname>/rename', methods=['PUT'])
def rename_deck(old_deckname):
conn = get_db_connection()
cursor = conn.cursor()
try:
# Überprüfen, ob das Deck existiert
cursor.execute('SELECT COUNT(*) as count FROM Deck WHERE deckname = ?', (old_deckname,))
result = cursor.fetchone()
if result['count'] == 0:
conn.close()
return jsonify({'error': 'Deck not found'}), 404
# Neuen Decknamen aus dem Request-Body holen
new_deckname = request.json.get('newDeckName')
if not new_deckname:
conn.close()
return jsonify({'error': 'New deck name is required'}), 400
# Überprüfen, ob der neue Deckname bereits existiert
cursor.execute('SELECT COUNT(*) as count FROM Deck WHERE deckname = ?', (new_deckname,))
result = cursor.fetchone()
if result['count'] > 0:
conn.close()
return jsonify({'error': 'Deck with the new name already exists'}), 409
# Deck umbenennen
cursor.execute('UPDATE Deck SET deckname = ? WHERE deckname = ?', (new_deckname, old_deckname))
conn.commit()
conn.close()
return jsonify({'status': 'success', 'message': 'Deck renamed successfully'}), 200
except sqlite3.Error as e:
conn.close()
logger.error(f"Datenbankfehler beim Umbenennen des Decks '{old_deckname}': {e}")
return jsonify({'error': 'Database error', 'details': str(e)}), 500
# ------ # ------
# Image - POST, GET, DELETE # Image - POST, GET, DELETE
# ------ # ------