37 lines
833 B
Python
37 lines
833 B
Python
from attrs import define
|
|
from fastapi import WebSocket
|
|
from ..objects.webmessage import (
|
|
webmessages_union,
|
|
webmessage_error_message_literal,
|
|
WebErrorMessage,
|
|
WebUserMessage
|
|
)
|
|
|
|
|
|
@define
|
|
class Connection(object):
|
|
ws: WebSocket
|
|
username: str
|
|
public_key: str
|
|
|
|
async def send_webmessage(self, obj: webmessages_union):
|
|
await self.ws.send_text(obj.to_json())
|
|
|
|
async def send_error(
|
|
self,
|
|
error_message: webmessage_error_message_literal
|
|
):
|
|
await self.send_webmessage(
|
|
WebErrorMessage(
|
|
error_message=error_message
|
|
)
|
|
)
|
|
|
|
async def send_connect(self):
|
|
await self.send_webmessage(
|
|
WebUserMessage(
|
|
type="connect",
|
|
username=self.username
|
|
)
|
|
)
|