GitHub Action commited on
Commit
64dc4f8
·
1 Parent(s): ff4bc35

Sync from GitHub with Git LFS

Browse files
Files changed (1) hide show
  1. agents/tools/storage.py +18 -0
agents/tools/storage.py CHANGED
@@ -883,6 +883,24 @@ class Storage:
883
  # Работа с пирам (agent_peers)
884
  def add_or_update_peer(self, peer_id, name, addresses, source="discovery", status="unknown"):
885
  c = self.conn.cursor()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
886
  c.execute("""
887
  INSERT INTO agent_peers (id, name, addresses, source, status, last_seen)
888
  VALUES (?, ?, ?, ?, ?, ?)
 
883
  # Работа с пирам (agent_peers)
884
  def add_or_update_peer(self, peer_id, name, addresses, source="discovery", status="unknown"):
885
  c = self.conn.cursor()
886
+
887
+ # ищем существующий peer по любому совпадающему адресу
888
+ c.execute("SELECT id, addresses FROM agent_peers")
889
+ rows = c.fetchall()
890
+ existing_id = None
891
+ for row in rows:
892
+ db_id, db_addresses_json = row
893
+ try:
894
+ db_addresses = json.loads(db_addresses_json)
895
+ except Exception:
896
+ db_addresses = []
897
+ if any(addr in db_addresses for addr in addresses):
898
+ existing_id = db_id
899
+ break
900
+
901
+ if existing_id:
902
+ peer_id = existing_id # используем существующий ID
903
+
904
  c.execute("""
905
  INSERT INTO agent_peers (id, name, addresses, source, status, last_seen)
906
  VALUES (?, ?, ?, ?, ?, ?)