Fix ops_trace delete err (#29134)
This commit is contained in:
@@ -146,7 +146,14 @@ class AppApiStatusPayload(BaseModel):
|
|||||||
|
|
||||||
class AppTracePayload(BaseModel):
|
class AppTracePayload(BaseModel):
|
||||||
enabled: bool = Field(..., description="Enable or disable tracing")
|
enabled: bool = Field(..., description="Enable or disable tracing")
|
||||||
tracing_provider: str = Field(..., description="Tracing provider")
|
tracing_provider: str | None = Field(default=None, description="Tracing provider")
|
||||||
|
|
||||||
|
@field_validator("tracing_provider")
|
||||||
|
@classmethod
|
||||||
|
def validate_tracing_provider(cls, value: str | None, info) -> str | None:
|
||||||
|
if info.data.get("enabled") and not value:
|
||||||
|
raise ValueError("tracing_provider is required when enabled is True")
|
||||||
|
return value
|
||||||
|
|
||||||
|
|
||||||
def reg(cls: type[BaseModel]):
|
def reg(cls: type[BaseModel]):
|
||||||
|
|||||||
@@ -377,20 +377,20 @@ class OpsTraceManager:
|
|||||||
return app_model_config
|
return app_model_config
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def update_app_tracing_config(cls, app_id: str, enabled: bool, tracing_provider: str):
|
def update_app_tracing_config(cls, app_id: str, enabled: bool, tracing_provider: str | None):
|
||||||
"""
|
"""
|
||||||
Update app tracing config
|
Update app tracing config
|
||||||
:param app_id: app id
|
:param app_id: app id
|
||||||
:param enabled: enabled
|
:param enabled: enabled
|
||||||
:param tracing_provider: tracing provider
|
:param tracing_provider: tracing provider (None when disabling)
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
# auth check
|
# auth check
|
||||||
try:
|
if tracing_provider is not None:
|
||||||
if enabled or tracing_provider is not None:
|
try:
|
||||||
provider_config_map[tracing_provider]
|
provider_config_map[tracing_provider]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise ValueError(f"Invalid tracing provider: {tracing_provider}")
|
raise ValueError(f"Invalid tracing provider: {tracing_provider}")
|
||||||
|
|
||||||
app_config: App | None = db.session.query(App).where(App.id == app_id).first()
|
app_config: App | None = db.session.query(App).where(App.id == app_id).first()
|
||||||
if not app_config:
|
if not app_config:
|
||||||
|
|||||||
Reference in New Issue
Block a user