Skip to content

Commit 3b95242

Browse files
committed
Add: Rooms API parameters
1 parent 7f67bd9 commit 3b95242

File tree

1 file changed

+69
-4
lines changed

1 file changed

+69
-4
lines changed

webexteamssdk/api/rooms.py

Lines changed: 69 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def list(
7979
type=None,
8080
sortBy=None,
8181
max=100,
82-
**request_parameters
82+
**request_parameters,
8383
):
8484
"""List rooms.
8585
@@ -138,7 +138,17 @@ def list(
138138
for item in items:
139139
yield self._object_factory(OBJECT_TYPE, item)
140140

141-
def create(self, title, teamId=None, **request_parameters):
141+
def create(
142+
self,
143+
title,
144+
teamId=None,
145+
classificationId=None,
146+
isLocked=None,
147+
isPublic=None,
148+
description=None,
149+
isAnnouncementOnly=None,
150+
**request_parameters,
151+
):
142152
"""Create a room.
143153
144154
The authenticated user is automatically added as a member of the room.
@@ -147,6 +157,15 @@ def create(self, title, teamId=None, **request_parameters):
147157
title(basestring): A user-friendly name for the room.
148158
teamId(basestring): The team ID with which this room is
149159
associated.
160+
classificationId(basestring): The classification ID for the room.
161+
isLocked(bool): Set the space as locked/moderated and the creator
162+
becomes a moderator.
163+
isPublic(bool): The room is public and therefore discoverable
164+
within the org. Anyone can find and join that room. When `true`
165+
the description must be filled in.
166+
description(basestring): The description of the space.
167+
isAnnouncementOnly(bool): Sets the space into Announcement Mode or
168+
clears the Announcement Mode (`false`).
150169
**request_parameters: Additional request parameters (provides
151170
support for parameters that may be added in the future).
152171
@@ -158,8 +177,13 @@ def create(self, title, teamId=None, **request_parameters):
158177
ApiError: If the Webex Teams cloud returns an error.
159178
160179
"""
161-
check_type(title, basestring, optional=True)
180+
check_type(title, basestring)
162181
check_type(teamId, basestring, optional=True)
182+
check_type(classificationId, basestring, optional=True)
183+
check_type(isLocked, bool, optional=True)
184+
check_type(isPublic, bool, optional=True)
185+
check_type(description, basestring, optional=True)
186+
check_type(isAnnouncementOnly, bool, optional=True)
163187

164188
post_data = dict_from_items_with_values(
165189
request_parameters,
@@ -221,12 +245,39 @@ def get_meeting_info(self, roomId):
221245
# Return a room meeting info object created from the response JSON data
222246
return self._object_factory("room_meeting_info", json_data)
223247

224-
def update(self, roomId, title, **request_parameters):
248+
def update(
249+
self,
250+
roomId,
251+
title,
252+
classificationId=None,
253+
teamId=None,
254+
isLocked=None,
255+
isPublic=None,
256+
description=None,
257+
isAnnouncementOnly=None,
258+
isReadOnly=None,
259+
**request_parameters,
260+
):
225261
"""Update details for a room, by ID.
226262
227263
Args:
228264
roomId(basestring): The room ID.
229265
title(basestring): A user-friendly name for the room.
266+
classificationId(basestring): The classification ID for the room.
267+
teamId(basestring): The teamId to which this space should be
268+
assigned. Only unowned spaces can be assigned to a team.
269+
Assignment between teams is unsupported.
270+
isLocked(bool): Set the space as locked/moderated and the creator
271+
becomes a moderator.
272+
isPublic(bool): The room is public and therefore discoverable
273+
within the org. Anyone can find and join that room. When `true`
274+
the description must be filled in.
275+
description(basestring): The description of the space.
276+
isAnnouncementOnly(bool): Sets the space into Announcement Mode or
277+
clears the Announcement Mode (`false`).
278+
isReadOnly(bool): A compliance officer can set a direct room as
279+
read-only, which will disallow any new information exchanges in
280+
this space, while maintaining historical data.
230281
**request_parameters: Additional request parameters (provides
231282
support for parameters that may be added in the future).
232283
@@ -240,10 +291,24 @@ def update(self, roomId, title, **request_parameters):
240291
"""
241292
check_type(roomId, basestring)
242293
check_type(title, basestring)
294+
check_type(classificationId, basestring, optional=True)
295+
check_type(teamId, basestring, optional=True)
296+
check_type(isLocked, bool, optional=True)
297+
check_type(isPublic, bool, optional=True)
298+
check_type(description, basestring, optional=True)
299+
check_type(isAnnouncementOnly, bool, optional=True)
300+
check_type(isReadOnly, bool, optional=True)
243301

244302
put_data = dict_from_items_with_values(
245303
request_parameters,
246304
title=title,
305+
classificationId=classificationId,
306+
teamId=teamId,
307+
isLocked=isLocked,
308+
isPublic=isPublic,
309+
description=description,
310+
isAnnouncementOnly=isAnnouncementOnly,
311+
isReadOnly=isReadOnly,
247312
)
248313

249314
# API request

0 commit comments

Comments
 (0)