Files
LangBot/pkg/audit/center/groups/plugin.py
Junyan Qin (Chin) 209f16af76 style: introduce ruff as linter and formatter (#1356)
* style: remove necessary imports

* style: fix F841

* style: fix F401

* style: fix F811

* style: fix E402

* style: fix E721

* style: fix E722

* style: fix E722

* style: fix F541

* style: ruff format

* style: all passed

* style: add ruff in deps

* style: more ignores in ruff.toml

* style: add pre-commit
2025-04-29 17:24:07 +08:00

60 lines
1.5 KiB
Python

from __future__ import annotations
from ....core import app
from .. import apigroup
class V2PluginDataAPI(apigroup.APIGroup):
"""插件数据相关 API"""
def __init__(self, prefix: str, ap: app.Application):
self.ap = ap
super().__init__(prefix + '/plugin', ap)
async def do(self, *args, **kwargs):
if not self.ap.instance_config.data['telemetry']['report']:
return None
return await super().do(*args, **kwargs)
async def post_install_record(self, plugin: dict):
"""提交插件安装记录"""
return await self.do(
'POST',
'/install',
data={
'basic': self.basic_info(),
'plugin': plugin,
},
)
async def post_remove_record(self, plugin: dict):
"""提交插件卸载记录"""
return await self.do(
'POST',
'/remove',
data={
'basic': self.basic_info(),
'plugin': plugin,
},
)
async def post_update_record(
self,
plugin: dict,
old_version: str,
new_version: str,
):
"""提交插件更新记录"""
return await self.do(
'POST',
'/update',
data={
'basic': self.basic_info(),
'plugin': plugin,
'update_info': {
'old_version': old_version,
'new_version': new_version,
},
},
)