Add DELETE graphs and PATCH graphs..rename endpoints
This commit is contained in:
parent
196201c681
commit
2a53c4de78
27
app/api.py
27
app/api.py
|
|
@ -74,6 +74,33 @@ def delete_graph(graph_id):
|
|||
return jsonify({"error": f"Не удалось удалить граф {graph_id}."}, 500)
|
||||
|
||||
|
||||
@api.route('/api/graphs', methods=['DELETE'])
|
||||
def delete_all_graphs():
|
||||
"""API endpoint для удаления всех графов."""
|
||||
if graph_history_manager.delete_all_graphs():
|
||||
return jsonify({"message": "Все графы успешно удалены."})
|
||||
else:
|
||||
return jsonify({"error": "Не удалось удалить все графы."}, 500)
|
||||
|
||||
|
||||
@api.route('/api/graphs/<graph_id>/rename', methods=['PATCH'])
|
||||
def rename_graph(graph_id):
|
||||
"""API endpoint для переименования графа."""
|
||||
if not graph_id:
|
||||
return jsonify({"error": "Не указан ID графа для переименования."}, 400)
|
||||
|
||||
data = request.get_json()
|
||||
new_title = data.get("title")
|
||||
|
||||
if not new_title or not new_title.strip():
|
||||
return jsonify({"error": "Название не может быть пустым."}, 400)
|
||||
|
||||
if graph_history_manager.rename_graph(graph_id, new_title.strip()):
|
||||
return jsonify({"message": f"Граф {graph_id} успешно переименован."})
|
||||
else:
|
||||
return jsonify({"error": f"Не удалось переименовать граф {graph_id}."}, 500)
|
||||
|
||||
|
||||
@api.route('/api/graphs/<graph_id>/nodes/<node_id>', methods=['DELETE'])
|
||||
def delete_graph_node(graph_id, node_id):
|
||||
"""API endpoint для удаления узла графа."""
|
||||
|
|
|
|||
|
|
@ -326,6 +326,34 @@ class GraphHistoryManager:
|
|||
print(f"Ошибка при удалении графа: {e}")
|
||||
return False
|
||||
|
||||
def delete_all_graphs(self) -> bool: # ДОБАВЛЕНО
|
||||
"""Удаляет все графы из базы данных."""
|
||||
with self._get_connection() as conn:
|
||||
cursor = conn.cursor()
|
||||
try:
|
||||
cursor.execute("DELETE FROM graphs")
|
||||
conn.commit()
|
||||
return True
|
||||
except Exception as e:
|
||||
conn.rollback()
|
||||
print(f"Ошибка при удалении всех графов: {e}")
|
||||
return False
|
||||
|
||||
def rename_graph(self, graph_id: str, new_title: str) -> bool: # ДОБАВЛЕНО
|
||||
"""Переименовывает граф, устанавливая пользовательское название."""
|
||||
with self._get_connection() as conn:
|
||||
cursor = conn.cursor()
|
||||
try:
|
||||
cursor.execute(
|
||||
"UPDATE graphs SET title = ?, title_generated = TRUE WHERE id = ?",
|
||||
(new_title, graph_id))
|
||||
conn.commit()
|
||||
return cursor.rowcount > 0
|
||||
except Exception as e:
|
||||
conn.rollback()
|
||||
print(f"Ошибка при переименовании графа: {e}")
|
||||
return False
|
||||
|
||||
def delete_node(self, graph_id: str, node_id: str) -> bool:
|
||||
"""
|
||||
Удаляет узел из графа и переподключает его родителей к его детям.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user