mirror of https://github.com/yupix/mipac
parent
42d128389e
commit
33fca69953
@ -1,66 +0,0 @@
|
|||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from typing import TYPE_CHECKING
|
|
||||||
|
|
||||||
from mipac.abstract.action import AbstractAction
|
|
||||||
from mipac.http import Route
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
|
||||||
from mipac.http import HTTPClient
|
|
||||||
from mipac.manager.client import ClientManager
|
|
||||||
|
|
||||||
|
|
||||||
class AdminModeratorActions(AbstractAction):
|
|
||||||
def __init__(self, user_id: str | None = None, *, session: HTTPClient, client: ClientManager):
|
|
||||||
self.__session: HTTPClient = session
|
|
||||||
self.__client: ClientManager = client
|
|
||||||
self.__user_id: str | None = user_id
|
|
||||||
|
|
||||||
async def add(self, user_id: str | None = None) -> bool:
|
|
||||||
"""
|
|
||||||
Add a user as a moderator
|
|
||||||
|
|
||||||
Parameters
|
|
||||||
----------
|
|
||||||
user_id : str | None, default=None
|
|
||||||
ユーザーのID
|
|
||||||
|
|
||||||
Returns
|
|
||||||
-------
|
|
||||||
bool
|
|
||||||
成功したか否か
|
|
||||||
"""
|
|
||||||
|
|
||||||
user_id = user_id or self.__user_id
|
|
||||||
data = {"userId": user_id}
|
|
||||||
res = await self.__session.request(
|
|
||||||
Route("POST", "/api/admin/moderators/add"),
|
|
||||||
json=data,
|
|
||||||
auth=True,
|
|
||||||
lower=True,
|
|
||||||
)
|
|
||||||
return bool(res)
|
|
||||||
|
|
||||||
async def remove(self, user_id: str | None = None) -> bool:
|
|
||||||
"""
|
|
||||||
Unmoderate a user
|
|
||||||
|
|
||||||
Parameters
|
|
||||||
----------
|
|
||||||
user_id : str | None, default=None
|
|
||||||
ユーザーのID
|
|
||||||
|
|
||||||
Returns
|
|
||||||
-------
|
|
||||||
bool
|
|
||||||
成功したか否か
|
|
||||||
"""
|
|
||||||
user_id = user_id or self.__user_id
|
|
||||||
data = {"userId": user_id}
|
|
||||||
res = await self.__session.request(
|
|
||||||
Route("POST", "/api/admin/moderators/remove"),
|
|
||||||
json=data,
|
|
||||||
auth=True,
|
|
||||||
lower=True,
|
|
||||||
)
|
|
||||||
return bool(res)
|
|
@ -1,31 +0,0 @@
|
|||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from typing import TYPE_CHECKING
|
|
||||||
|
|
||||||
from mipac.abstract.manager import AbstractManager
|
|
||||||
from mipac.actions.admins.moderator import AdminModeratorActions
|
|
||||||
from mipac.http import HTTPClient
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
|
||||||
from mipac.client import ClientManager
|
|
||||||
|
|
||||||
__all__ = ("AdminModeratorManager",)
|
|
||||||
|
|
||||||
|
|
||||||
class AdminModeratorManager(AbstractManager):
|
|
||||||
def __init__(self, user_id: str | None = None, *, session: HTTPClient, client: ClientManager):
|
|
||||||
self.__user_id: str | None = user_id
|
|
||||||
self.__session: HTTPClient = session
|
|
||||||
self.__client: ClientManager = client
|
|
||||||
|
|
||||||
@property
|
|
||||||
def action(self) -> AdminModeratorActions:
|
|
||||||
"""Moderatorに関するアクション
|
|
||||||
|
|
||||||
Returns
|
|
||||||
-------
|
|
||||||
AdminModeratorActions
|
|
||||||
Moderatorに対するアクションを行うクラス
|
|
||||||
"""
|
|
||||||
|
|
||||||
return AdminModeratorActions(session=self.__session, client=self.__client)
|
|
Loading…
Reference in new issue