Functional overview
Figure 15.1 shows a representation of the views and API endpoints that will be built in this chapter:
Figure 15.1: Diagram of API views and endpoints to be built in Chapter 15
In this chapter, you will create two different sets of API views, SubjectViewSet
and CourseViewSet
. The former will include the list and detail views for subjects. The latter will include the list and detail views for courses. You will also implement the enroll
action in CourseViewSet
to enroll students in courses. This action will be only available to authenticated users, by using the IsAuthenticated
permission. You will create the contents
action in CourseViewSet
to access a course’s content. To access course contents, users have to be authenticated and enrolled in the given course. You will implement the custom IsEnrolled
permission to limit access to contents to the users enrolled in the course.
If you are not familiar with API endpoints, you just need to know...