lms.backend.canvas.courses.groups.create

 1import typing
 2
 3import lms.backend.canvas.common
 4import lms.backend.canvas.model
 5import lms.model.constants
 6import lms.model.groups
 7
 8BASE_ENDPOINT = "/api/v1/group_categories/{groupset_id}/groups"
 9
10def request(backend: typing.Any,
11        course_id: int,
12        groupset_id: int,
13        name: str,
14        ) -> lms.model.groups.Group:
15    """ Create a group. """
16
17    url = backend.server + BASE_ENDPOINT.format(groupset_id = groupset_id)
18    headers = backend.get_standard_headers()
19
20    headers[lms.model.constants.HEADER_KEY_WRITE] = 'true'
21
22    data = {
23        'name': name,
24    }
25
26    raw_object = lms.backend.canvas.common.make_post_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        }
32        backend.not_found('create group', identifiers)
33
34        raise ValueError(f"Unable to create group '{name}' for course '{course_id}' and group set '{groupset_id}'.")
35
36    return lms.backend.canvas.model.group(raw_object)
BASE_ENDPOINT = '/api/v1/group_categories/{groupset_id}/groups'
def request( backend: Any, course_id: int, groupset_id: int, name: str) -> lms.model.groups.Group:
11def request(backend: typing.Any,
12        course_id: int,
13        groupset_id: int,
14        name: str,
15        ) -> lms.model.groups.Group:
16    """ Create a group. """
17
18    url = backend.server + BASE_ENDPOINT.format(groupset_id = groupset_id)
19    headers = backend.get_standard_headers()
20
21    headers[lms.model.constants.HEADER_KEY_WRITE] = 'true'
22
23    data = {
24        'name': name,
25    }
26
27    raw_object = lms.backend.canvas.common.make_post_request(url, headers = headers, data = data)
28    if (raw_object is None):
29        identifiers = {
30            'course_id': course_id,
31            'groupset_id': groupset_id,
32        }
33        backend.not_found('create group', identifiers)
34
35        raise ValueError(f"Unable to create group '{name}' for course '{course_id}' and group set '{groupset_id}'.")
36
37    return lms.backend.canvas.model.group(raw_object)

Create a group.