Documentation
¶
Index ¶
- Constants
- Variables
- func AstraEvents(c *gin.Context)
- func AstraEventsByBuilding(c *gin.Context)
- func AstraEventsByBuildingAndRoom(c *gin.Context)
- func AutocompleteDAG(c *gin.Context)
- func BucketInfo(c *gin.Context)
- func ClubDirectoryInfo(c *gin.Context)
- func ClubSearch(c *gin.Context)
- func CometCalendarEvents(c *gin.Context)
- func CometCalendarEventsByBuilding(c *gin.Context)
- func CometCalendarEventsByBuildingAndRoom(c *gin.Context)
- func CourseAll(c *gin.Context)
- func CourseById(c *gin.Context)
- func CourseProfessorById(c *gin.Context)
- func CourseProfessorSearch(c *gin.Context)
- func CourseSearch(c *gin.Context)
- func CourseSectionById(c *gin.Context)
- func CourseSectionSearch(c *gin.Context)
- func DeleteBucket(c *gin.Context)
- func DeleteObject(c *gin.Context)
- func DiscountSearch(c *gin.Context)
- func Events(c *gin.Context)
- func EventsByBuilding(c *gin.Context)
- func EventsByRoom(c *gin.Context)
- func GradeAggregationSemester(c *gin.Context)
- func GradesAggregationOverall(c *gin.Context)
- func GradesAggregationSectionType(c *gin.Context)
- func GradesByCourseID(c *gin.Context)
- func GradesByProfessorID(c *gin.Context)
- func GradesBySectionID(c *gin.Context)
- func MazevoEvents(c *gin.Context)
- func ObjectInfo(c *gin.Context)
- func ObjectSignedURL(c *gin.Context)
- func PostObject(c *gin.Context)
- func Preflight(c *gin.Context)
- func PrettyPrint(pipeline mongo.Pipeline)
- func ProfessorAll(c *gin.Context)
- func ProfessorById(c *gin.Context)
- func ProfessorCourseById(c *gin.Context)
- func ProfessorCourseSearch(c *gin.Context)
- func ProfessorSearch(c *gin.Context)
- func ProfessorSectionById(c *gin.Context)
- func ProfessorSectionSearch(c *gin.Context)
- func QueueEmail(c *gin.Context)
- func Rooms(c *gin.Context)
- func SectionById(c *gin.Context)
- func SectionCourseById(c *gin.Context)
- func SectionCourseSearch(c *gin.Context)
- func SectionProfessorById(c *gin.Context)
- func SectionProfessorSearch(c *gin.Context)
- func SectionSearch(c *gin.Context)
- func SectionsByRoomDetailed(c *gin.Context)
- func SendEmail(c *gin.Context)
- func TrendsCourseSectionSearch(c *gin.Context)
- func TrendsProfessorSectionSearch(c *gin.Context)
Constants ¶
const (
PROJECT_ID = "nebula-api-368223"
)
Variables ¶
var DAGCollection *mongo.Collection = configs.GetCollection("DAG")
Functions ¶
func AstraEvents ¶
@Id AstraEvents @Router /astra/{date} [get] @Tags Events @Description "Returns AstraEvent based on the input date" @Produce json @Param date path string true "date (ISO format) to retrieve astra events" @Success 200 {object} schema.APIResponse[schema.MultiBuildingEvents[schema.AstraEvent]] "All AstraEvents with events on the inputted date" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func AstraEventsByBuilding ¶
@Id AstraEventsByBuilding @Router /astra/{date}/{building} [get] @Tags Events @Description "Returns AstraEvent based on the input date and building name" @Produce json @Param date path string true "date (ISO format) to retrieve astra events" @Param building path string true "building abbreviation of event locations" @Success 200 {object} schema.APIResponse[schema.SingleBuildingEvents[schema.AstraEvent]] "All sections with meetings on the specified date in the specified building" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 404 {object} schema.APIResponse[string] "A string describing the error"
func AstraEventsByBuildingAndRoom ¶
@Id AstraEventsByBuildingandRoom @Router /astra/{date}/{building}/{room} [get] @Tags Events @Description "Returns AstraEvent based on the input date building name and room number" @Produce json @Param date path string true "date (ISO format) to retrieve astra events" @Param building path string true "building abbreviation of event locations" @Param room path string true "room number for event" @Success 200 {object} schema.APIResponse[schema.SingleBuildingEvents[schema.AstraEvent]] "All sections with meetings on the specified date in the specified building" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 404 {object} schema.APIResponse[string] "A string describing the error"
func AutocompleteDAG ¶
@Id autocompleteDAG @Router /autocomplete/dag [get] @Tags Other @Description "Returns an aggregation of courses for use in generating autocomplete DAGs" @Produce json @Success 200 {object} schema.APIResponse[[]schema.Autocomplete] "An aggregation of courses for use in generating autocomplete DAGs" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func BucketInfo ¶
@Id bucketInfo @Router /storage/{bucket} [get] @Tags Internal @Description "Get info on a bucket. This route is restricted to only Nebula Labs internal Projects." @Param bucket path string true "Name of the bucket" @Param x-storage-key header string true "The internal storage key" @Success 200 {object} schema.APIResponse[schema.BucketInfo] "The bucket's info" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func ClubDirectoryInfo ¶
@Id clubGet @Router /club/{id} [get] @Tags Clubs @Description "Returns the directory info for given club." @Produce json @Param id path string true "ID of the club to get" @Success 200 {object} schema.APIResponse[schema.Club] "A club" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func ClubSearch ¶
@Id clubSearch @Router /club/search [get] @Tags Clubs @Description "Returns list of clubs matching the search string" @Produce json @Param q query string true "Search string" @Success 200 {object} schema.APIResponse[[]schema.Club] "List of matching clubs" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func CometCalendarEvents ¶
@Id CometCalendarEvents @Router /calendar/{date} [get] @Tags Events @Description "Returns CometCalendarEvent based on the input date" @Produce json @Param date path string true "date (ISO format) to retrieve comet calendar events" @Success 200 {object} schema.APIResponse[schema.MultiBuildingEvents[schema.Event]] "All CometCalendarEvents with events on the inputted date" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func CometCalendarEventsByBuilding ¶
@Id CometCalendarEventsByBuilding @Router /calendar/{date}/{building} [get] @Tags Events @Description "Returns CometCalendarEvent based on the input date and building name" @Produce json @Param date path string true "date (ISO format) to retrieve comet calendar events" @Param building path string true "building abbreviation of event locations" @Success 200 {object} schema.APIResponse[schema.SingleBuildingEvents[schema.Event]] "All events on the specified date in the specified building" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 404 {object} schema.APIResponse[string] "A string describing the error"
func CometCalendarEventsByBuildingAndRoom ¶
@Id CometCalendarEventsByBuildingAndRoom @Router /calendar/{date}/{building}/{room} [get] @Tags Events @Description "Returns CometCalendarEvent based on the input date building name and room number" @Produce json @Param date path string true "date (ISO format) to retrieve comet calendar events" @Param building path string true "building abbreviation of event locations" @Param room path string true "room number for event" @Success 200 {object} schema.APIResponse[schema.RoomEvents[schema.Event]] "All events on the specified date in the specified building and room" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 404 {object} schema.APIResponse[string] "A string describing the error"
func CourseAll ¶
@Id courseAll @Router /course/all [get] @Tags Courses @Description "Returns all courses" @Produce json @Success 200 {object} schema.APIResponse[[]schema.Course] "All courses" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func CourseById ¶
@Id courseById @Router /course/{id} [get] @Tags Courses @Description "Returns the course with given ID" @Produce json @Param id path string true "ID of the course to get" @Success 200 {object} schema.APIResponse[schema.Course] "A course" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func CourseProfessorById ¶
@Id courseProfessorById @Router /course/{id}/professors [get] @Tags Courses @Description "Returns the all of the professors of the course with given ID" @Produce json @Param id path string true "ID of the course to get" @Success 200 {object} schema.APIResponse[[]schema.Professor] "A list of professors" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func CourseProfessorSearch ¶
@Id courseProfessorSearch @Router /course/professors [get] @Tags Courses @Description "Returns paginated list of professors of all the courses matching the query's string-typed key-value pairs. See former_offset and latter_offset for pagination details." @Produce json @Param former_offset query number false "The starting position of the current page of courses (e.g. For starting at the 17th course, former_offset=16)." @Param latter_offset query number false "The starting position of the current page of professors (e.g. For starting at the 4th professor, latter_offset=3)." @Param course_number query string false "The course's official number" @Param subject_prefix query string false "The course's subject prefix" @Param title query string false "The course's title" @Param description query string false "The course's description" @Param school query string false "The course's school" @Param credit_hours query string false "The number of credit hours awarded by successful completion of the course" @Param class_level query string false "The level of education that this course course corresponds to" @Param activity_type query string false "The type of class this course corresponds to" @Param grading query string false "The grading status of this course" @Param internal_course_number query string false "The internal (university) number used to reference this course" @Param lecture_contact_hours query string false "The weekly contact hours in lecture for a course" @Param offering_frequency query string false "The frequency of offering a course" @Success 200 {object} schema.APIResponse[[]schema.Professor] "A list of professors" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func CourseSearch ¶
@Id courseSearch @Router /course [get] @Tags Courses @Description "Returns paginated list of courses matching the query's string-typed key-value pairs. See offset for more details on pagination." @Produce json @Param offset query number false "The starting position of the current page of courses (e.g. For starting at the 17th course, offset=16)." @Param course_number query string false "The course's official number" @Param subject_prefix query string false "The course's subject prefix" @Param title query string false "The course's title" @Param description query string false "The course's description" @Param school query string false "The course's school" @Param credit_hours query string false "The number of credit hours awarded by successful completion of the course" @Param class_level query string false "The level of education that this course course corresponds to" @Param activity_type query string false "The type of class this course corresponds to" @Param grading query string false "The grading status of this course" @Param internal_course_number query string false "The internal (university) number used to reference this course" @Param lecture_contact_hours query string false "The weekly contact hours in lecture for a course" @Param offering_frequency query string false "The frequency of offering a course" @Success 200 {object} schema.APIResponse[[]schema.Course] "A list of courses" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func CourseSectionById ¶
@Id courseSectionById @Router /course/{id}/sections [get] @Tags Courses @Description "Returns the all of the sections of the course with given ID" @Produce json @Param id path string true "ID of the course to get" @Success 200 {object} schema.APIResponse[[]schema.Section] "A list of sections" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func CourseSectionSearch ¶
@Id courseSectionSearch @Router /course/sections [get] @Tags Courses @Description "Returns paginated list of sections of all the courses matching the query's string-typed key-value pairs. See former_offset and latter_offset for pagination details." @Produce json @Param former_offset query number false "The starting position of the current page of courses (e.g. For starting at the 17th course, former_offset=16)." @Param latter_offset query number false "The starting position of the current page of sections (e.g. For starting at the 4th section, latter_offset=3)." @Param course_number query string false "The course's official number" @Param subject_prefix query string false "The course's subject prefix" @Param title query string false "The course's title" @Param description query string false "The course's description" @Param school query string false "The course's school" @Param credit_hours query string false "The number of credit hours awarded by successful completion of the course" @Param class_level query string false "The level of education that this course course corresponds to" @Param activity_type query string false "The type of class this course corresponds to" @Param grading query string false "The grading status of this course" @Param internal_course_number query string false "The internal (university) number used to reference this course" @Param lecture_contact_hours query string false "The weekly contact hours in lecture for a course" @Param offering_frequency query string false "The frequency of offering a course" @Success 200 {object} schema.APIResponse[[]schema.Section] "A list of sections" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func DeleteBucket ¶
@Id deleteBucket @Router /storage/{bucket} [delete] @Tags Internal @Description "Delete a bucket. This route is restricted to only Nebula Labs internal Projects." @Param bucket path string true "Name of the bucket" @Param x-storage-key header string true "The internal storage key" @Success 200 {object} schema.APIResponse[int] "The number of objects that were in the deleted bucket" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func DeleteObject ¶
@Id deleteObject @Router /storage/{bucket}/{objectID} [delete] @Tags Internal @Description "Delete an object from a bucket. This route is restricted to only Nebula Labs internal Projects." @Param bucket path string true "Name of the bucket" @Param objectID path string true "ID of the object" @Param x-storage-key header string true "The internal storage key" @Success 200 {object} schema.APIResponse[int] "Placeholder response, always set to 1" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func DiscountSearch ¶
@Id discountPrograms @Router /discountPrograms [get] @Tags Discounts @Description "Returns list of discounts filtered using field-specific keyword searches or full-text search." @Produce json @Param category query string false "The discount's category (exact match with suggestions)." @Param business query string false "The discount's business contains this keyword (case-insensitive)." @Param address query string false "The discount's address contains this keyword (case-insensitive)." @Param discount query string false "The discount's discount contains this keyword (case-insensitive)." @Param q query string false "Full-text search, must be used alone." @Success 200 {object} schema.APIResponse[[]schema.DiscountProgram] "A list of discounts" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func Events ¶
@Id events @Router /events/{date} [get] @Tags Events @Description "Returns all sections with meetings on the specified date" @Produce json @Param date path string true "ISO date of the set of events to get" @Success 200 {object} schema.APIResponse[schema.MultiBuildingEvents[schema.SectionWithTime]] "All sections with meetings on the specified date" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func EventsByBuilding ¶
@Id eventsByBuilding @Router /events/{date}/{building} [get] @Tags Events @Description "Returns all sections with meetings on the specified date in the specified building" @Produce json @Param date path string true "ISO date of the set of events to get" @Param building path string true "building abbreviation of event locations" @Success 200 {object} schema.APIResponse[schema.SingleBuildingEvents[schema.SectionWithTime]] "All sections with meetings on the specified date in the specified building" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 404 {object} schema.APIResponse[string] "A string describing the error"
func EventsByRoom ¶
@Id eventsByRoom @Router /events/{date}/{building}/{room} [get] @Tags Events @Description "Returns all sections with meetings on the specified date in the specified building and room" @Produce json @Param date path string true "ISO date of the set of events to get" @Param building path string true "building abbreviation of the event location" @Param room path string true "room number" @Success 200 {object} schema.APIResponse[schema.RoomEvents[schema.SectionWithTime]] "All sections with meetings on the specified date in the specified building and room" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 404 {object} schema.APIResponse[string] "A string describing the error"
func GradeAggregationSemester ¶
@Id gradeAggregationBySemester @Router /grades/semester [get] @Tags Grades @Description "Returns grade distributions aggregated by semester" @Produce json @Param prefix query string false "The course's subject prefix" @Param number query string false "The course's official number" @Param first_name query string false "The professor's first name" @Param last_name query string false "The professors's last name" @Param section_number query string false "The number of the section" @Success 200 {object} schema.APIResponse[[]schema.GradeData] "An array of grade distributions for each semester included" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func GradesAggregationOverall ¶
@Id gradeAggregationOverall @Router /grades/overall [get] @Tags Grades @Description "Returns the overall grade distribution" @Produce json @Param prefix query string false "The course's subject prefix" @Param number query string false "The course's official number" @Param first_name query string false "The professor's first name" @Param last_name query string false "The professors's last name" @Param section_number query string false "The number of the section" @Success 200 {object} schema.APIResponse[[]int] "A grade distribution array" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func GradesAggregationSectionType ¶
@Id gradeAggregationSectionType @Router /grades/semester/sectionType [get] @Tags Grades @Description "Returns the grade distributions aggregated by semester and broken down into section type" @Produce json @Param prefix query string false "The course's subject prefix" @Param number query string false "The course's official number" @Param first_name query string false "The professor's first name" @Param last_name query string false "The professors's last name" @Param section_number query string false "The number of the section" @Success 200 {object} schema.APIResponse[[]schema.TypedGradeData] "An array of grade distributions for each section type for each semester included" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func GradesByCourseID ¶
@Id GradesByCourseID @Router /course/{id}/grades [get] @Tags Courses @Description "Returns the overall grade distribution for a course" @Produce json @Param id path string true "ID of course to get grades for" @Success 200 {object} schema.APIResponse[[]int] "A grade distribution array for the course" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func GradesByProfessorID ¶
@Id GradesByProfessorID @Router /professor/{id}/grades [get] @Tags Professors @Description "Returns the overall grade distribution for a professor" @Produce json @Param id path string true "ID of professor to get grades for" @Success 200 {object} schema.APIResponse[[]int] "A grade distribution array for the professor" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func GradesBySectionID ¶
@Id GradesBySectionID @Router /section/{id}/grades [get] @Tags Sections @Description "Returns the overall grade distribution for a section" @Produce json @Param id path string true "ID of section to get grades for" @Success 200 {object} schema.APIResponse[[]int] "A grade distribution array for the section" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func MazevoEvents ¶
@Id MazevoEvents @Router /mazevo/{date} [get] @Tags Events @Description "Returns MazevoEvent based on the input date" @Produce json @Param date path string true "date (ISO format) to retrieve mazevo events" @Success 200 {object} schema.APIResponse[schema.MultiBuildingEvents[schema.MazevoEvent]] "All MazevoEvents with events on the inputted date" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func ObjectInfo ¶
@Id objectInfo @Router /storage/{bucket}/{objectID} [get] @Tags Internal @Description "Get info on an object in a bucket. This route is restricted to only Nebula Labs internal Projects." @Param bucket path string true "Name of the bucket" @Param objectID path string true "ID of the object" @Param x-storage-key header string true "The internal storage key" @Success 200 {object} schema.APIResponse[schema.ObjectInfo] "The object's info" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func ObjectSignedURL ¶
@Id objectUploadURL @Router /storage/{bucket}/{objectID}/url [put] @Tags Internal @Accept json @Description "Create's a new signed URL for target object" @Param bucket path string true "Name of the bucket" @Param objectID path string true "ID of the object" @Param body body schema.ObjectSignedURLBody true "Request body" @Param x-storage-key header string true "The internal storage key" @Success 200 {object} schema.APIResponse[string] "Presigned url for the target Object" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func PostObject ¶
@Id postObject @Router /storage/{bucket}/{objectID} [post] @Tags Internal @Description "Upload an object to a bucket. This route is restricted to only Nebula Labs internal Projects." @Param bucket path string true "Name of the bucket" @Param objectID path string true "ID of the object" @Param data body string true "The data to upload" @Param x-storage-key header string true "The internal storage key" @Success 200 {object} schema.APIResponse[schema.ObjectInfo] "The object's info" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func PrettyPrint ¶
PrettyPrint prints the Mongo pipeline in log with a specific format. This is used strictly for testing.
func ProfessorAll ¶
@Id professorAll @Router /professor/all [get] @Tags Professors @Description "Returns all professors" @Produce json @Success 200 {object} schema.APIResponse[[]schema.Professor] "All professors" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func ProfessorById ¶
@Id professorById @Router /professor/{id} [get] @Tags Professors @Description "Returns the professor with given ID" @Produce json @Param id path string true "ID of the professor to get" @Success 200 {object} schema.APIResponse[schema.Professor] "A professor" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func ProfessorCourseById ¶
@Id professorCourseById @Router /professor/{id}/courses [get] @Tags Professors @Description "Returns all the courses taught by the professor with given ID" @Produce json @Param id path string true "ID of the professor to get" @Success 200 {object} schema.APIResponse[[]schema.Course] "A list of courses" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func ProfessorCourseSearch ¶
@Id professorCourseSearch @Router /professor/courses [get] @Tags Professors @Description "Returns paginated list of the courses of all the professors matching the query's string-typed key-value pairs. See former_offset and latter_offset for pagination details." @Produce json @Param former_offset query number false "The starting position of the current page of professors (e.g. For starting at the 17th professor, former_offset=16)." @Param latter_offset query number false "The starting position of the current page of courses (e.g. For starting at the 4th course, latter_offset=3)." @Param first_name query string false "The professor's first name" @Param last_name query string false "The professor's last name" @Param titles query string false "One of the professor's title" @Param email query string false "The professor's email address" @Param phone_number query string false "The professor's phone number" @Param office.building query string false "The building of the location of the professor's office" @Param office.room query string false "The room of the location of the professor's office" @Param office.map_uri query string false "A hyperlink to the UTD room locator of the professor's office" @Param profile_uri query string false "A hyperlink pointing to the professor's official university profile" @Param image_uri query string false "A link to the image used for the professor on the professor's official university profile" @Param office_hours.start_date query string false "The start date of one of the office hours meetings of the professor" @Param office_hours.end_date query string false "The end date of one of the office hours meetings of the professor" @Param office_hours.meeting_days query string false "One of the days that one of the office hours meetings of the professor" @Param office_hours.start_time query string false "The time one of the office hours meetings of the professor starts" @Param office_hours.end_time query string false "The time one of the office hours meetings of the professor ends" @Param office_hours.modality query string false "The modality of one of the office hours meetings of the professor" @Param office_hours.location.building query string false "The building of one of the office hours meetings of the professor" @Param office_hours.location.room query string false "The room of one of the office hours meetings of the professor" @Param office_hours.location.map_uri query string false "A hyperlink to the UTD room locator of one of the office hours meetings of the professor" @Success 200 {object} schema.APIResponse[[]schema.Professor] "A list of courses" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func ProfessorSearch ¶
@Id professorSearch @Router /professor [get] @Tags Professors @Description "Returns paginated list of professors matching the query's string-typed key-value pairs. See offset for more details on pagination." @Produce json @Param offset query number false "The starting position of the current page of professors (e.g. For starting at the 17th professor, offset=16)." @Param first_name query string false "The professor's first name" @Param last_name query string false "The professor's last name" @Param titles query string false "One of the professor's title" @Param email query string false "The professor's email address" @Param phone_number query string false "The professor's phone number" @Param office.building query string false "The building of the location of the professor's office" @Param office.room query string false "The room of the location of the professor's office" @Param office.map_uri query string false "A hyperlink to the UTD room locator of the professor's office" @Param profile_uri query string false "A hyperlink pointing to the professor's official university profile" @Param image_uri query string false "A link to the image used for the professor on the professor's official university profile" @Param office_hours.start_date query string false "The start date of one of the office hours meetings of the professor" @Param office_hours.end_date query string false "The end date of one of the office hours meetings of the professor" @Param office_hours.meeting_days query string false "One of the days that one of the office hours meetings of the professor" @Param office_hours.start_time query string false "The time one of the office hours meetings of the professor starts" @Param office_hours.end_time query string false "The time one of the office hours meetings of the professor ends" @Param office_hours.modality query string false "The modality of one of the office hours meetings of the professor" @Param office_hours.location.building query string false "The building of one of the office hours meetings of the professor" @Param office_hours.location.room query string false "The room of one of the office hours meetings of the professor" @Param office_hours.location.map_uri query string false "A hyperlink to the UTD room locator of one of the office hours meetings of the professor" @Success 200 {object} schema.APIResponse[[]schema.Professor] "A list of professors" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func ProfessorSectionById ¶
@Id professorSectionById @Router /professor/{id}/sections [get] @Tags Professors @Description "Returns all the sections taught by the professor with given ID" @Produce json @Param id path string true "ID of the professor to get" @Success 200 {object} schema.APIResponse[[]schema.Section] "A list of sections" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func ProfessorSectionSearch ¶
@Id professorSectionSearch @Router /professor/sections [get] @Tags Professors @Description "Returns paginated list of the sections of all the professors matching the query's string-typed key-value pairs. See former_offset and latter_offset for pagination details." @Produce json @Param former_offset query number false "The starting position of the current page of professors (e.g. For starting at the 17th professor, former_offset=16)." @Param latter_offset query number false "The starting position of the current page of sections (e.g. For starting at the 4th section, latter_offset=3)." @Param first_name query string false "The professor's first name" @Param last_name query string false "The professor's last name" @Param titles query string false "One of the professor's title" @Param email query string false "The professor's email address" @Param phone_number query string false "The professor's phone number" @Param office.building query string false "The building of the location of the professor's office" @Param office.room query string false "The room of the location of the professor's office" @Param office.map_uri query string false "A hyperlink to the UTD room locator of the professor's office" @Param profile_uri query string false "A hyperlink pointing to the professor's official university profile" @Param image_uri query string false "A link to the image used for the professor on the professor's official university profile" @Param office_hours.start_date query string false "The start date of one of the office hours meetings of the professor" @Param office_hours.end_date query string false "The end date of one of the office hours meetings of the professor" @Param office_hours.meeting_days query string false "One of the days that one of the office hours meetings of the professor" @Param office_hours.start_time query string false "The time one of the office hours meetings of the professor starts" @Param office_hours.end_time query string false "The time one of the office hours meetings of the professor ends" @Param office_hours.modality query string false "The modality of one of the office hours meetings of the professor" @Param office_hours.location.building query string false "The building of one of the office hours meetings of the professor" @Param office_hours.location.room query string false "The room of one of the office hours meetings of the professor" @Param office_hours.location.map_uri query string false "A hyperlink to the UTD room locator of one of the office hours meetings of the professor" @Success 200 {object} schema.APIResponse[[]schema.Section] "A list of sections" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func QueueEmail ¶
@Id QueueEmail @Router /email/queue [post] @Tags Internal @Description "Queue an email to be sent via SMTP. Multi-recipient emails will be queued as separate emails to avoid bypassing queueing system. This route is restricted to only Nebula Labs internal Projects." @Accept json @Produce json @Param request body schema.EmailRequest true "Email Request Body" @Param x-email-queue-key header string true "The internal email queue key" @Success 200 {object} schema.APIResponse[[]string] "The list of queued task names" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func Rooms ¶
@Id rooms @Router /rooms [get] @Tags Events @Description "Returns all schedulable rooms being used in the current and futures semesters from CourseBook, Astra, and Mazevo" @Produce json @Success 200 {object} schema.APIResponse[[]schema.BuildingRooms] "All schedulable rooms being used in the current and futures semesters from CourseBook, Astra, and Mazevo" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func SectionById ¶
@Id sectionById @Router /section/{id} [get] @Tags Sections @Description "Returns the section with given ID" @Produce json @Param id path string true "ID of the section to get" @Success 200 {object} schema.APIResponse[schema.Section] "A section" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func SectionCourseById ¶
@Id sectionCourseById @Router /section/{id}/course [get] @Tags Sections @Description "Returns the course of the section with given ID" @Produce json @Param id path string true "ID of the section to get" @Success 200 {object} schema.APIResponse[schema.Course] "A course" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func SectionCourseSearch ¶
@Id sectionCourseSearch @Router /section/courses [get] @Tags Sections @Description "Returns paginated list of courses of all the sections matching the query's string-typed key-value pairs. See former_offset and latter_offset for pagination details." @Produce json @Param former_offset query number false "The starting position of the current page of sections (e.g. For starting at the 16th section, former_offset=16)." @Param latter_offset query number false "The starting position of the current page of courses (e.g. For starting at the 16th course, latter_offset=16)." @Param section_number query string false "The section's official number" @Param academic_session.name query string false "The name of the academic session of the section" @Param academic_session.start_date query string false "The date of classes starting for the section" @Param academic_session.end_date query string false "The date of classes ending for the section" @Param teaching_assistants.first_name query string false "The first name of one of the teaching assistants of the section" @Param teaching_assistants.last_name query string false "The last name of one of the teaching assistants of the section" @Param teaching_assistants.role query string false "The role of one of the teaching assistants of the section" @Param teaching_assistants.email query string false "The email of one of the teaching assistants of the section" @Param internal_class_number query string false "The internal (university) number used to reference this section" @Param instruction_mode query string false "The instruction modality for this section" @Param meetings.start_date query string false "The start date of one of the section's meetings" @Param meetings.end_date query string false "The end date of one of the section's meetings" @Param meetings.meeting_days query string false "One of the days that one of the section's meetings" @Param meetings.start_time query string false "The time one of the section's meetings starts" @Param meetings.end_time query string false "The time one of the section's meetings ends" @Param meetings.modality query string false "The modality of one of the section's meetings" @Param meetings.location.building query string false "The building of one of the section's meetings" @Param meetings.location.room query string false "The room of one of the section's meetings" @Param meetings.location.map_uri query string false "A hyperlink to the UTD room locator of one of the section's meetings" @Param core_flags query string false "One of core requirement codes this section fulfills" @Param syllabus_uri query string false "A link to the syllabus on the web" @Success 200 {object} schema.APIResponse[[]schema.Course] "A list of courses" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func SectionProfessorById ¶
@Id sectionProfessorById @Router /section/{id}/professors [get] @Tags Sections @Description "Returns the paginated list of professors of the section with given ID" @Produce json @Param id path string true "ID of the section to get" @Success 200 {object} schema.APIResponse[[]schema.Professor] "A list of professors" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func SectionProfessorSearch ¶
@Id sectionProfessorSearch @Router /section/professors [get] @Tags Sections @Description "Returns paginated list of professors of all the sections matching the query's string-typed key-value pairs. See former_offset and latter_offset for pagination details." @Produce json @Param former_offset query number false "The starting position of the current page of sections (e.g. For starting at the 16th sections, former_offset=16)." @Param latter_offset query number false "The starting position of the current page of professors (e.g. For starting at the 16th professor, latter_offset=16)." @Param section_number query string false "The section's official number" @Param academic_session.name query string false "The name of the academic session of the section" @Param academic_session.start_date query string false "The date of classes starting for the section" @Param academic_session.end_date query string false "The date of classes ending for the section" @Param teaching_assistants.first_name query string false "The first name of one of the teaching assistants of the section" @Param teaching_assistants.last_name query string false "The last name of one of the teaching assistants of the section" @Param teaching_assistants.role query string false "The role of one of the teaching assistants of the section" @Param teaching_assistants.email query string false "The email of one of the teaching assistants of the section" @Param internal_class_number query string false "The internal (university) number used to reference this section" @Param instruction_mode query string false "The instruction modality for this section" @Param meetings.start_date query string false "The start date of one of the section's meetings" @Param meetings.end_date query string false "The end date of one of the section's meetings" @Param meetings.meeting_days query string false "One of the days that one of the section's meetings" @Param meetings.start_time query string false "The time one of the section's meetings starts" @Param meetings.end_time query string false "The time one of the section's meetings ends" @Param meetings.modality query string false "The modality of one of the section's meetings" @Param meetings.location.building query string false "The building of one of the section's meetings" @Param meetings.location.room query string false "The room of one of the section's meetings" @Param meetings.location.map_uri query string false "A hyperlink to the UTD room locator of one of the section's meetings" @Param core_flags query string false "One of core requirement codes this section fulfills" @Param syllabus_uri query string false "A link to the syllabus on the web" @Success 200 {object} schema.APIResponse[[]schema.Professor] "A list of professor" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func SectionSearch ¶
@Id sectionSearch @Router /section [get] @Tags Sections @Description "Returns paginated list of sections matching the query's string-typed key-value pairs. See offset for more details on pagination." @Produce json @Param offset query number false "The starting position of the current page of sections (e.g. For starting at the 17th professor, offset=16)." @Param section_number query string false "The section's official number" @Param academic_session.name query string false "The name of the academic session of the section" @Param academic_session.start_date query string false "The date of classes starting for the section" @Param academic_session.end_date query string false "The date of classes ending for the section" @Param teaching_assistants.first_name query string false "The first name of one of the teaching assistants of the section" @Param teaching_assistants.last_name query string false "The last name of one of the teaching assistants of the section" @Param teaching_assistants.role query string false "The role of one of the teaching assistants of the section" @Param teaching_assistants.email query string false "The email of one of the teaching assistants of the section" @Param internal_class_number query string false "The internal (university) number used to reference this section" @Param instruction_mode query string false "The instruction modality for this section" @Param meetings.start_date query string false "The start date of one of the section's meetings" @Param meetings.end_date query string false "The end date of one of the section's meetings" @Param meetings.meeting_days query string false "One of the days that one of the section's meetings" @Param meetings.start_time query string false "The time one of the section's meetings starts" @Param meetings.end_time query string false "The time one of the section's meetings ends" @Param meetings.modality query string false "The modality of one of the section's meetings" @Param meetings.location.building query string false "The building of one of the section's meetings" @Param meetings.location.room query string false "The room of one of the section's meetings" @Param meetings.location.map_uri query string false "A hyperlink to the UTD room locator of one of the section's meetings" @Param core_flags query string false "One of core requirement codes this section fulfills" @Param syllabus_uri query string false "A link to the syllabus on the web" @Success 200 {object} schema.APIResponse[[]schema.Section] "A list of sections" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func SectionsByRoomDetailed ¶
@Id sectionsByRoomDetailed @Router /events/{date}/{building}/{room}/sections [get] @Tags Events @Description "Returns full section objects with meetings on the specified date in the specified building and room" @Produce json @Param date path string true "ISO date of the set of events to get" @Param building path string true "building abbreviation of the event location" @Param room path string true "room number" @Success 200 {object} schema.APIResponse[schema.RoomEvents[schema.Section]] "Full section objects with meetings on the specified date in the specified building and room" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 404 {object} schema.APIResponse[string] "A string describing the error"
func SendEmail ¶
@Id sendEmail @Router /email/send [post] @Tags Internal @Description "Send an email via SMTP. This route is restricted to only Nebula Labs internal Projects." @Accept json @Produce json @Param request body schema.EmailRequest true "Email Request Body" @Param x-email-send-key header string true "The internal email send key" @Success 200 {object} schema.APIResponse[schema.EmailRequest] "Email Request Body" @Failure 500 {object} schema.APIResponse[string] "A string describing the error" @Failure 400 {object} schema.APIResponse[string] "A string describing the error"
func TrendsCourseSectionSearch ¶
@Id trendsCourseSectionSearch @Router /course/sections/trends [get] @Tags Courses @Description "Returns all of the given course's sections with Course and Professor data embedded. Specialized high-speed convenience endpoint for UTD Trends internal use; limited query flexibility." @Produce json @Param course_number query string true "The course's official number" @Param subject_prefix query string true "The course's subject prefix" @Success 200 {object} schema.APIResponse[[]schema.Section] "A list of Sections" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
func TrendsProfessorSectionSearch ¶
@Id trendsProfessorSectionSearch @Router /professor/sections/trends [get] @Tags Professors @Description "Returns all of the given professor's sections with Course and Professor data embedded. Specialized high-speed convenience endpoint for UTD Trends internal use; limited query flexibility." @Produce json @Param first_name query string true "The professor's first name" @Param last_name query string true "The professor's last name" @Success 200 {object} schema.APIResponse[[]schema.Section] "A list of Sections" @Failure 500 {object} schema.APIResponse[string] "A string describing the error"
Types ¶
This section is empty.