lms.backend.canvas.courses.groups.memberships.subtract
1import typing 2 3import lms.backend.canvas.common 4import lms.model.constants 5 6BASE_ENDPOINT = "/api/v1/groups/{group_id}/users" 7 8def request(backend: typing.Any, 9 course_id: int, 10 groupset_id: int, 11 group_id: int, 12 user_ids: typing.List[int], 13 ) -> int: 14 """ Subtract users from a group. """ 15 16 url = backend.server + BASE_ENDPOINT.format(group_id = group_id) 17 headers = backend.get_standard_headers() 18 19 headers[lms.model.constants.HEADER_KEY_WRITE] = 'true' 20 21 data = { 22 'user_ids[]': sorted(user_ids), 23 } 24 25 raw_object = lms.backend.canvas.common.make_delete_request(url, headers = headers, data = data) 26 if (raw_object is None): 27 identifiers = { 28 'course_id': course_id, 29 'groupset_id': groupset_id, 30 'group_id': group_id, 31 'user_ids': user_ids, 32 } 33 backend.not_found('subtract group memberships', identifiers) 34 35 return 0 36 37 return len(raw_object['deleted_user_ids'])
BASE_ENDPOINT =
'/api/v1/groups/{group_id}/users'
def
request( backend: Any, course_id: int, groupset_id: int, group_id: int, user_ids: List[int]) -> int:
9def request(backend: typing.Any, 10 course_id: int, 11 groupset_id: int, 12 group_id: int, 13 user_ids: typing.List[int], 14 ) -> int: 15 """ Subtract users from a group. """ 16 17 url = backend.server + BASE_ENDPOINT.format(group_id = group_id) 18 headers = backend.get_standard_headers() 19 20 headers[lms.model.constants.HEADER_KEY_WRITE] = 'true' 21 22 data = { 23 'user_ids[]': sorted(user_ids), 24 } 25 26 raw_object = lms.backend.canvas.common.make_delete_request(url, headers = headers, data = data) 27 if (raw_object is None): 28 identifiers = { 29 'course_id': course_id, 30 'groupset_id': groupset_id, 31 'group_id': group_id, 32 'user_ids': user_ids, 33 } 34 backend.not_found('subtract group memberships', identifiers) 35 36 return 0 37 38 return len(raw_object['deleted_user_ids'])
Subtract users from a group.