Explorar o código

fix generate api key for handlers

blezz-tech hai 1 día
pai
achega
c7000c65d3
Modificáronse 1 ficheiros con 13 adicións e 12 borrados
  1. 13 12
      lib/seed.py

+ 13 - 12
lib/seed.py

@@ -1,6 +1,5 @@
 from rest_framework_api_key.models import APIKey
-from webservice_running.handlers.config import BOTLIST
-
+from platform_running.handlers.config import BOTLIST
 
 def create_webservice_seed():
     create_api_key_for_handlers()
@@ -9,20 +8,22 @@ def create_api_key_for_handlers():
     api_key_list = []
 
     for botname in BOTLIST:
-        keys_to_revoke = APIKey.objects.filter(name="botname", revoked=False)
-
-        # Отзываем каждый ключ
-        for key in keys_to_revoke:
-            key.revoked = True
-            key.save()
-
+        existing_keys = APIKey.objects.filter(name=botname, revoked=False)
+        if existing_keys.exists():
+            # Делаем все старые ключи для этого бота неактивными (revoked)
+            for old_key in existing_keys:
+                old_key.revoked = True
+                old_key.save()
+            print(f"Старые ключи для {botname} устарели (revoked).")
+
+        # Создаем новый ключ
         api_key, key = APIKey.objects.create_key(name=botname)
         api_key_list.append([botname, key])
-        print(f"Initial API Key for {botname} handler created.")
+        print(f"Новый API Key для {botname} создан.")
 
+    # Формируем строки вида botname_key=ключ
     api_key_list = list(map(lambda x: x[0] + '_key=' + x[1], api_key_list))
     txt = '\n'.join(api_key_list)
 
-    with open('webservice_running/handlers/.env', 'w') as f:
+    with open('platform_running/handlers/.env', 'w') as f:
         f.write(txt)
-