schema

package
v0.0.0-...-b594f51 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcademicSession

type AcademicSession struct {
	Name       string    `json:"name"`
	Start_date time.Time `json:"start_date"`
	End_date   time.Time `json:"end_date"`
}

type Assistant

type Assistant struct {
	First_name string `json:"first_name"`
	Last_name  string `json:"last_name"`
	Role       string `json:"role"`
	Email      string `json:"email"`
}

type ChoiceRequirement

type ChoiceRequirement struct {
	Requirement
	Choices *CollectionRequirement `json:"choices"`
}

func NewChoiceRequirement

func NewChoiceRequirement(choices *CollectionRequirement) *ChoiceRequirement

type CollectionRequirement

type CollectionRequirement struct {
	Requirement
	Name     string        `json:"name"`
	Required int           `json:"required"`
	Options  []interface{} `json:"options"`
}

func NewCollectionRequirement

func NewCollectionRequirement(name string, required int, options []interface{}) *CollectionRequirement

type ConsentRequirement

type ConsentRequirement struct {
	Requirement
	Granter string `json:"granter"`
}

func NewConsentRequirement

func NewConsentRequirement(granter string) *ConsentRequirement

type CoreRequirement

type CoreRequirement struct {
	Requirement
	CoreFlag string `json:"core_flag"`
	Hours    int    `json:"hours"`
}

func NewCoreRequirement

func NewCoreRequirement(coreFlag string, hours int) *CoreRequirement

type Course

type Course struct {
	Id                       IdWrapper              `json:"_id"`
	Subject_prefix           string                 `json:"subject_prefix"`
	Course_number            string                 `json:"course_number"`
	Title                    string                 `json:"title"`
	Description              string                 `json:"description"`
	Enrollment_reqs          string                 `json:"enrollment_reqs"`
	School                   string                 `json:"school"`
	Credit_hours             string                 `json:"credit_hours"`
	Class_level              string                 `json:"class_level"`
	Activity_type            string                 `json:"activity_type"`
	Grading                  string                 `json:"grading"`
	Internal_course_number   string                 `json:"internal_course_number"`
	Prerequisites            *CollectionRequirement `json:"prerequisites"`
	Corequisites             *CollectionRequirement `json:"corequisites"`
	Co_or_pre_requisites     *CollectionRequirement `json:"co_or_pre_requisites"`
	Sections                 []IdWrapper            `json:"sections"`
	Lecture_contact_hours    string                 `json:"lecture_contact_hours"`
	Laboratory_contact_hours string                 `json:"laboratory_contact_hours"`
	Offering_frequency       string                 `json:"offering_frequency"`
	Catalog_year             string                 `json:"catalog_year"`
	Attributes               interface{}            `json:"attributes"`
}

type CourseRequirement

type CourseRequirement struct {
	Requirement
	ClassReference string `json:"class_reference"`
	MinimumGrade   string `json:"minimum_grade"`
}

func NewCourseRequirement

func NewCourseRequirement(classRef string, minGrade string) *CourseRequirement

type Degree

type Degree struct {
	Subtype            string                 `json:"subtype"`
	School             string                 `json:"school"`
	Name               string                 `json:"name"`
	Year               string                 `json:"year"`
	Abbreviation       string                 `json:"abbreviation"`
	MinimumCreditHours int                    `json:"minimum_credit_hours"`
	CatalogUri         string                 `json:"catalog_uri"`
	Requirements       *CollectionRequirement `json:"requirements"`
}

type ExamRequirement

type ExamRequirement struct {
	Requirement
	ExamReference string  `json:"exam_reference"`
	MinimumScore  float64 `json:"minimum_score"`
}

func NewExamRequirement

func NewExamRequirement(examRef string, minScore float64) *ExamRequirement

type GPARequirement

type GPARequirement struct {
	Requirement
	Minimum float64 `json:"minimum"`
	Subset  string  `json:"subset"`
}

func NewGPARequirement

func NewGPARequirement(min float64, subset string) *GPARequirement

