mirror of
https://github.com/apache/superset.git
synced 2026-05-29 11:45:16 +00:00
fix(mcp): use ActionLogFilter for injected default dttm filter
Pydantic v2 rejects a ColumnOperator instance when validating list[ActionLogFilter] — it requires an exact instance or dict, not a parent-class instance. The injected 7-day default dttm filter was created as a plain ColumnOperator, causing every test_list_action_logs_* call to fail with '1 validation error for ActionLogList'. Fix: construct the default filter as ActionLogFilter (which is a subclass of ColumnOperator), so it passes pydantic validation for ActionLogList.filters_applied: list[ActionLogFilter] and is still accepted everywhere ColumnOperator is expected.
This commit is contained in:
@@ -91,7 +91,7 @@ async def list_action_logs(
|
||||
has_dttm_filter = any(getattr(f, "col", None) == "dttm" for f in filters)
|
||||
if not has_dttm_filter:
|
||||
cutoff = (datetime.now(timezone.utc) - timedelta(days=7)).isoformat()
|
||||
default_filter = ColumnOperator(
|
||||
default_filter = ActionLogFilter(
|
||||
col="dttm",
|
||||
opr=ColumnOperatorEnum.gte,
|
||||
value=cutoff,
|
||||
|
||||
Reference in New Issue
Block a user