Skip to content

Commit 961706e

Browse files
authored
Add missing properties in Audit Logs details data class (#1113)
1 parent a3d6006 commit 961706e

File tree

2 files changed

+51
-21
lines changed

2 files changed

+51
-21
lines changed

slack_sdk/audit_logs/v1/logs.py

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,22 @@ def __init__(
8686
self.unknown_fields = kwargs
8787

8888

89+
class RetentionPolicy:
90+
type: Optional[str]
91+
duration_days: Optional[int]
92+
93+
def __init__(
94+
self,
95+
*,
96+
type: Optional[str] = None,
97+
duration_days: Optional[int] = None,
98+
**kwargs,
99+
) -> None:
100+
self.type = type
101+
self.duration_days = duration_days
102+
self.unknown_fields = kwargs
103+
104+
89105
class Details:
90106
name: Optional[str]
91107
new_value: Optional[Union[str, List[str], Dict[str, Any]]]
@@ -140,6 +156,8 @@ class Details:
140156
added_team_id: Optional[str]
141157
unknown_fields: Dict[str, Any]
142158
is_token_rotation_enabled_app: Optional[bool]
159+
old_retention_policy: Optional[RetentionPolicy]
160+
new_retention_policy: Optional[RetentionPolicy]
143161

144162
def __init__(
145163
self,
@@ -153,8 +171,8 @@ def __init__(
153171
non_sso_only: Optional[bool] = None,
154172
type: Optional[str] = None,
155173
is_workflow: Optional[bool] = None,
156-
inviter: Optional[User] = None,
157-
kicker: Optional[User] = None,
174+
inviter: Optional[Union[Dict[str, Any], User]] = None,
175+
kicker: Optional[Union[Dict[str, Any], User]] = None,
158176
shared_to: Optional[str] = None,
159177
reason: Optional[str] = None,
160178
origin_team: Optional[str] = None,
@@ -196,6 +214,8 @@ def __init__(
196214
channel_id: Optional[str] = None,
197215
added_team_id: Optional[str] = None,
198216
is_token_rotation_enabled_app: Optional[bool] = None,
217+
old_retention_policy: Optional[Union[Dict[str, Any], RetentionPolicy]] = None,
218+
new_retention_policy: Optional[Union[Dict[str, Any], RetentionPolicy]] = None,
199219
**kwargs,
200220
) -> None:
201221
self.name = name
@@ -207,8 +227,8 @@ def __init__(
207227
self.non_sso_only = non_sso_only
208228
self.type = type
209229
self.is_workflow = is_workflow
210-
self.inviter = inviter
211-
self.kicker = kicker
230+
self.inviter = inviter if isinstance(inviter, User) else User(**inviter)
231+
self.kicker = kicker if isinstance(kicker, User) else User(**kicker)
212232
self.shared_to = shared_to
213233
self.reason = reason
214234
self.origin_team = origin_team
@@ -251,6 +271,16 @@ def __init__(
251271
self.channel_id = channel_id
252272
self.added_team_id = added_team_id
253273
self.is_token_rotation_enabled_app = is_token_rotation_enabled_app
274+
self.old_retention_policy = (
275+
old_retention_policy
276+
if isinstance(old_retention_policy, RetentionPolicy)
277+
else RetentionPolicy(**old_retention_policy)
278+
)
279+
self.new_retention_policy = (
280+
new_retention_policy
281+
if isinstance(new_retention_policy, RetentionPolicy)
282+
else RetentionPolicy(**new_retention_policy)
283+
)
254284

255285

256286
class App:

tests/slack_sdk/audit_logs/test_response.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,11 @@ def test_logs_complete(self):
126126
[],
127127
f"found: {entry.actor.unknown_fields.keys()}",
128128
)
129+
self.assertEqual(entry.details.is_token_rotation_enabled_app, True)
130+
self.assertEqual(entry.details.inviter.id, "inviter_id")
131+
self.assertEqual(entry.details.kicker.id, "kicker_id")
132+
self.assertEqual(entry.details.old_retention_policy.type, "old")
133+
self.assertEqual(entry.details.new_retention_policy.type, "new")
129134

130135

131136
logs_response_data = """{
@@ -242,27 +247,13 @@ def test_logs_complete(self):
242247
""
243248
],
244249
"inviter": {
245-
"type": "",
246-
"user": {
247-
"id": "",
248-
"name": "",
249-
"email": "",
250-
"team": ""
251-
},
252-
"id": "",
250+
"id": "inviter_id",
253251
"name": "",
254252
"email": "",
255253
"team": ""
256254
},
257255
"kicker": {
258-
"type": "",
259-
"user": {
260-
"id": "",
261-
"name": "",
262-
"email": "",
263-
"team": ""
264-
},
265-
"id": "",
256+
"id": "kicker_id",
266257
"name": "",
267258
"email": "",
268259
"team": ""
@@ -331,7 +322,16 @@ def test_logs_complete(self):
331322
"external_user_id": "",
332323
"external_user_email": "",
333324
"channel_id": "",
334-
"added_team_id": ""
325+
"added_team_id": "",
326+
"is_token_rotation_enabled_app": true,
327+
"old_retention_policy": {
328+
"type": "old",
329+
"duration_days": 111
330+
},
331+
"new_retention_policy": {
332+
"type": "new",
333+
"duration_days": 222
334+
}
335335
}
336336
}
337337
]

0 commit comments

Comments
 (0)