lms.backend.canvas.courses.users.list
1import typing 2 3import lms.backend.canvas.common 4import lms.backend.canvas.model 5import lms.model.backend 6import lms.model.users 7 8BASE_ENDPOINT = "/api/v1/courses/{course_id}/users?per_page={page_size}" 9 10def request(backend: lms.model.backend.APIBackend, 11 course_id: int, 12 include_role: bool = True, 13 ) -> typing.List[lms.model.users.CourseUser]: 14 """ List course users. """ 15 16 url = backend.server + BASE_ENDPOINT.format(course_id = course_id, page_size = lms.backend.canvas.common.DEFAULT_PAGE_SIZE) 17 headers = backend.get_standard_headers() 18 19 if (include_role): 20 url += '&include[]=enrollments' 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 } 27 backend.not_found('list users', identifiers) 28 29 return [] 30 31 return [lms.backend.canvas.model.course_user(backend, raw_object) for raw_object in raw_objects]
BASE_ENDPOINT =
'/api/v1/courses/{course_id}/users?per_page={page_size}'
def
request( backend: lms.model.backend.APIBackend, course_id: int, include_role: bool = True) -> List[lms.model.users.CourseUser]:
11def request(backend: lms.model.backend.APIBackend, 12 course_id: int, 13 include_role: bool = True, 14 ) -> typing.List[lms.model.users.CourseUser]: 15 """ List course users. """ 16 17 url = backend.server + BASE_ENDPOINT.format(course_id = course_id, page_size = lms.backend.canvas.common.DEFAULT_PAGE_SIZE) 18 headers = backend.get_standard_headers() 19 20 if (include_role): 21 url += '&include[]=enrollments' 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 } 28 backend.not_found('list users', identifiers) 29 30 return [] 31 32 return [lms.backend.canvas.model.course_user(backend, raw_object) for raw_object in raw_objects]
List course users.