Skip to main content

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: