mirror of https://github.com/yupix/mipac
parent
45c2479879
commit
3a9707f5f2
@ -1,37 +1,47 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
from typing import TYPE_CHECKING
|
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.types.mute import IMuteUser
|
||||||
|
from mipac.utils.format import str_to_datetime
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from mipac.manager.client import ClientManager
|
from mipac.manager.client import ClientManager
|
||||||
|
|
||||||
|
|
||||||
class MuteUser:
|
class MuteUser:
|
||||||
def __init__(self, data: IMuteUser, *, client: ClientManager) -> None:
|
def __init__(self, raw_mute_user: IMuteUser, *, client: ClientManager) -> None:
|
||||||
self.__data: IMuteUser = data
|
self.__raw_mute_user: IMuteUser = raw_mute_user
|
||||||
self.__client: ClientManager = client
|
self.__client: ClientManager = client
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def id(self) -> str:
|
def id(self) -> str:
|
||||||
return self.__data["id"]
|
return self.__raw_mute_user["id"]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def created_at(self) -> str:
|
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
|
@property
|
||||||
def mutee_id(self) -> str:
|
def mutee_id(self) -> str:
|
||||||
return self.__data["mutee_id"]
|
return self.__raw_mute_user["mutee_id"]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def mutee(self) -> UserDetailedNotMe | MeDetailed:
|
def mutee(self) -> UserDetailedNotMe:
|
||||||
return packed_user(self.__data["mutee"], client=self.__client)
|
return UserDetailedNotMe(self.__raw_mute_user["mutee"], client=self.__client)
|
||||||
|
|
||||||
def __eq__(self, __value: MuteUser) -> bool:
|
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:
|
def __ne__(self, __value: MuteUser) -> bool:
|
||||||
return not self.__eq__(__value)
|
return not self.__eq__(__value)
|
||||||
|
Loading…
Reference in new issue