feat: MuteUserモデルを更新

pull/109/head
yupix 7 months ago
parent 45c2479879
commit 3a9707f5f2
No known key found for this signature in database
GPG Key ID: 2FF705F5C56D9C06

@ -1,37 +1,47 @@
from __future__ import annotations
from datetime import datetime
from typing import TYPE_CHECKING
from mipac.models.user import MeDetailed, UserDetailedNotMe, packed_user
from mipac.models.user import UserDetailedNotMe
from mipac.types.mute import IMuteUser
from mipac.utils.format import str_to_datetime
if TYPE_CHECKING:
from mipac.manager.client import ClientManager
class MuteUser:
def __init__(self, data: IMuteUser, *, client: ClientManager) -> None:
self.__data: IMuteUser = data
def __init__(self, raw_mute_user: IMuteUser, *, client: ClientManager) -> None:
self.__raw_mute_user: IMuteUser = raw_mute_user
self.__client: ClientManager = client
@property
def id(self) -> str:
return self.__data["id"]
return self.__raw_mute_user["id"]
@property
def created_at(self) -> str:
return self.__data["created_at"]
return self.__raw_mute_user["created_at"]
@property
def expires_at(self) -> datetime | None:
return (
str_to_datetime(self.__raw_mute_user["expires_at"])
if self.__raw_mute_user["expires_at"]
else None
)
@property
def mutee_id(self) -> str:
return self.__data["mutee_id"]
return self.__raw_mute_user["mutee_id"]
@property
def mutee(self) -> UserDetailedNotMe | MeDetailed:
return packed_user(self.__data["mutee"], client=self.__client)
def mutee(self) -> UserDetailedNotMe:
return UserDetailedNotMe(self.__raw_mute_user["mutee"], client=self.__client)
def __eq__(self, __value: MuteUser) -> bool:
return isinstance(__value, IMuteUser) and self.id == __value.id
return isinstance(__value, MuteUser) and self.id == __value.id
def __ne__(self, __value: MuteUser) -> bool:
return not self.__eq__(__value)

@ -9,5 +9,6 @@ if TYPE_CHECKING:
class IMuteUser(TypedDict):
id: str
created_at: str
expires_at: str | None
mutee_id: str
mutee: IUserDetailed

Loading…
Cancel
Save