exam and schedule methods
Three calls: list semesters that have exam events, list events, fetch a schedule. ExamEvent is src/exam.js.
Order#
flowchart TD A[get_semesters_for_exam_events] --> B[Semester] B --> C[get_exam_events] C --> D[ExamEvent] D --> E[get_exam_schedule] E --> F[raw schedule object]
get_semesters_for_exam_events#
async get_semesters_for_exam_events()
POST /studentcommonsontroller/getsemestercode-withstudentexamevents
{ clientid, instituteid, memberid: this.session.memberid }
Maps resp.response.semesterCodeinfo.semestercode with Semester.from_json.
get_exam_events#
async get_exam_events(semester)
POST /studentcommonsontroller/getstudentexamevents
{
instituteid,
registationid: semester.registration_id, // portal key spelling
}
Maps resp.response.eventcode.examevent with ExamEvent.from_json.
classDiagram
class ExamEvent {
exam_event_code
event_from
exam_event_desc
registration_id
exam_event_id
}JSON → fields: exameventcode, eventfrom, exameventdesc, registrationid, exameventid.
get_exam_schedule#
async get_exam_schedule(exam_event)
POST /studentsttattview/getstudent-examschedule
{
instituteid,
registrationid: exam_event.registration_id,
exameventid: exam_event.exam_event_id,
}
Returns resp.response. Venue and paper rows stay as the portal sent them.
sequenceDiagram participant App participant WP as WebPortal participant API as StudentPortalAPI App->>WP: get_semesters_for_exam_events WP->>API: getsemestercode-withstudentexamevents App->>WP: get_exam_events(sem) WP->>API: getstudentexamevents App->>WP: get_exam_schedule(event) WP->>API: getstudent-examschedule API-->>App: schedule
All three methods encrypt the payload with serialize_payload and sit on authenticatedMethods.