Skip to content

Commit 1f71c42

Browse files
rkuo-danswerRichard Kuo (Onyx)
authored andcommitted
fix slack rate limit retry handler for groups (onyx-dot-app#4742)
Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>
1 parent 4d43891 commit 1f71c42

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

backend/ee/onyx/external_permissions/slack/doc_sync.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def _fetch_workspace_permissions(
3030
external_user_emails=user_emails,
3131
# No group<->document mapping for slack
3232
external_user_group_ids=set(),
33-
# No way to determine if slack is invite only without enterprise liscense
33+
# No way to determine if slack is invite only without enterprise license
3434
is_public=False,
3535
)
3636

backend/ee/onyx/external_permissions/slack/group_sync.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@
99

1010
from ee.onyx.db.external_perm import ExternalUserGroup
1111
from ee.onyx.external_permissions.slack.utils import fetch_user_id_to_email_map
12+
from onyx.connectors.credentials_provider import OnyxDBCredentialsProvider
1213
from onyx.connectors.slack.connector import make_paginated_slack_api_call_w_retries
14+
from onyx.connectors.slack.connector import SlackConnector
1315
from onyx.db.models import ConnectorCredentialPair
16+
from onyx.redis.redis_pool import get_redis_client
1417
from onyx.utils.logger import setup_logger
1518

1619
logger = setup_logger()
@@ -55,9 +58,16 @@ def slack_group_sync(
5558
tenant_id: str,
5659
cc_pair: ConnectorCredentialPair,
5760
) -> list[ExternalUserGroup]:
58-
slack_client = WebClient(
59-
token=cc_pair.credential.credential_json["slack_bot_token"]
61+
62+
provider = OnyxDBCredentialsProvider(tenant_id, "slack", cc_pair.credential.id)
63+
r = get_redis_client(tenant_id=tenant_id)
64+
slack_client = SlackConnector.make_slack_web_client(
65+
provider.get_provider_key(),
66+
cc_pair.credential.credential_json["slack_bot_token"],
67+
SlackConnector.MAX_RETRIES,
68+
r,
6069
)
70+
6171
user_id_to_email_map = fetch_user_id_to_email_map(slack_client)
6272

6373
onyx_groups: list[ExternalUserGroup] = []

0 commit comments

Comments
 (0)