From e6cebed4ba690a7d5d17403324bdb0de9050159b Mon Sep 17 00:00:00 2001 From: Gregory Wells Date: Thu, 6 Aug 2026 20:16:55 -0400 Subject: [PATCH] move calendar endpoint into new file --- main/calandar_endpoint.go | 37 ++++++++++++++++++++++++++++++++++++ main/main.go | 40 ++------------------------------------- 2 files changed, 39 insertions(+), 38 deletions(-) create mode 100644 main/calandar_endpoint.go diff --git a/main/calandar_endpoint.go b/main/calandar_endpoint.go new file mode 100644 index 0000000..697fab2 --- /dev/null +++ b/main/calandar_endpoint.go @@ -0,0 +1,37 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "net/http" + + "astraltech.xyz/calendar/v2/auth" +) + +func handleUser(w http.ResponseWriter, r *http.Request) { + token, err := auth.TestTokenStore.Load() + if err != nil { + http.Error(w, "Not authenticated", http.StatusUnauthorized) + return + } + + auth.OAuthProviders[0].UserInfoEndpoint() + + client := auth.OAuthConfigs[0].Client(context.Background(), token) + + resp, err := client.Get(auth.OAuthProviders[0].UserInfoEndpoint()) + if err != nil { + http.Error(w, "Failed to fetch user: "+err.Error(), http.StatusInternalServerError) + return + } + defer resp.Body.Close() + + var usersInfo auth.UserInfo + if err := json.NewDecoder(resp.Body).Decode(&usersInfo); err != nil { + http.Error(w, "Failed to decode response", http.StatusInternalServerError) + return + } + + fmt.Printf("The users email is %s\n", usersInfo.Email) +} diff --git a/main/main.go b/main/main.go index 4c38263..d77bfa1 100644 --- a/main/main.go +++ b/main/main.go @@ -1,51 +1,15 @@ package main import ( - "context" - "encoding/json" - "fmt" - "net/http" - "astraltech.xyz/calendar/v2/auth" "astraltech.xyz/calendar/v2/caldav" "astraltech.xyz/calendar/v2/webserver" ) -type UserInfo struct { - Email string `json:"email"` -} - -func handleUser(w http.ResponseWriter, r *http.Request) { - // Load the stored token - token, err := auth.TestTokenStore.Load() - if err != nil { - http.Error(w, "Not authenticated", http.StatusUnauthorized) - return - } - - // Create an HTTP client that attaches the access token - client := auth.OAuthConfigs[0].Client(context.Background(), token) - - // Fetch user information from GitHub API - resp, err := client.Get("https://account.astraltech.xyz/application/o/userinfo/") - if err != nil { - http.Error(w, "Failed to fetch user: "+err.Error(), http.StatusInternalServerError) - return - } - defer resp.Body.Close() - - var usersInfo UserInfo - if err := json.NewDecoder(resp.Body).Decode(&usersInfo); err != nil { - http.Error(w, "Failed to decode response", http.StatusInternalServerError) - return - } - - fmt.Printf("The users email is %s\n", usersInfo.Email) -} - func main() { - auth.CreateTestOAuth() + auth.SetAuth() read_config() + caldav.InitDavClient(serverConfig.URL) webserver.ServeLoginPage("/login", webserver.CustomizableLoginData{