controllers

package
v0.0.0-...-14ae46a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2024 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DAGCollection *mongo.Collection = configs.GetCollection("DAG")

Functions

func AutocompleteDAG

func AutocompleteDAG(c *gin.Context)

@Id autocompleteDAG @Router /autocomplete/dag [get] @Description "Returns an aggregation of courses for use in generating autocomplete DAGs" @Produce json @Success 200 {array} schema.Autocomplete "An aggregation of courses for use in generating autocomplete DAGs"

func CourseAll

func CourseAll(c *gin.Context)

func CourseById

func CourseById(c *gin.Context)

@Id courseById @Router /course/{id} [get] @Description "Returns the course with given ID" @Produce json @Param id path string true "ID of the course to get" @Success 200 {object} schema.Course "A course"

func CourseSearch

func CourseSearch(c *gin.Context)

@Id courseSearch @Router /course [get] @Description "Returns all courses matching the query's string-typed key-value pairs" @Produce json @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 {array} schema.Course "A list of courses"

func EvalBySectionID

func EvalBySectionID(c *gin.Context)

func GradeAggregationSemester

func GradeAggregationSemester() gin.HandlerFunc

@Id gradeAggregationBySemester @Router /grades/semester [get] @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 {array} responses.GradeResponse "An array of grade distributions for each semester included"

func GradesAggregationOverall

func GradesAggregationOverall() gin.HandlerFunc

@Id gradeAggregationOverall @Router /grades/overall [get] @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 {array} integer "A grade distribution array"

func Preflight

func Preflight(c *gin.Context)

func ProfessorAll

func ProfessorAll(c *gin.Context)

func ProfessorById

func ProfessorById(c *gin.Context)

@Id professorById @Router /professor/{id} [get] @Description "Returns the professor with given ID" @Produce json @Param id path string true "ID of the professor to get" @Success 200 {object} schema.Professor "A professor"

func ProfessorSearch

func ProfessorSearch(c *gin.Context)

@Id professorSearch @Router /professor [get] @Description "Returns all professors matching the query's string-typed key-value pairs" @Produce json @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" @Param sections query string false "The _id of one of the sections the professor teaches" @Success 200 {array} schema.Professor "A list of professors"

func ScrapeEval

func ScrapeEval(course schema.Course, section schema.Section) (*schema.Evaluation, error)

Performs on-demand scraping for the eval of a given section

func SectionById

func SectionById(c *gin.Context)

@Id sectionById @Router /section/{id} [get] @Description "Returns the section with given ID" @Produce json @Param id path string true "ID of the section to get" @Success 200 {object} schema.Section "A section"

func SectionSearch

func SectionSearch(c *gin.Context)

@Id sectionSearch @Router /section [get] @Description "Returns all courses matching the query's string-typed key-value pairs" @Produce json @Param section_number query string false "The section's official number" @Param course_reference query string false "An id that points to the course in MongoDB that this section is an instantiation of" @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 professors query string false "One of the professors teaching 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 {array} schema.Section "A list of sections"

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL