2
2
from collections .abc import Mapping
3
3
from typing import Any
4
4
5
+ from sentry .constants import ObjectStatus
5
6
from sentry .integrations .msteams .spec import PROVIDER
6
7
from sentry .integrations .services .integration import integration_service
7
8
from sentry .integrations .services .integration .model import RpcIntegration
@@ -23,14 +24,18 @@ def get_integration_from_channel_data(data: Mapping[str, Any]) -> RpcIntegration
23
24
team_id = _infer_team_id_from_channel_data (data = data )
24
25
if team_id is None :
25
26
return None
26
- return integration_service .get_integration (provider = PROVIDER , external_id = team_id )
27
+ return integration_service .get_integration (
28
+ provider = PROVIDER , external_id = team_id , status = ObjectStatus .ACTIVE
29
+ )
27
30
28
31
29
32
def get_integration_for_tenant (data : Mapping [str , Any ]) -> RpcIntegration | None :
30
33
try :
31
34
channel_data = data ["channelData" ]
32
35
tenant_id = channel_data ["tenant" ]["id" ]
33
- return integration_service .get_integration (provider = PROVIDER , external_id = tenant_id )
36
+ return integration_service .get_integration (
37
+ provider = PROVIDER , external_id = tenant_id , status = ObjectStatus .ACTIVE
38
+ )
34
39
except Exception as err :
35
40
logger .info ("failed to get tenant id from request data" , exc_info = err , extra = {"data" : data })
36
41
return None
@@ -56,7 +61,9 @@ def get_integration_from_card_action(data: Mapping[str, Any]) -> RpcIntegration
56
61
integration_id = _infer_integration_id_from_card_action (data = data )
57
62
if integration_id is None :
58
63
return None
59
- return integration_service .get_integration (integration_id = integration_id )
64
+ return integration_service .get_integration (
65
+ integration_id = integration_id , status = ObjectStatus .ACTIVE
66
+ )
60
67
61
68
62
69
def can_infer_integration (data : Mapping [str , Any ]) -> bool :
0 commit comments