73 lines
2.0 KiB
Python
73 lines
2.0 KiB
Python
"""Compatibility facade for Ariadne comms workflows."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
import httpx
|
|
import psycopg
|
|
|
|
from ..settings import settings
|
|
from ..utils.name_generator import NameGenerator
|
|
from .comms_guest import CommsGuestService
|
|
from .comms_room import CommsRoomService
|
|
from .comms_support import (
|
|
CommsSummary,
|
|
DisplayNameTarget,
|
|
MasGuestResult,
|
|
SynapseGuestResult,
|
|
SynapseUserRef,
|
|
_auth,
|
|
_canon_user,
|
|
_needs_rename_display,
|
|
_needs_rename_username,
|
|
)
|
|
|
|
__all__ = [
|
|
"CommsService",
|
|
"CommsSummary",
|
|
"DisplayNameTarget",
|
|
"MasGuestResult",
|
|
"SynapseGuestResult",
|
|
"SynapseUserRef",
|
|
"_auth",
|
|
"_canon_user",
|
|
"_needs_rename_display",
|
|
"_needs_rename_username",
|
|
"psycopg",
|
|
"comms",
|
|
]
|
|
|
|
|
|
class CommsService:
|
|
"""Keep the historical comms API while delegating to focused helpers."""
|
|
|
|
def __init__(
|
|
self,
|
|
client_factory: type[httpx.Client] = httpx.Client,
|
|
name_generator: NameGenerator | None = None,
|
|
) -> None:
|
|
self._client_factory = client_factory
|
|
self._name_generator = name_generator or NameGenerator()
|
|
self._guest = CommsGuestService(client_factory, settings, self._name_generator)
|
|
self._room = CommsRoomService(client_factory, settings)
|
|
|
|
def run_guest_name_randomizer(self, wait: bool = True) -> dict[str, Any]:
|
|
self._guest._db_rename_numeric = self._db_rename_numeric
|
|
return self._guest.run_guest_name_randomizer(wait=wait)
|
|
|
|
def run_pin_invite(self, wait: bool = True) -> dict[str, Any]:
|
|
return self._room.run_pin_invite(wait=wait)
|
|
|
|
def run_reset_room(self, wait: bool = True) -> dict[str, Any]:
|
|
return self._room.run_reset_room(wait=wait)
|
|
|
|
def run_seed_room(self, wait: bool = True) -> dict[str, Any]:
|
|
return self._room.run_seed_room(wait=wait)
|
|
|
|
def _db_rename_numeric(self, existing: set[str]) -> int:
|
|
return self._guest._db_rename_numeric(existing)
|
|
|
|
|
|
comms = CommsService()
|