Implement XMPP relaying

This commit is contained in:
2025-02-21 21:34:47 +00:00
parent 018d2f87c7
commit 8d2f28f571
17 changed files with 941 additions and 77 deletions

View File

@@ -5,12 +5,21 @@ from rest_framework import status
from django.http import HttpResponse
from core.models import QueuedMessage, Message
from core.forms import QueueForm
import requests
import orjson
from django.conf import settings
import redis
import msgpack
from mixins.views import (
ObjectCreate,
ObjectDelete,
ObjectList,
ObjectUpdate,
)
# def start_typing(uuid):
# url = f"http://signal:8080/v1/typing_indicator/{settings.SIGNAL_NUMBER}"
# data = {
@@ -54,4 +63,32 @@ class RejectMessageAPI(LoginRequiredMixin, APIView):
message.delete()
return HttpResponse(status=status.HTTP_200_OK)
return HttpResponse(status=status.HTTP_200_OK)
class QueueList(LoginRequiredMixin, ObjectList):
list_template = "partials/queue-list.html"
model = QueuedMessage
page_title = "Queues"
list_url_name = "queues"
list_url_args = ["type"]
submit_url_name = "queue_create"
class QueueCreate(LoginRequiredMixin, ObjectCreate):
model = QueuedMessage
form_class = QueueForm
submit_url_name = "queue_create"
class QueueUpdate(LoginRequiredMixin, ObjectUpdate):
model = QueuedMessage
form_class = QueueForm
submit_url_name = "queue_update"
class QueueDelete(LoginRequiredMixin, ObjectDelete):
model = QueuedMessage

View File

@@ -33,7 +33,6 @@ class SignalAccounts(SuperUserRequiredMixin, ObjectList):
url = f"http://signal:8080/v1/accounts"
response = requests.get(url)
accounts = orjson.loads(response.text)
print("ACCOUNTS", accounts)
return accounts
@@ -49,8 +48,6 @@ class SignalContactsList(SuperUserRequiredMixin, ObjectList):
def get_queryset(self, *args, **kwargs):
# url = signal:8080/v1/accounts
print("GET", self.request.GET)
print("KWARGS", self.kwargs)
# /v1/configuration/{number}/settings
# /v1/identities/{number}
# /v1/contacts/{number}
@@ -63,9 +60,6 @@ class SignalContactsList(SuperUserRequiredMixin, ObjectList):
response = requests.get(f"http://signal:8080/v1/contacts/{self.kwargs['pk']}")
contacts = orjson.loads(response.text)
print("identities", identities)
print("contacts", contacts)
# add identities to contacts
for contact in contacts:
for identity in identities: