22import json
33import logging
44import traceback
5- from typing import Any
5+ from typing import Any , Callable , Coroutine , cast
66
77import plugins
88import registry as registry
1313_logger = logging .getLogger ("request_handler" )
1414
1515
16- async def alert_acknowledge (message_payload : dict [Any , Any ]):
16+ async def alert_acknowledge (message_payload : dict [Any , Any ]) -> None :
1717 """Acknowledge an alert"""
1818 alert_id = message_payload ["target_id" ]
1919 alert = await Alert .get_by_id (alert_id )
@@ -24,7 +24,7 @@ async def alert_acknowledge(message_payload: dict[Any, Any]):
2424 await alert .acknowledge ()
2525
2626
27- async def alert_lock (message_payload : dict [Any , Any ]):
27+ async def alert_lock (message_payload : dict [Any , Any ]) -> None :
2828 """Lock an alert"""
2929 alert_id = message_payload ["target_id" ]
3030 alert = await Alert .get_by_id (alert_id )
@@ -35,7 +35,7 @@ async def alert_lock(message_payload: dict[Any, Any]):
3535 await alert .lock ()
3636
3737
38- async def alert_solve (message_payload : dict [Any , Any ]):
38+ async def alert_solve (message_payload : dict [Any , Any ]) -> None :
3939 """Solve all alert's issues"""
4040 alert_id = message_payload ["target_id" ]
4141 alert = await Alert .get_by_id (alert_id )
@@ -46,7 +46,7 @@ async def alert_solve(message_payload: dict[Any, Any]):
4646 await alert .solve_issues ()
4747
4848
49- async def issue_drop (message_payload : dict [Any , Any ]):
49+ async def issue_drop (message_payload : dict [Any , Any ]) -> None :
5050 """Drop an issue"""
5151 issue_id = message_payload ["target_id" ]
5252 issue = await Issue .get_by_id (issue_id )
@@ -65,7 +65,7 @@ async def issue_drop(message_payload: dict[Any, Any]):
6565}
6666
6767
68- def get_action (action_name : str ):
68+ def get_action (action_name : str ) -> Callable [[ dict [ Any , Any ]], Coroutine [ Any , Any , None ]] | None :
6969 """Get the action function by its name, checking if it is a plugin action"""
7070 if action_name .startswith ("plugin." ):
7171 plugin_name , action_name = action_name .split ("." )[1 :3 ]
@@ -85,12 +85,12 @@ def get_action(action_name: str):
8585 _logger .warning (f"Action '{ plugin_name } .{ action_name } ' unknown" )
8686 return None
8787
88- return action
88+ return cast ( Callable [[ dict [ Any , Any ]], Coroutine [ Any , Any , None ]], action )
8989
9090 return actions .get (action_name )
9191
9292
93- async def run (message : dict [Any , Any ]):
93+ async def run (message : dict [Any , Any ]) -> None :
9494 """Process a received request"""
9595 message_payload = message ["payload" ]
9696 action_name = message_payload ["action" ]
0 commit comments