openedx.core.djangoapps.course_apps.rest_api.v1 package#

Submodules#

openedx.core.djangoapps.course_apps.rest_api.v1.urls module#

openedx.core.djangoapps.course_apps.rest_api.v1.views module#

class openedx.core.djangoapps.course_apps.rest_api.v1.views.CourseAppSerializer(*args, **kwargs)#

Bases: Serializer

Serializer for course app data.

to_representation(instance: CourseApp) Dict#

Object instance -> Dict of primitive datatypes.

class openedx.core.djangoapps.course_apps.rest_api.v1.views.CourseAppsView(**kwargs)#

Bases: DeveloperErrorViewMixin, APIView

A view for getting a list of all apps available for a course.

authentication_classes = (<class 'edx_rest_framework_extensions.auth.jwt.authentication.JwtAuthentication'>, <class 'openedx.core.lib.api.authentication.BearerAuthenticationAllowInactiveUser'>, <class 'edx_rest_framework_extensions.auth.session.authentication.SessionAuthenticationAllowInactiveUser'>)#
get(request: Request, course_id: str)#

Get a list of all the course apps available for a course.

Example Response

GET /api/course_apps/v1/apps/{course_id}

```json [

{
“allowed_operations”: {

“configure”: false, “enable”: true

}, “description”: “Provide an in-browser calculator that supports simple and complex calculations.”, “enabled”: false, “id”: “calculator”, “name”: “Calculator”

}, {

“allowed_operations”: {

“configure”: true, “enable”: true

}, “description”: “Encourage participation and engagement in your course with discussion forums.”, “enabled”: false, “id”: “discussion”, “name”: “Discussion”

]#

patch(request: Request, course_id: str)#

Enable/disable a course app.

Example Response

PATCH /api/course_apps/v1/apps/{course_id} {

“id”: “wiki”, “enabled”: true

}

```json {

“allowed_operations”: {

“configure”: false, “enable”: false

}, “description”: “Enable learners to access, and collaborate on information about your course.”, “enabled”: true, “id”: “wiki”, “name”: “Wiki”

}#

permission_classes = (<class 'openedx.core.djangoapps.course_apps.rest_api.v1.views.HasPagesAndResourcesAccess'>,)#
class openedx.core.djangoapps.course_apps.rest_api.v1.views.HasPagesAndResourcesAccess#

Bases: BasePermission

Check if the user has access to Pages & Resources.

Uses authz permissions when the feature flag is enabled, falling back to legacy studio access. GET requests check view permission, all others check manage permission.

has_permission(request, view)#

Return True if permission is granted, False otherwise.

Module contents#