Expand description

Controllers for requests starting with /api/v0/course-material/courses.

StructsΒ§

FunctionsΒ§

  • Add a route for each controller in this module.
  • Combines course modules and chapters, consuming them.
  • Used in get_course_page_by_path for path for anonymous visitor counts
  • POST /api/v0/course-material/courses/:course_id/feedback - Creates new feedback.
  • GET /api/v0/course-material/courses/:course_id/fetch-user-marketing-consent
  • GET /api/v0/course-material/courses/:id/language-versions - Returns all language versions of the same course. Since this is for course material, this does not include draft courses. To make developing new courses easier, we include draft courses if the course the request for is a draft course and the teacher has a permission to access it.
  • get_chapters πŸ”’
    GET /api/v0/course-material/courses/:course_id/chapters - Returns a list of chapters in a course.
  • get_course πŸ”’
    GET /api/v0/course-material/courses/:course_id - Get course.
  • GET /api/v0/course-material/courses/:course_id/course-instances - Returns all course instances for given course id.
  • GET /:course_slug/page-by-path/... - Returns a course page by path
  • GET /api/v0/course-material/courses/:course_id/current-instance - Returns the instance of a course for the current user, if there is one.
  • GET /courses/:course_id/custom-privacy-policy-checkbox-texts - Used to get customized checkbox texts for courses that use a different privacy policy than all our other courses (e.g. the Elements of AI course). These texts are shown in the course settings dialog.
  • GET `/api/v0/{course_id}/pages/by-language-group-id/{page_language_group_id} - Returns a page with the given course id and language group id.
  • GET /courses/:course_id/partners_blocks - Gets a partners block related to a course
  • get_privacy_link πŸ”’
    GET /courses/:course_id/privacy_link - Gets a privacy link related to a course
  • GET /api/v0/course-material/courses/:course_id/pages - Returns a list of public pages on a course.
  • GET /api/v0/course-material/courses/:course_id/top-level-pages
  • GET /api/v0/course/courses/:course_id/research-consent-form-users-answers - Fetches users answers for courses research form.
  • GET /api/v0/course-material/courses/:course_id/research-consent-form-questions - Fetches courses research form questions with course id.
  • GET /api/v0/course-material/courses/:course_id/research-consent-form - Fetches courses research form with course id.
  • GET `/api/v0/{course_id}/course-instances/{course_instance_id}/student-countries - Returns countries of student registered in a course.
  • GET `/api/v0/{course_id}/student-country - Returns country of a student registered in a course.
  • GET /api/v0/course-material/courses/:course_id/user-settings - Returns user settings for the current course.
  • glossary πŸ”’
  • propose_edit πŸ”’
    POST /api/v0/course-material/courses/:course_slug/edit - Creates a new edit proposal.
  • POST /api/v0/course-material/courses/:course_id/search-pages-with-phrase - Returns a list of pages given a search query.
  • POST /api/v0/course-material/courses/:course_id/search-pages-with-words - Returns a list of pages given a search query.
  • student_country πŸ”’
    POST /api/v0/{course_id}/course-instances/{course_instance_id}/student-countries/{country_code} - Add a new student’s country entry.
  • POST /api/v0/course-material/courses/:course_id/user-marketing-consent - Adds or updates user’s marketing consent for a specific course.
  • POST /api/v0/course-material/courses/:course_id/research-consent-form-questions-answer - Upserts users consent for a courses research form question.