Get Exam Notifications
Overview
The "Get Exams" feature in the ExamX is designed to present a paginated table listing exam notifications created within the system. This documentation provides a detailed understanding of the backend processes involved in rendering and filtering the exam information for university admin users.
Feature Description
-
Purpose: The primary purpose of this API is to provide a mechanism for fetching exam notifications based on various attributes.
-
Key functions:
- Pagination: The API supports pagination through the use of the limit and offset parameters, allowing users to retrieve a specific number of exam notifications starting from a specified position.
- Filtering: Filters allows users to obtain information about specific exam notifications. Users can filter exam notifications based on parameters such as
- notification name
- course
- regulation
- semester
- year, month
- exam type
- evaluation type
- honors/minors exam status
- archived status
- publication status
-
Output: Total count of exam notifications, paginated list of exam notifications
Process Flow
Development Steps
- Check Permission: Validate that user attempting to create exam possess the 'end_semester_examinations_view' permission.
- Construct a sql query:
- Join the entities SubjectType, Course with ExamGroup. Include a condition to filter based on the institutionId from the Course entity.
- Additionally, incorporate other filter conditions based on the input provided. The input filters can be the following:
- search string
- courseId
- regulationId
- semNo
- exam year/month
- evaluationType
- examType
- isHonorsMinorsExam
- isArchived
- published
- revalPublished
- isExamPublished.
Functions with individual test cases
getExamGroups
- constructs a sql query as mentioned in the development steps and returns count of notifications, an array of exam notifications.
Dependent Modules
- Subject Type Entity
- Course Entity
Conclusion
The "Get Exam Notifications" API presents a well-organized paginated list of exams. The added functionality of filters allows users to obtain information about specific exam notifications.
References
- API Postman Link: