Sync GovOPlaN module state

This commit is contained in:
2026-07-10 21:57:21 +02:00
parent 30a0281c66
commit f362f3806b
6 changed files with 340 additions and 0 deletions

View File

@@ -176,6 +176,8 @@ class ModuleInstallPlanItem(BaseModel):
module_id: str = Field(min_length=1, max_length=120)
action: Literal["install", "uninstall"]
source: Literal["manual", "catalog"] = "manual"
catalog: dict[str, Any] | None = None
python_package: str | None = Field(default=None, max_length=200)
python_ref: str | None = Field(default=None, max_length=1000)
webui_package: str | None = Field(default=None, max_length=200)
@@ -308,6 +310,18 @@ class ModuleInstallerRequestCreateRequest(BaseModel):
options: ModuleInstallerRequestOptions = Field(default_factory=ModuleInstallerRequestOptions)
class ModuleInterfaceProviderItem(BaseModel):
name: str
version: str
class ModuleInterfaceRequirementItem(BaseModel):
name: str
version_min: str | None = None
version_max_exclusive: str | None = None
optional: bool = False
class ModulePackageCatalogItem(BaseModel):
module_id: str
name: str
@@ -318,6 +332,8 @@ class ModulePackageCatalogItem(BaseModel):
python_ref: str | None = None
webui_package: str | None = None
webui_ref: str | None = None
provides_interfaces: list[ModuleInterfaceProviderItem] = Field(default_factory=list)
requires_interfaces: list[ModuleInterfaceRequirementItem] = Field(default_factory=list)
license_features: list[str] = Field(default_factory=list)
license_allowed: bool = True
license_enforced: bool = False