소스 검색

add files

blezz-tech 1 개월 전
부모
커밋
24ae80f2ca
3개의 변경된 파일40개의 추가작업 그리고 3개의 파일을 삭제
  1. 5 0
      lib/core.py
  2. 31 0
      lib/ejabberd.py
  3. 4 3
      serializer/orders.py

+ 5 - 0
lib/core.py

@@ -0,0 +1,5 @@
+
+
+def choose_support():
+    return "support"
+

+ 31 - 0
lib/ejabberd.py

@@ -0,0 +1,31 @@
+from core.settings_vars import EJ_URL, DEBUG
+import requests
+
+
+def ej_execute(command, data):
+    """
+    API request to jabber server
+    """
+    url = EJ_URL + command
+    if DEBUG: print(f"[URL]: {url}")
+    res = requests.post(url, json=data)
+    return res
+
+
+def get_rooms(service, order_num, support, client, provider):
+    """
+    Create names and member list for each room.
+    Returns a dict {room_name: ("member1", "member2", ...)}
+    """
+    service = service.lower()
+    # Set room names
+    room_name1 = "_".join(str(attr) for attr in (service, order_num, client, support))
+    room_name2 = "_".join(str(attr) for attr in (service, order_num, client, "with", provider))
+    room_name3 = "_".join(str(attr) for attr in (service, order_num, provider, support))
+    # Set room participants
+    rooms = {
+       room_name1: ("client", "support", "owner"),
+       room_name2: ("client", "provider", "owner"),
+       room_name3: ("provider", "support", "owner"),
+    }
+    return rooms

+ 4 - 3
serializer/orders.py

@@ -1,8 +1,9 @@
 from rest_framework import serializers
 from dbsynce.models import Orders
 from tickets.models import Ticket, TicketList
-from dbsynce.ejabber import *
-from core.config import DEBUG, WEBSERVICE_NAME, EJ_HOST, EJ_SERVICE
+from dbsynce.lib.core import *
+from dbsynce.lib.ejabberd import *
+from core.settings_vars import DEBUG, WEBSERVICE_NAME, EJ_HOST, EJ_SERVICE
 import traceback
 import requests
     
@@ -61,7 +62,7 @@ class OrdersSerializer(serializers.ModelSerializer):
             if DEBUG: print("[CREATING EJABBER ROOMS]")
             # Get neccessary data
             order_num = instance.pk
-            support = pick_support()
+            support = choose_support()
             client = instance.client_id.user.phone_number
             provider = instance.provider.user_id.phone_number