Add godoc
This commit is contained in:
parent
39f9bccef4
commit
aa7c403e60
6 changed files with 86 additions and 43 deletions
|
@ -24,17 +24,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
package types
|
package types
|
||||||
|
|
||||||
|
// Holds data about a class, which is usually a group of people studying a subject together
|
||||||
type Class struct {
|
type Class struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"` // Friendly-name of the class
|
||||||
ClassId string `json:"classId"`
|
ClassId string `json:"classId"` // UUID identifying the class
|
||||||
AbsenceMessageNotDeliveredCount int `json:"absenceMessageNotDeliveredCount"`
|
AbsenceMessageNotDeliveredCount int `json:"absenceMessageNotDeliveredCount"` // Purpose unknown
|
||||||
IsResponsible bool `json:"isResponsible"`
|
IsResponsible bool `json:"isResponsible"` // Purpose unknown
|
||||||
IsClass bool `json:"isClass"`
|
IsClass bool `json:"isClass"` // Purpose unknown
|
||||||
IsAdmin bool `json:"isAdmin"`
|
IsAdmin bool `json:"isAdmin"` // Purpose unknown
|
||||||
IsPrincipal bool `json:"isPrincipal"`
|
IsPrincipal bool `json:"isPrincipal"` // Purpose unknown
|
||||||
IsMentor bool `json:"isMentor"`
|
IsMentor bool `json:"isMentor"` // Purpose unknown
|
||||||
IsPreschoolGroup bool `json:"isPreschoolGroup"`
|
IsPreschoolGroup bool `json:"isPreschoolGroup"` // Purpose unknown
|
||||||
Teachers any `json:"teachers"` // TODO: MAKE TYPED
|
Teachers any `json:"teachers"` // Teachers for the class. TODO: MAKE TYPED
|
||||||
SubstituteTeacherId string `json:"substituteTeacherId"`
|
SubstituteTeacherId string `json:"substituteTeacherId"` // Teacher ID of the substitute teacher, if any
|
||||||
TeacherChangeStudents int `json:"teacherChangeStudents"`
|
TeacherChangeStudents int `json:"teacherChangeStudents"` // Purpose unknown
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
package types
|
package types
|
||||||
|
|
||||||
|
// Holds data about a room; a physical location within a school
|
||||||
type Room struct {
|
type Room struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"` // Name describing the room
|
||||||
RoomId string `json:"roomId"`
|
RoomId string `json:"roomId"` // UUID identifying the room
|
||||||
External bool `json:"external"`
|
External bool `json:"external"` // Whether or not the room is external (purpose unknown)
|
||||||
}
|
}
|
||||||
|
|
36
types/schedules.go
Normal file
36
types/schedules.go
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
GoSkola24API
|
||||||
|
Copyright (C) 2024, Zervó Zadachin
|
||||||
|
|
||||||
|
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Affero General Public License version 3
|
||||||
|
as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Affero General Public License version 3 for more details.
|
||||||
|
|
||||||
|
This program incorporates external libraries for certain functionalities.
|
||||||
|
These libraries are covered by their respective licenses, and their usage
|
||||||
|
agreements are as outlined in their respective documentation or source
|
||||||
|
code.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Affero General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package types
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// Holds data about a lesson, usually occurring once a week
|
||||||
|
type Lesson struct {
|
||||||
|
LessonId string `json:"lessonId"` // UUID identifying the lesson
|
||||||
|
DayOfWeek int `json:"dayOfWeek"` // Day of the week where lesson occurs (monday=1)
|
||||||
|
Start time.Time `json:"start"` // Time when the lesson starts
|
||||||
|
End time.Time `json:"end"` // Time when the lesson ends
|
||||||
|
Texts []string `json:"texts"` // Extra texts that may be displayed on timetable
|
||||||
|
}
|
|
@ -24,21 +24,23 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
package types
|
package types
|
||||||
|
|
||||||
|
// Holds data about a school
|
||||||
type School struct {
|
type School struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"` // Friendly-name of the school
|
||||||
SchoolId string `json:"schoolId"`
|
SchoolId string `json:"schoolId"` // UUID identifying the school
|
||||||
HostName string `json:"hostName"`
|
HostName string `json:"hostName"` // The hostname (domain) that the school belongs to
|
||||||
AllowCalendarExport bool `json:"allowCalendarExport"`
|
AllowCalendarExport bool `json:"allowCalendarExport"` // Whether traditional calendar export is allowed, does not affect this module
|
||||||
AvailableData DataAvailability `json:"availableData"`
|
AvailableData DataAvailability `json:"availableData"` // The types of data that the school provides
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Defines data availability, showing what type of data can be retrieved from an entity
|
||||||
type DataAvailability struct {
|
type DataAvailability struct {
|
||||||
HasClasses bool `json:"hasClasses"`
|
HasClasses bool `json:"hasClasses"` // Whether the school provides class data
|
||||||
HasCourses bool `json:"hasCourses"`
|
HasCourses bool `json:"hasCourses"` // Whether the school provides course data
|
||||||
HasGroups bool `json:"hasGroups"`
|
HasGroups bool `json:"hasGroups"` // Whether the school provides group data
|
||||||
HasResources bool `json:"hasResources"`
|
HasResources bool `json:"hasResources"` // Whether the school provides resource data
|
||||||
HasRooms bool `json:"hasRooms"`
|
HasRooms bool `json:"hasRooms"` // Whether the school provides room data
|
||||||
HasStudents bool `json:"hasStudents"`
|
HasStudents bool `json:"hasStudents"` // Whether the school provides student data
|
||||||
HasSubjects bool `json:"hasSubjects"`
|
HasSubjects bool `json:"hasSubjects"` // Whether the school provides subject data
|
||||||
HasTeachers bool `json:"hasTeachers"`
|
HasTeachers bool `json:"hasTeachers"` // Whether the school provides teacher data
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,14 +24,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
package types
|
package types
|
||||||
|
|
||||||
|
// Holds data about a teacher
|
||||||
type Teacher struct {
|
type Teacher struct {
|
||||||
FirstName string `json:"firstName"`
|
FirstName string `json:"firstName"` // Teacher's first name
|
||||||
LastName string `json:"lastName"`
|
LastName string `json:"lastName"` // Teacher's last name
|
||||||
FullName string `json:"fullName"`
|
FullName string `json:"fullName"` // Teacher's full name, usually including their initials
|
||||||
FriendlyId string `json:"friendlyId"`
|
FriendlyId string `json:"friendlyId"` // Friendly-ID of the teacher, usually their initials
|
||||||
TeacherId string `json:"teacherId"`
|
TeacherId string `json:"teacherId"` // UUID identifying the teacher
|
||||||
IsActive bool `json:"isActive"`
|
IsActive bool `json:"isActive"` // Purpose unknown
|
||||||
Integrity bool `json:"integrity"`
|
Integrity bool `json:"integrity"` // Purpose unknown
|
||||||
Reported bool `json:"reported"`
|
Reported bool `json:"reported"` // Purpose unknown
|
||||||
ReadOnly bool `json:"readOnly"`
|
ReadOnly bool `json:"readOnly"` // Purpose unknown
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,14 +24,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
package types
|
package types
|
||||||
|
|
||||||
|
// Holds data about a school term, aka semester
|
||||||
type SchoolTerm struct {
|
type SchoolTerm struct {
|
||||||
Start string `json:"start"`
|
Start string `json:"start"` // Start-date of the term
|
||||||
TermId string `json:"termId"`
|
TermId string `json:"termId"` // UUID identifying the term
|
||||||
Name string `json:"name"`
|
Name string `json:"name"` // Friendly-name of the term
|
||||||
End string `json:"end"`
|
End string `json:"end"` // End-date of the term
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Holds a list of active school terms
|
||||||
type Terms struct {
|
type Terms struct {
|
||||||
ActiveTerms []SchoolTerm `json:"activeSchoolYears"`
|
ActiveTerms []SchoolTerm `json:"activeSchoolYears"` // List of active terms
|
||||||
UseSchoolYearsFeatures bool `json:"useSchoolYearsFeatures"`
|
UseSchoolYearsFeatures bool `json:"useSchoolYearsFeatures"` // Purpose unknown
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue