lms.backend.canvas.courses.groups.memberships.list
1import typing 2 3import lms.backend.canvas.common 4import lms.backend.canvas.model 5import lms.model.backend 6import lms.model.groups 7import lms.model.groupsets 8import lms.model.users 9 10BASE_ENDPOINT = "/api/v1/groups/{group_id}/users?per_page={page_size}" 11 12def request(backend: lms.model.backend.APIBackend, 13 course_id: int, 14 groupset_id: int, 15 group_id: int, 16 ) -> typing.List[lms.model.groupsets.GroupSetMembership]: 17 """ List a group memberships. """ 18 19 url = backend.server + BASE_ENDPOINT.format(group_id = group_id, page_size = lms.backend.canvas.common.DEFAULT_PAGE_SIZE) 20 headers = backend.get_standard_headers() 21 22 raw_objects = lms.backend.canvas.common.make_get_request_list(url, headers = headers) 23 if (raw_objects is None): 24 identifiers = { 25 'course_id': course_id, 26 'groupset_id': groupset_id, 27 'group_id': group_id, 28 } 29 backend.not_found('list group memberships', identifiers) 30 31 return [] 32 33 groupset_query = lms.model.groupsets.GroupSetQuery(id = groupset_id) 34 group_query = lms.model.groups.GroupQuery(id = group_id) 35 36 memberships = [] 37 for raw_object in raw_objects: 38 user = lms.backend.canvas.model.course_user(backend, raw_object) 39 membership = lms.model.groupsets.GroupSetMembership(user = user.to_query(), groupset = groupset_query, group = group_query) 40 memberships.append(membership) 41 42 return memberships
BASE_ENDPOINT =
'/api/v1/groups/{group_id}/users?per_page={page_size}'
def
request( backend: lms.model.backend.APIBackend, course_id: int, groupset_id: int, group_id: int) -> List[lms.model.groupsets.GroupSetMembership]:
13def request(backend: lms.model.backend.APIBackend, 14 course_id: int, 15 groupset_id: int, 16 group_id: int, 17 ) -> typing.List[lms.model.groupsets.GroupSetMembership]: 18 """ List a group memberships. """ 19 20 url = backend.server + BASE_ENDPOINT.format(group_id = group_id, page_size = lms.backend.canvas.common.DEFAULT_PAGE_SIZE) 21 headers = backend.get_standard_headers() 22 23 raw_objects = lms.backend.canvas.common.make_get_request_list(url, headers = headers) 24 if (raw_objects is None): 25 identifiers = { 26 'course_id': course_id, 27 'groupset_id': groupset_id, 28 'group_id': group_id, 29 } 30 backend.not_found('list group memberships', identifiers) 31 32 return [] 33 34 groupset_query = lms.model.groupsets.GroupSetQuery(id = groupset_id) 35 group_query = lms.model.groups.GroupQuery(id = group_id) 36 37 memberships = [] 38 for raw_object in raw_objects: 39 user = lms.backend.canvas.model.course_user(backend, raw_object) 40 membership = lms.model.groupsets.GroupSetMembership(user = user.to_query(), groupset = groupset_query, group = group_query) 41 memberships.append(membership) 42 43 return memberships
List a group memberships.