rename endpoint
This commit is contained in:
parent
8baef6047b
commit
f3cd175ae6
|
|
@ -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
|
||||||
# ------
|
# ------
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue