timetable.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { API } from '../api'
  2. import type { TCourses, TDays } from '~/types/timetable'
  3. class TimetableModule extends API {
  4. async getCourses(branch_id: number) {
  5. return await this.get<TCourses>(`/timetable/students/courses/${branch_id}`)
  6. }
  7. async getTimetable(branch_id: number, group_id: number, numberOfWeek: number) {
  8. return await this.get(
  9. `/timetable/students/courses/${branch_id}/group/${group_id}${numberOfWeek !== undefined ? `/week/${numberOfWeek}` : ''}`,
  10. )
  11. }
  12. async getClassrooms() {
  13. return await this.get(`/timetable/classrooms/`)
  14. }
  15. async getFreeClassrooms(time: string) {
  16. return await this.get(`/timetable/classrooms/free?time=${time}`)
  17. }
  18. async getClassroom(name: string) {
  19. return await this.get<TDays>(`/timetable/classrooms/room/${name}`)
  20. }
  21. async getTeacherTimetable(branch_id: number, teacher_id: number) {
  22. return await this.get(
  23. `/teachers/${branch_id}/id${teacher_id}`,
  24. )
  25. }
  26. async getTeachers(branch_id: number) {
  27. return await this.get(`/teachers/${branch_id}`)
  28. }
  29. }
  30. export default TimetableModule