aplus

A+Attendance CLI utility via Instructure Canvas
Log | Files | Refs | README | LICENSE

structs.go (3059B)


      1 package main
      2 
      3 import "time"
      4 
      5 type Aplus struct {
      6 	URL string `json:"url"`
      7 }
      8 
      9 type CanvasCourse struct {
     10 	ID                               uint64       `json:"id"`
     11 	Name                             string       `json:"name"`
     12 	AccountID                        uint64       `json:"account_id"`
     13 	UUID                             string       `json:"uuid"`
     14 	StartAt                          *time.Time   `json:"start_at,omitempty"`
     15 	GradingStandardID                *uint64      `json:"grading_standard_id,omitempty"`
     16 	IsPublic                         bool         `json:"is_public"`
     17 	CreatedAt                        time.Time    `json:"created_at"`
     18 	CourseCode                       string       `json:"course_code"`
     19 	DefaultView                      string       `json:"default_view"`
     20 	RootAccountID                    uint64       `json:"root_account_id"`
     21 	EnrollmentTermID                 uint64       `json:"enrollment_term_id"`
     22 	License                          string       `json:"license"`
     23 	GradePassbackSetting             *string      `json:"grade_passback_setting,omitempty"`
     24 	EndAt                            *time.Time   `json:"end_at,omitempty"`
     25 	PublicSyllabus                   bool         `json:"public_syllabus"`
     26 	PublicSyllabusToAuth             bool         `json:"public_syllabus_to_auth"`
     27 	StorageQuotaMB                   uint64       `json:"storage_quota_mb"`
     28 	IsPublicToAuthUsers              bool         `json:"is_public_to_auth_users"`
     29 	HomeroomCourse                   bool         `json:"homeroom_course"`
     30 	CourseColor                      *string      `json:"course_color,omitempty"`
     31 	FriendlyName                     *string      `json:"friendly_name,omitempty"`
     32 	ApplyAssignmentGroupWeights      bool         `json:"apply_assignment_group_weights"`
     33 	Locale                           string       `json:"locale"`
     34 	Calendar                         Calendar     `json:"calendar"`
     35 	TimeZone                         string       `json:"time_zone"`
     36 	Blueprint                        bool         `json:"blueprint"`
     37 	Template                         bool         `json:"template"`
     38 	Enrollments                      []Enrollment `json:"enrollments"`
     39 	HideFinalGrades                  bool         `json:"hide_final_grades"`
     40 	WorkflowState                    string       `json:"workflow_state"`
     41 	RestrictEnrollmentsToCourseDates bool         `json:"restrict_enrollments_to_course_dates"`
     42 	OverriddenCourseVisibility       string       `json:"overridden_course_visibility"`
     43 }
     44 
     45 type Calendar struct {
     46 	Ics string `json:"ics"`
     47 }
     48 
     49 type Enrollment struct {
     50 	Type                           string `json:"type_"`
     51 	Role                           string `json:"role"`
     52 	RoleID                         uint64 `json:"role_id"`
     53 	UserID                         uint64 `json:"user_id"`
     54 	EnrollmentState                string `json:"enrollment_state"`
     55 	LimitPrivilegesToCourseSection bool   `json:"limit_privileges_to_course_section"`
     56 }
     57 
     58 type ExternalTool struct {
     59 	ID     int    `json:"id"`
     60 	URL    string `json:"url"`
     61 	Status string `json:"status"`
     62 }