lepo-project / roster-hub

RosterHub: Roster Management System based on IMS OneRoster specification

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement more OneRoster endpoints

kyoshizaki opened this issue · comments

1st Priority implementations

Service Call Endpoint HTTP Verb Action
getStudentsForClass /classes/{class_id}/students GET Return the collection of students that are taking this class.
getTeachersForClass /classes/{class_id}/teachers GET Return the collection of teachers that are teaching this class.

2nd Priority implementations

Service Call Endpoint HTTP Verb Action
getClassesForCourse /courses/{course_id}/classes GET Return the collection of classes that are teaching this course.
getClassesForStudent /students/{student_id}/classes GET Return the collection of classes that this student is taking.
getClassesForTeacher /teachers/{teacher_id}/classes GET Return the collection of classes that this teacher is teaching.
getClassesForSchool /schools/{school_id}/classes GET Return the collection of classes taught by this school.
getClassesForUser /users/{user_id}/classes GET Return the collection of classes attended by this user.

3rd Priority Implementations

Service Call Endpoint HTTP Verb Action
getEnrollmentsForSchool /schools/{school_id}/enrollments GET Return the collection of all enrollments for this school.
getStudentsForSchool /schools/{school_id}/students GET Return the collection of students attending this school.
getTeachersForSchool /schools/{school_id}/teachers GET Return the collection of teachers teaching at this school.
getTermsForSchool /schools/{school_id}/terms GET Return the collection of terms that are used by this school.

Remarks

getStudentsForSchool / getStudentsForSchool

  • users.csv has orgSourcedIds as string (list of GUID references), NOT as integer.
    • Assumption: User does not belong to multiple orgs.

getTermsForSchool

  • academicSessions.csv doesn't have schoolSourcedId, but relates to school(orgs.csv) through classes.csv (Intermediate table).

4th Priority Implementations

Service Call Endpoint HTTP Verb Action
getEnrollmentsForClassInSchool /schools/{school_id}/classes/{class_id}/enrollments GET Return the collection of all enrollments into this class.
getStudentsForClassInSchool /schools/{school_id}/classes/{class_id}/students GET Return the collection of students taking this class in this school.
getTeachersForClassInSchool /schools/{school_id}/classes/{class_id}/teachers GET Return the collection of teachers taking this class in this school.

Remarks

getEnrollmentsForClassInSchool

  • The school_id is used to select Enrollment.schoolSourcedId.
  • The definition of Enrollment.schoolSourcedId is "the school at which the class is being provided".
  • It seems redundant to specify both school_id and class_id.

getStudentsForClassInSchool / getTeachersForClassInSchool

  • The school_id is used to select Class.schoolSourcedId (which should be equal to Enrollment.schoolSourcedId).
  • It seems redundant to specify both school_id and class_id.