mirror of https://github.com/yupix/mipac
feat: /api/admin/accounts/create をサポート feat: /api/admin/accounts/delete をサポートpull/134/head
parent
9d07afb866
commit
60eaad7dbe
@ -0,0 +1,58 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from mipac.abstract.action import AbstractAction
|
||||
from mipac.http import HTTPClient, Route
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from mipac.client import ClientManager
|
||||
|
||||
|
||||
class AdminAccountActions(AbstractAction):
|
||||
def __init__(self, *, session: HTTPClient, client: ClientManager):
|
||||
self.__session: HTTPClient = session
|
||||
self.__client: ClientManager = client
|
||||
|
||||
async def create(self, username: str, password: str): # TODO: 多分UserDetailed + tokenってキー
|
||||
"""ユーザーを作成します
|
||||
|
||||
Endpoint: `/api/admin/accounts/create`
|
||||
|
||||
Parameters
|
||||
----------
|
||||
username : str
|
||||
ユーザー名
|
||||
password : str
|
||||
パスワード
|
||||
"""
|
||||
|
||||
data = {"username": username, "password": password}
|
||||
res = await self.__session.request(
|
||||
Route("POST", "/api/admin/accounts/create"),
|
||||
json=data,
|
||||
)
|
||||
return res
|
||||
|
||||
async def delete(self, *, user_id: str) -> bool:
|
||||
"""対象のユーザーを削除します
|
||||
|
||||
Endpoint: `/api/admin/accounts/delete`
|
||||
|
||||
Parameters
|
||||
----------
|
||||
user_id : str
|
||||
対象のユーザーID
|
||||
|
||||
Returns
|
||||
-------
|
||||
bool
|
||||
成功ならTrue
|
||||
"""
|
||||
res = await self._session.request(
|
||||
Route("POST", "/api/admin/accounts/delete"),
|
||||
json={"userId": user_id},
|
||||
auth=True,
|
||||
lower=True,
|
||||
)
|
||||
return bool(res)
|
@ -0,0 +1,18 @@
|
||||
from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from mipac.abstract.manager import AbstractManager
|
||||
from mipac.http import HTTPClient
|
||||
from mipac.actions.admins.accounts import AdminAccountActions
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from mipac.manager.client import ClientManager
|
||||
|
||||
|
||||
class AdminAccountManager(AbstractManager):
|
||||
def __init__(self, *, session: HTTPClient, client: ClientManager):
|
||||
self.__action: AdminAccountActions = AdminAccountActions(session=session, client=client)
|
||||
|
||||
@property
|
||||
def action(self) -> AdminAccountActions:
|
||||
return self.__action
|
Loading…
Reference in new issue