2023-12-17 17:13:17 +00:00
|
|
|
from typing import List, Optional, TypedDict
|
2023-10-14 14:55:51 +00:00
|
|
|
|
2023-11-22 12:09:24 +00:00
|
|
|
from models.member import ChatMember
|
|
|
|
from models.message import Message
|
2023-10-14 14:55:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
class Chat(TypedDict):
|
|
|
|
id: str
|
|
|
|
members: List[int]
|
|
|
|
admins: List[int]
|
|
|
|
title: str
|
2023-11-16 14:58:14 +00:00
|
|
|
updated_at: Optional[int]
|
|
|
|
created_at: int
|
|
|
|
created_by: int
|
2023-10-14 14:55:51 +00:00
|
|
|
description: Optional[str]
|
|
|
|
|
|
|
|
|
|
|
|
class ChatPayload(TypedDict):
|
|
|
|
id: str
|
|
|
|
members: List[int | ChatMember]
|
|
|
|
admins: List[int]
|
|
|
|
title: str
|
2023-11-16 14:58:14 +00:00
|
|
|
updated_at: Optional[int]
|
|
|
|
created_at: int
|
|
|
|
created_by: int
|
2023-10-14 14:55:51 +00:00
|
|
|
description: Optional[str]
|
|
|
|
messages: Optional[List[Message]]
|
2023-12-18 00:15:59 +00:00
|
|
|
unread: Optional[int] # counter
|
2023-10-14 14:55:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
class ChatUpdate(TypedDict):
|
|
|
|
id: str
|
|
|
|
members: List[int]
|
|
|
|
admins: List[int]
|
|
|
|
title: str
|
|
|
|
description: Optional[str]
|