2019-06-27 02:31:03 -04:00
|
|
|
from datetime import datetime
|
|
|
|
from typing import Dict, Optional
|
|
|
|
|
|
|
|
from dataclasses import dataclass, field
|
|
|
|
|
|
|
|
from .event import Event
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
class RoomUpdated(Event):
|
2019-06-28 18:12:45 -04:00
|
|
|
user_id: str = field()
|
|
|
|
category: str = field()
|
2019-06-27 02:31:03 -04:00
|
|
|
room_id: str = field()
|
|
|
|
display_name: Optional[str] = None
|
|
|
|
avatar_url: Optional[str] = None
|
|
|
|
topic: Optional[str] = None
|
|
|
|
last_event_date: Optional[datetime] = None
|
|
|
|
|
2019-06-28 18:12:45 -04:00
|
|
|
inviter: Optional[str] = None
|
2019-06-27 02:31:03 -04:00
|
|
|
left_event: Optional[Dict[str, str]] = None
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
class RoomDeleted(Event):
|
2019-06-28 18:12:45 -04:00
|
|
|
user_id: str = field()
|
|
|
|
category: str = field()
|
|
|
|
room_id: str = field()
|
2019-06-27 02:31:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
class RoomMemberUpdated(Event):
|
|
|
|
room_id: str = field()
|
|
|
|
user_id: str = field()
|
|
|
|
typing: bool = field()
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
class RoomMemberDeleted(Event):
|
|
|
|
room_id: str = field()
|
|
|
|
user_id: str = field()
|