type HoursRequirement

type HoursRequirement struct {
	Requirement
	Required int                  `json:"required"`
	Options  []*CourseRequirement `json:"options"`
}

func NewHoursRequirement

func NewHoursRequirement(required int, options []*CourseRequirement) *HoursRequirement

type IdWrapper

type IdWrapper struct {
	Id primitive.ObjectID `json:"$oid"`
}

This wrapper is necessary to properly represent the ObjectID structure when serializing to JSON instead of BSON

type LimitRequirement

type LimitRequirement struct {
	Requirement
	MaxHours int `json:"max_hours"`
}

func NewLimitRequirement

func NewLimitRequirement(maxHours int) *LimitRequirement

type Location

type Location struct {
	Building string `json:"building"`
	Room     string `json:"room"`
	Map_uri  string `json:"map_uri"`
}

type MajorRequirement

type MajorRequirement struct {
	Requirement
	Major string `json:"major"`
}

func NewMajorRequirement

func NewMajorRequirement(major string) *MajorRequirement

type Meeting

type Meeting struct {
	Start_date   time.Time `json:"start_date"`
	End_date     time.Time `json:"end_date"`
	Meeting_days []string  `json:"meeting_days"`
	Start_time   time.Time `json:"start_time"`
	End_time     time.Time `json:"end_time"`
	Modality     string    `json:"modality"`
	Location     Location  `json:"location"`
}

type MinorRequirement

type MinorRequirement struct {
	Requirement
	Minor string `json:"minor"`
}

func NewMinorRequirement

func NewMinorRequirement(minor string) *MinorRequirement

type Organization

type Organization struct {
	Id             IdWrapper `json:"_id"`
	Title          string    `json:"title"`
	Description    string    `json:"description"`
	Categories     []string  `json:"categories"`
	President_name string    `json:"president_name"`
	Emails         []string  `json:"emails"`
	Picture_data   string    `json:"picture_data"`
}

type OtherRequirement

type OtherRequirement struct {
	Requirement
	Description string `json:"description"`
	Condition   string `json:"condition"`
}

func NewOtherRequirement

func NewOtherRequirement(description, condition string) *OtherRequirement

type Professor

type Professor struct {
	Id           IdWrapper   `json:"_id"`
	First_name   string      `json:"first_name"`
	Last_name    string      `json:"last_name"`
	Titles       []string    `json:"titles"`
	Email        string      `json:"email"`
	Phone_number string      `json:"phone_number"`
	Office       Location    `json:"office"`
	Profile_uri  string      `json:"profile_uri"`
	Image_uri    string      `json:"image_uri"`
	Office_hours []Meeting   `json:"office_hours"`
	Sections     []IdWrapper `json:"sections"`
}

type Requirement

type Requirement struct {
	Type string `json:"type"`
}

type Section

type Section struct {
	Id                    IdWrapper              `json:"_id"`
	Section_number        string                 `json:"section_number"`
	Course_reference      IdWrapper              `json:"course_reference"`
	Section_corequisites  *CollectionRequirement `json:"section_corequisites"`
	Academic_session      AcademicSession        `json:"academic_session"`
	Professors            []IdWrapper            `json:"professors"`
	Teaching_assistants   []Assistant            `json:"teaching_assistants"`
	Internal_class_number string                 `json:"internal_class_number"`
	Instruction_mode      string                 `json:"instruction_mode"`
	Meetings              []Meeting              `json:"meetings"`
	Core_flags            []string               `json:"core_flags"`
	Syllabus_uri          string                 `json:"syllabus_uri"`
	Grade_distribution    []int                  `json:"grade_distribution"`
	Attributes            interface{}            `json:"attributes"`
}

type SectionRequirement

type SectionRequirement struct {
	Requirement
	SectionReference IdWrapper `json:"section_reference"`
}

func NewSectionRequirement

func NewSectionRequirement(sectionRef IdWrapper) *SectionRequirement

Jump to

Keyboard shortcuts

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