lms.backend.canvas.courses.groups.memberships.subtract

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

Subtract users from a group.