From 89c2e2b38ee57f40217db83fb34e014102b0fb49 Mon Sep 17 00:00:00 2001 From: Juan Roig Date: Tue, 7 Nov 2023 00:21:48 -0500 Subject: reorganize functions to aplus-related and canvas-related. --- canvas.go | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 canvas.go (limited to 'canvas.go') diff --git a/canvas.go b/canvas.go new file mode 100644 index 0000000..33c7f6b --- /dev/null +++ b/canvas.go @@ -0,0 +1,57 @@ +package main + +import ( + "encoding/json" + "fmt" + "io" + "net/http" + "os" +) + +func initialize() { + base_link = "https://floridapolytechnic.instructure.com/api/v1" + token = os.Getenv("CANVAS_API_KEY") +} + +func get_courses(token string, link string, client http.Client) []CanvasCourse { + resp, err := client.Get(link) + if err != nil { + fmt.Println("Error performing GET request to get courses.") + } + defer resp.Body.Close() + body, _ := io.ReadAll(resp.Body) + + var canvas_courses []CanvasCourse + err2 := json.Unmarshal(body, &canvas_courses) + if err2 != nil { + fmt.Println(err2) + return nil + } + + return canvas_courses +} + +// Need to change this to grab both ID and name, return as pairs. +func get_course_id_name_pair(canvas_courses []CanvasCourse) []uint64 { + var courses []uint64 + + for _, course := range canvas_courses { + courses = append(courses, course.ID%10000) + } + return courses +} + +/* +func select_course() int { + // course selection by user happens below + favorites := fmt.Sprintf("%s/users/self/favorites/courses?access_token=%s&per_page=100", base_link, token) + all_courses := fmt.Sprintf("%s/courses?access_token=%s&per_page=100", base_link, token) + var canvas_courses []CanvasCourse + canvas_courses = get_courses(token, favorites, client) + var course_ids []uint64 + course_ids = get_course_ids(canvas_courses) + //selected := 1 // course_ids[selected] + // course selection by user happens above + return 0 +} +*/ -- cgit v1.2.3