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}")
|
||||
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
|
||||
# ------
|
||||
|
|
|
|||
Loading…
Reference in New Issue