MoviePilot/app/schemas/plugin.py

66 lines
1.6 KiB
Python

from typing import Optional, List
from pydantic import BaseModel
class Plugin(BaseModel):
"""
插件信息
"""
id: str = None
# 插件名称
plugin_name: Optional[str] = None
# 插件描述
plugin_desc: Optional[str] = None
# 插件图标
plugin_icon: Optional[str] = None
# 插件版本
plugin_version: Optional[str] = None
# 插件标签
plugin_label: Optional[str] = None
# 插件作者
plugin_author: Optional[str] = None
# 作者主页
author_url: Optional[str] = None
# 插件配置项ID前缀
plugin_config_prefix: Optional[str] = None
# 加载顺序
plugin_order: Optional[int] = 0
# 可使用的用户级别
auth_level: Optional[int] = 0
# 是否已安装
installed: Optional[bool] = False
# 运行状态
state: Optional[bool] = False
# 是否有详情页面
has_page: Optional[bool] = False
# 是否有新版本
has_update: Optional[bool] = False
# 是否本地
is_local: Optional[bool] = False
# 仓库地址
repo_url: Optional[str] = None
# 安装次数
install_count: Optional[int] = 0
# 更新记录
history: Optional[dict] = {}
# 添加时间,值越小表示越靠后发布
add_time: Optional[int] = 0
class PluginDashboard(Plugin):
"""
插件仪表盘
"""
id: Optional[str] = None
# 名称
name: Optional[str] = None
# 仪表板key
key: Optional[str] = None
# 全局配置
attrs: Optional[dict] = {}
# col列数
cols: Optional[dict] = {}
# 页面元素
elements: Optional[List[dict]] = []