feat: improve notification filters configuration format

- Change filters config from nested dict to simple arrays
- Update NotificationFilters model to use List[str] instead of Dict[str, str]
- Modify notification service to handle list-based filters
- Update API routes and tests for new format
- Update README with new configuration example

Before: [filters.case-insensitive] salary = 'salary'
After: [filters] case-insensitive = ['salary', 'utility']
This commit is contained in:
Elisiário Couto
2025-09-09 16:51:26 +01:00
committed by Elisiário Couto
parent bc947183e3
commit 2191fe9066
5 changed files with 31 additions and 13 deletions

View File

@@ -188,7 +188,8 @@ class TestConfig:
"""Test filters configuration access."""
custom_config = {
"filters": {
"case-insensitive": {"salary": "SALARY", "bills": "BILL"},
"case-insensitive": ["salary", "utility"],
"case-sensitive": ["SpecificStore"],
"amount_threshold": 100.0,
}
}
@@ -197,5 +198,7 @@ class TestConfig:
config._config = custom_config
filters = config.filters_config
assert filters["case-insensitive"]["salary"] == "SALARY"
assert "salary" in filters["case-insensitive"]
assert "utility" in filters["case-insensitive"]
assert "SpecificStore" in filters["case-sensitive"]
assert filters["amount_threshold"] == 100.0