Files
RuoYi-Vue3-FastAPI/ruoyi-fastapi-backend/plugins/core/runtime/service/responses.py
T
insistence a89aec54aa feat: 新增 OAuth 2.0 / OIDC 统一认证中心 (#129)
* feat: 新增统一认证中心

* perf: 优化代码

* fix: 修复问题

* perf: 优化页面

* fix: 修复部分接口缺失Request参数的问题

* perf: 优化访问控制机制

* perf: 优化代码

* fix: 修复 Logout Token 缺少 exp

* perf&fix: 优化和修复

* perf: 优化代码

* perf: 优化代码

* fix: 修复测试问题
2026-10-01 22:56:05 +08:00

151 lines
5.5 KiB
Python

from typing import TypeAlias
from pydantic import Field
from plugins.core.runtime.support import (
BatchOperationResultPayload,
PluginAuditSnapshotFailurePayloadDict,
PluginAuditSnapshotPayloadDict,
PluginCheckPayloadDict,
PluginConfigExportFailurePayloadDict,
PluginConfigExportPayloadDict,
PluginConfigImportPayloadDict,
PluginConfigStatePayloadDict,
PluginDependencyCheckPayloadDict,
PluginDependencyInstallPayloadDict,
PluginDocumentationPayloadDict,
PluginEnableStatePayloadDict,
PluginEnableUpdateFailurePayloadDict,
PluginLifecyclePayloadDict,
PluginNotFoundPayloadDict,
PluginPlanResponsePayload,
PluginPurgeStatePayloadDict,
PluginRuntimeBatchItemUnsupportedPayloadDict,
PluginRuntimeDiagnoseFailurePayloadDict,
PluginRuntimeDiagnosePayloadDict,
PluginRuntimeExceptionPayloadDict,
PluginRuntimeHealthResponsePayloadDict,
PluginRuntimeInvalidOperationPayloadDict,
PluginRuntimePrecheckPayloadDict,
PluginRuntimeUpgradeBlockerPayloadDict,
PluginSafeUninstallPayloadDict,
)
from plugins.core.runtime.support.payload.base import PluginPayloadModel
class PluginCatalogListResponsePayload(PluginPayloadModel):
"""
插件列表响应 payload。
"""
ok: bool
count: int
plugins: list[dict[str, object]]
database_available: bool | None = Field(default=None, alias='databaseAvailable')
database_error: str | None = Field(default=None, alias='databaseError')
class PluginCatalogInfoResponsePayload(PluginPayloadModel):
"""
插件详情响应 payload。
"""
ok: bool
plugin: dict[str, object]
class PluginBatchRunResponsePayload(PluginPayloadModel):
"""
插件批量执行响应 payload。
"""
ok: bool | None = None
message: str | None = None
dry_run: bool | None = Field(default=None, alias='dryRun')
continue_on_error: bool | None = Field(default=None, alias='continueOnError')
executed: list[dict[str, object]] | None = None
failed: dict[str, object] | None = None
summary: dict[str, object] | None = None
exit_code: int | None = None
class PluginRuntimeBlockedPayload(PluginPayloadModel):
"""
插件运行模式阻断响应 payload。
"""
ok: bool
status: str
operation: str
plugin_id: str = Field(alias='pluginId')
message: str
suggestion: str
capability: dict[str, object]
dry_run: bool | None = Field(default=None, alias='dryRun')
exit_code: int
PluginCatalogListResponseDict: TypeAlias = dict[str, object]
PluginCatalogInfoResponseDict: TypeAlias = dict[str, object]
PluginBatchRunResponseDict: TypeAlias = dict[str, object]
PluginRuntimeBlockedPayloadDict: TypeAlias = dict[str, object]
PluginRuntimeBlockedResponse: TypeAlias = PluginRuntimeBlockedPayloadDict
PluginRuntimeFailureResponse: TypeAlias = (
PluginNotFoundPayloadDict
| PluginRuntimeExceptionPayloadDict
| PluginRuntimeInvalidOperationPayloadDict
| PluginRuntimeBlockedResponse
)
PluginCatalogListResponse: TypeAlias = PluginCatalogListResponseDict | PluginRuntimeExceptionPayloadDict
PluginCatalogInfoResponse: TypeAlias = PluginCatalogInfoResponseDict | PluginRuntimeFailureResponse
PluginCheckResponse: TypeAlias = PluginCheckPayloadDict | PluginRuntimeFailureResponse
PluginDependencyCheckResponse: TypeAlias = PluginDependencyCheckPayloadDict | PluginRuntimeFailureResponse
PluginHealthResponse: TypeAlias = PluginRuntimeHealthResponsePayloadDict | PluginRuntimeFailureResponse
PluginConfigStateResponse: TypeAlias = PluginConfigStatePayloadDict | PluginRuntimeFailureResponse
PluginConfigExportResponse: TypeAlias = PluginConfigExportPayloadDict | PluginConfigExportFailurePayloadDict
PluginConfigImportResponse: TypeAlias = PluginConfigImportPayloadDict
PluginPrecheckResponse: TypeAlias = PluginRuntimePrecheckPayloadDict | PluginRuntimeFailureResponse
PluginPlanResponse: TypeAlias = PluginPlanResponsePayload | PluginRuntimeInvalidOperationPayloadDict
PluginBatchResponse: TypeAlias = PluginPlanResponse | PluginBatchRunResponseDict | PluginRuntimeExceptionPayloadDict
PluginBatchItemExecutionResponse: TypeAlias = (
BatchOperationResultPayload
| PluginLifecyclePayloadDict
| PluginEnableStatePayloadDict
| PluginRuntimeBatchItemUnsupportedPayloadDict
| PluginRuntimeExceptionPayloadDict
)
PluginDependencyInstallResponse: TypeAlias = PluginDependencyInstallPayloadDict | PluginRuntimeFailureResponse
PluginLifecycleResponse: TypeAlias = (
PluginLifecyclePayloadDict
| PluginEnableStatePayloadDict
| PluginEnableUpdateFailurePayloadDict
| PluginSafeUninstallPayloadDict
| PluginPurgeStatePayloadDict
| PluginRuntimeUpgradeBlockerPayloadDict
| PluginRuntimeFailureResponse
)
PluginDocumentationResponse: TypeAlias = (
PluginDocumentationPayloadDict | PluginNotFoundPayloadDict | PluginRuntimeExceptionPayloadDict
)
PluginAuditSnapshotResponse: TypeAlias = PluginAuditSnapshotPayloadDict | PluginAuditSnapshotFailurePayloadDict
PluginDiagnoseResponse: TypeAlias = (
PluginRuntimeDiagnosePayloadDict | PluginRuntimeDiagnoseFailurePayloadDict | PluginRuntimeExceptionPayloadDict
)
PluginManagementOperationResponse: TypeAlias = (
PluginCheckResponse
| PluginPrecheckResponse
| PluginHealthResponse
| PluginDiagnoseResponse
| PluginDocumentationResponse
| PluginLifecycleResponse
| PluginConfigStateResponse
| PluginConfigExportResponse
| PluginConfigImportResponse
| PluginDependencyCheckResponse
| PluginPlanResponse
| PluginBatchResponse
| PluginDependencyInstallResponse
)