2024-11-25 16:44:08 +08:00
|
|
|
from enum import StrEnum
|
2024-11-14 22:58:57 +08:00
|
|
|
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
|
|
from core.plugin.entities.plugin import PluginDeclaration, PluginInstallationSource
|
|
|
|
|
|
|
|
|
|
|
|
class PluginBundleDependency(BaseModel):
|
2024-11-25 16:44:08 +08:00
|
|
|
class Type(StrEnum):
|
2024-11-14 22:58:57 +08:00
|
|
|
Github = PluginInstallationSource.Github.value
|
|
|
|
Marketplace = PluginInstallationSource.Marketplace.value
|
|
|
|
Package = PluginInstallationSource.Package.value
|
|
|
|
|
|
|
|
class Github(BaseModel):
|
|
|
|
repo_address: str
|
|
|
|
repo: str
|
|
|
|
release: str
|
|
|
|
packages: str
|
|
|
|
|
|
|
|
class Marketplace(BaseModel):
|
|
|
|
organization: str
|
|
|
|
plugin: str
|
|
|
|
version: str
|
|
|
|
|
|
|
|
class Package(BaseModel):
|
|
|
|
unique_identifier: str
|
|
|
|
manifest: PluginDeclaration
|
|
|
|
|
|
|
|
type: Type
|
|
|
|
value: Github | Marketplace | Package
|