chore!: BlockingUserモデルを削除

pull/109/head
yupix 7 months ago
parent b44336d235
commit 59f78676ed
No known key found for this signature in database
GPG Key ID: 2FF705F5C56D9C06

@ -4,8 +4,10 @@ from typing import TYPE_CHECKING, AsyncGenerator, override
from mipac.abstract.action import AbstractAction
from mipac.http import HTTPClient, Route
from mipac.models.user import BlockingUser, MeDetailed, UserDetailedNotMe, packed_user
from mipac.types.user import IBlockingUser, IUserDetailed
from mipac.models.blocking import Blocking
from mipac.models.user import MeDetailed, UserDetailedNotMe, packed_user
from mipac.types.blocking import IBlocking
from mipac.types.user import IUserDetailed
from mipac.utils.pagination import Pagination
if TYPE_CHECKING:
@ -65,19 +67,19 @@ class BlockingActions(SharedBlockingActions):
until_id: str | None = None,
limit: int = 100,
get_all: bool = False,
) -> AsyncGenerator[BlockingUser, None]:
) -> AsyncGenerator[Blocking, None]:
if get_all:
limit = 100
data = {"limit": limit, "sinceId": since_id, "untilId": until_id}
pagination = Pagination[IBlockingUser](
pagination = Pagination[IBlocking](
self._session, Route("POST", "/api/blocking/list"), json=data
)
while True:
res_users = await pagination.next()
for user in res_users:
yield BlockingUser(user, client=self._client)
raw_blockings = await pagination.next()
for raw_blocking in raw_blockings:
yield Blocking(raw_blocking=raw_blocking, client=self._client)
if get_all is False or pagination.is_final:
break

@ -14,7 +14,6 @@ from mipac.types.user import (
EmailNotificationTypes,
GetFrequentlyRepliedUsersResponse,
IAchievement,
IBlockingUser,
IFfVisibility,
IMeDetailedOnlySchema,
IMeDetailedSchema,
@ -40,7 +39,7 @@ if TYPE_CHECKING:
from mipac.manager.users.list import ClientUserListManager
__all__ = ("PartialUser", "Achievement", "BlockingUser", "MeDetailed")
__all__ = ("PartialUser", "Achievement", "MeDetailed")
class FollowCommon[FFC: IFederationFollowCommon]:
@ -85,34 +84,6 @@ class Following(FollowCommon[IFederationFollowing]):
super().__init__(raw_follow=raw_following, client=client)
class BlockingUser:
def __init__(self, blocking_user_data: IBlockingUser, *, client: ClientManager) -> None:
self.__blocking_user_data: IBlockingUser = blocking_user_data
self.__client: ClientManager = client
@property
def id(self) -> str:
return self.__blocking_user_data["id"]
@property
def created_at(self) -> datetime:
return str_to_datetime(self.__blocking_user_data["created_at"])
@property
def blockee_id(self) -> str:
return self.__blocking_user_data["blockee_id"]
@property
def blockee(self) -> UserDetailedNotMe | MeDetailed:
return packed_user(self.__blocking_user_data["blockee"], client=self.__client)
def __eq__(self, __value: object) -> bool:
return isinstance(__value, BlockingUser) and self.id == __value.id
def __ne__(self, __value: object) -> bool:
return not self.__eq__(__value)
class Achievement:
def __init__(self, detail: IAchievement):
self.__detail: IAchievement = detail

@ -25,14 +25,6 @@ class IUserField(TypedDict):
name: str
value: str
class IBlockingUser(TypedDict):
id: str
created_at: str
blockee_id: str
blockee: IUserDetailed
class ISignin(TypedDict):
id: str
created_at: str

Loading…
Cancel
Save