Selaa lähdekoodia

fix: avoid empty plugin entity

Yeuoly 6 kuukautta sitten
vanhempi
commit
5fd82084f9
1 muutettua tiedostoa jossa 12 lisäystä ja 1 poistoa
  1. 12 1
      api/core/plugin/entities/marketplace.py

+ 12 - 1
api/core/plugin/entities/marketplace.py

@@ -1,6 +1,6 @@
 from typing import Optional
 
-from pydantic import BaseModel, Field
+from pydantic import BaseModel, Field, model_validator
 
 from core.model_runtime.entities.provider_entities import ProviderEntity
 from core.plugin.entities.endpoint import EndpointProviderDeclaration
@@ -32,3 +32,14 @@ class MarketplacePluginDeclaration(BaseModel):
     latest_package_identifier: str = Field(
         ..., description="Unique identifier for the latest package release of the plugin"
     )
+
+    @model_validator(mode="before")
+    @classmethod
+    def transform_declaration(cls, data: dict):
+        if "endpoint" in data and not data["endpoint"]:
+            del data["endpoint"]
+        if "model" in data and not data["model"]:
+            del data["model"]
+        if "tool" in data and not data["tool"]:
+            del data["tool"]
+        return data