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:
SerializerSerializer for course app data.
- class openedx.core.djangoapps.course_apps.rest_api.v1.views.CourseAppsView(**kwargs)#
Bases:
DeveloperErrorViewMixin,APIViewA 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}
- {
- “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
}
- “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:
BasePermissionCheck 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.