From 413eeee98b2d0c58f28987e664cc6202df3ad41b Mon Sep 17 00:00:00 2001 From: yupix Date: Thu, 19 Jan 2023 11:29:27 +0000 Subject: [PATCH] =?UTF-8?q?:sparkles:=20feat:=20server-info=E3=82=92?= =?UTF-8?q?=E3=82=B5=E3=83=9D=E3=83=BC=E3=83=88=20#41?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mipac/actions/admins/admin.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/mipac/actions/admins/admin.py b/mipac/actions/admins/admin.py index 17914b7..5780344 100644 --- a/mipac/actions/admins/admin.py +++ b/mipac/actions/admins/admin.py @@ -5,12 +5,12 @@ from mipac.abstract.action import AbstractAction from mipac.errors.base import NotSupportVersion, ParameterError from mipac.http import HTTPClient, Route -from mipac.models.admin import ModerationLog +from mipac.models.admin import ModerationLog, ServerInfo from mipac.models.meta import AdminMeta -from mipac.types.admin import IModerationLog +from mipac.types.admin import IModerationLog, IServerInfo from mipac.types.meta import IAdminMeta, IUpdateMetaBody from mipac.config import config -from mipac.util import convert_dict_keys_to_camel +from mipac.util import cache, convert_dict_keys_to_camel if TYPE_CHECKING: from mipac.manager.client import ClientManager @@ -149,3 +149,13 @@ class AdminActions(AbstractAction): Route('POST', '/api/admin/show-moderation-logs'), json=body, auth=True, lower=True ) return ModerationLog(moderation_log_payload, client=self.__client) + + @cache('server_info') + async def get_server_info(self, **kwargs) -> ServerInfo: + server_info_payload: IServerInfo = await self.__session.request( + Route('POST', '/api/admin/server-info'), auth=True, lower=True + ) + return ServerInfo(server_info_payload) + + async def fetch_server_info(self) -> ServerInfo: + return await self.get_server_info(cache_override=True)