Skip to content

Commit

Permalink
Update Audit Logs API responses
Browse files Browse the repository at this point in the history
  • Loading branch information
seratch committed Jan 24, 2023
1 parent 6e5d8b0 commit 1ed78c6
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 0 deletions.
99 changes: 99 additions & 0 deletions slack_sdk/audit_logs/v1/logs.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import json
from typing import Optional, List, Union, Any, Dict


Expand Down Expand Up @@ -252,6 +253,21 @@ class Details:
initiated_by: Optional[str]
source_team: Optional[str]
destination_team: Optional[str]
succeeded_users: Optional[List[str]]
failed_users: Optional[List[str]]
enterprise: Optional[str]
subteam: Optional[str]
action: Optional[str]
idp_group_member_count: Optional[int]
workspace_member_count: Optional[int]
added_user_count: Optional[int]
added_user_error_count: Optional[int]
reactivated_user_count: Optional[int]
removed_user_count: Optional[int]
removed_user_error_count: Optional[int]
total_removal_count: Optional[int]
is_flagged: Optional[str]
target_user: Optional[str]

def __init__(
self,
Expand Down Expand Up @@ -330,6 +346,21 @@ def __init__(
initiated_by: Optional[str] = None,
source_team: Optional[str] = None,
destination_team: Optional[str] = None,
succeeded_users: Optional[Union[List[str], str]] = None,
failed_users: Optional[Union[List[str], str]] = None,
enterprise: Optional[str] = None,
subteam: Optional[str] = None,
action: Optional[str] = None,
idp_group_member_count: Optional[int] = None,
workspace_member_count: Optional[int] = None,
added_user_count: Optional[int] = None,
added_user_error_count: Optional[int] = None,
reactivated_user_count: Optional[int] = None,
removed_user_count: Optional[int] = None,
removed_user_error_count: Optional[int] = None,
total_removal_count: Optional[int] = None,
is_flagged: Optional[str] = None,
target_user: Optional[str] = None,
**kwargs,
) -> None:
self.name = name
Expand Down Expand Up @@ -435,6 +466,25 @@ def __init__(
self.initiated_by = initiated_by
self.source_team = source_team
self.destination_team = destination_team
self.succeeded_users = (
succeeded_users if succeeded_users is None or isinstance(succeeded_users, list) else json.loads(succeeded_users)
)
self.failed_users = (
failed_users if failed_users is None or isinstance(failed_users, list) else json.loads(failed_users)
)
self.enterprise = enterprise
self.subteam = subteam
self.action = action
self.idp_group_member_count = idp_group_member_count
self.workspace_member_count = workspace_member_count
self.added_user_count = added_user_count
self.added_user_error_count = added_user_error_count
self.reactivated_user_count = reactivated_user_count
self.removed_user_count = removed_user_count
self.removed_user_error_count = removed_user_error_count
self.total_removal_count = total_removal_count
self.is_flagged = is_flagged
self.target_user = target_user


class Channel:
Expand Down Expand Up @@ -509,6 +559,49 @@ def __init__(
self.unknown_fields = kwargs


class Huddle:
id: Optional[str]
date_start: Optional[int]
date_end: Optional[int]
participants: Optional[List[str]]
unknown_fields: Dict[str, Any]

def __init__(
self,
*,
id: Optional[str] = None,
date_start: Optional[int] = None,
date_end: Optional[int] = None,
participants: Optional[List[str]] = None,
**kwargs,
) -> None:
self.id = id
self.date_start = date_start
self.date_end = date_end
self.participants = participants
self.unknown_fields = kwargs


class Role:
id: Optional[str]
name: Optional[str]
type: Optional[str]
unknown_fields: Dict[str, Any]

def __init__(
self,
*,
id: Optional[str] = None,
name: Optional[str] = None,
type: Optional[str] = None,
**kwargs,
) -> None:
self.id = id
self.name = name
self.type = type
self.unknown_fields = kwargs


class Workflow:
id: Optional[str]
name: Optional[str]
Expand Down Expand Up @@ -560,6 +653,8 @@ class Entity:
channel: Optional[Channel]
file: Optional[File]
app: Optional[App]
huddle: Optional[Huddle]
role: Optional[Role]
usergroup: Optional[Usergroup]
workflow: Optional[Workflow]
barrier: Optional[InformationBarrier]
Expand All @@ -575,6 +670,8 @@ def __init__(
channel: Optional[Union[Channel, Dict[str, Any]]] = None,
file: Optional[Union[File, Dict[str, Any]]] = None,
app: Optional[Union[App, Dict[str, Any]]] = None,
huddle: Optional[Union[Huddle, Dict[str, Any]]] = None,
role: Optional[Union[Role, Dict[str, Any]]] = None,
usergroup: Optional[Union[Usergroup, Dict[str, Any]]] = None,
workflow: Optional[Union[Workflow, Dict[str, Any]]] = None,
barrier: Optional[Union[InformationBarrier, Dict[str, Any]]] = None,
Expand All @@ -587,6 +684,8 @@ def __init__(
self.channel = Channel(**channel) if isinstance(channel, dict) else channel
self.file = File(**file) if isinstance(file, dict) else file
self.app = App(**app) if isinstance(app, dict) else app
self.huddle = Huddle(**huddle) if isinstance(huddle, dict) else huddle
self.role = Role(**role) if isinstance(role, dict) else role
self.usergroup = Usergroup(**usergroup) if isinstance(usergroup, dict) else usergroup
self.workflow = Workflow(**workflow) if isinstance(workflow, dict) else workflow
self.barrier = InformationBarrier(**barrier) if isinstance(barrier, dict) else barrier
Expand Down
6 changes: 6 additions & 0 deletions tests/slack_sdk/audit_logs/test_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,10 @@ def test_logs_complete(self):
self.assertEqual(entry.details.can_thread.type, ["admin", "org_admin"])
self.assertEqual(entry.details.can_thread.user, ["W222"])
self.assertEqual(entry.details.is_external_limited, True)
# Due to historical reasons, succeeded_users/failed_users can be
# either an array or a single string with encoded JSON data
self.assertEqual(entry.details.succeeded_users, ["W111", "W222"])
self.assertEqual(entry.details.failed_users, ["W333", "W444"])
self.assertEqual(entry.details.exporting_team_id, 1134128598372)


Expand Down Expand Up @@ -361,6 +365,8 @@ def test_logs_complete(self):
]
},
"is_external_limited": true,
"succeeded_users": "[\\\"W111\\\", \\\"W222\\\"]",
"failed_users": "[\\\"W333\\\", \\\"W444\\\"]",
"exporting_team_id": 1134128598372
}
}
Expand Down

0 comments on commit 1ed78c6

Please sign in to comment.