Skip to content

Commit 93fd69a

Browse files
authored
Add new details properties for channel_posting_permissions_updated action (#1130)
1 parent 77e906a commit 93fd69a

File tree

2 files changed

+53
-1
lines changed

2 files changed

+53
-1
lines changed

slack_sdk/audit_logs/v1/logs.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,22 @@ def __init__(
102102
self.unknown_fields = kwargs
103103

104104

105+
class ConversationPref:
106+
type: Optional[List[str]]
107+
user: Optional[List[str]]
108+
109+
def __init__(
110+
self,
111+
*,
112+
type: Optional[List[str]] = None,
113+
user: Optional[List[str]] = None,
114+
**kwargs,
115+
) -> None:
116+
self.type = type
117+
self.user = user
118+
self.unknown_fields = kwargs
119+
120+
105121
class Details:
106122
name: Optional[str]
107123
new_value: Optional[Union[str, List[str], Dict[str, Any]]]
@@ -159,6 +175,8 @@ class Details:
159175
is_token_rotation_enabled_app: Optional[bool]
160176
old_retention_policy: Optional[RetentionPolicy]
161177
new_retention_policy: Optional[RetentionPolicy]
178+
who_can_post: Optional[ConversationPref]
179+
can_thread: Optional[ConversationPref]
162180

163181
def __init__(
164182
self,
@@ -218,6 +236,8 @@ def __init__(
218236
is_token_rotation_enabled_app: Optional[bool] = None,
219237
old_retention_policy: Optional[Union[Dict[str, Any], RetentionPolicy]] = None,
220238
new_retention_policy: Optional[Union[Dict[str, Any], RetentionPolicy]] = None,
239+
who_can_post: Optional[Union[Dict[str, List[str]], ConversationPref]] = None,
240+
can_thread: Optional[Union[Dict[str, List[str]], ConversationPref]] = None,
221241
**kwargs,
222242
) -> None:
223243
self.name = name
@@ -284,6 +304,16 @@ def __init__(
284304
if isinstance(new_retention_policy, RetentionPolicy)
285305
else RetentionPolicy(**new_retention_policy)
286306
)
307+
self.who_can_post = (
308+
who_can_post
309+
if isinstance(who_can_post, ConversationPref)
310+
else ConversationPref(**who_can_post)
311+
)
312+
self.can_thread = (
313+
can_thread
314+
if isinstance(can_thread, ConversationPref)
315+
else ConversationPref(**can_thread)
316+
)
287317

288318

289319
class App:

tests/slack_sdk/audit_logs/test_response.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ def test_logs_complete(self):
133133
self.assertEqual(entry.details.new_retention_policy.type, "new")
134134
self.assertEqual(entry.details.is_internal_integration, True)
135135
self.assertEqual(entry.details.cleared_resolution, "approved")
136+
self.assertEqual(entry.details.who_can_post.type, ["owner", "admin"])
137+
self.assertEqual(entry.details.who_can_post.user, ["W111"])
138+
self.assertEqual(entry.details.can_thread.type, ["admin", "org_admin"])
139+
self.assertEqual(entry.details.can_thread.user, ["W222"])
136140

137141

138142
logs_response_data = """{
@@ -335,7 +339,25 @@ def test_logs_complete(self):
335339
"duration_days": 222
336340
},
337341
"is_internal_integration": true,
338-
"cleared_resolution": "approved"
342+
"cleared_resolution": "approved",
343+
"who_can_post": {
344+
"type": [
345+
"owner",
346+
"admin"
347+
],
348+
"user": [
349+
"W111"
350+
]
351+
},
352+
"can_thread": {
353+
"type": [
354+
"admin",
355+
"org_admin"
356+
],
357+
"user": [
358+
"W222"
359+
]
360+
}
339361
}
340362
}
341363
]

0 commit comments

Comments
 (0)