package auth import ( "fmt" "strings" "astraltech.xyz/calendar/v2/caldav" ics "github.com/arran4/golang-ical" ) func HandleAuthRequest(username string, password string) bool { calDavData := caldav.GetCalDAVData(username, password) fmt.Printf("Users display name: %s\n", calDavData.DisplayName) fmt.Printf("Calandar Count: %d\n", len(calDavData.Calandars)) for i := range len(calDavData.Calandars) { calDavData.Calandars[i] = caldav.GetCalendarData(calDavData.Calandars[i], username, password) fmt.Printf("Cal %d is named %s\n", i, calDavData.Calandars[i].DisplayName) fmt.Printf("\tLink to cal: %s\n", calDavData.Calandars[i].Link) fmt.Printf("\tEvent count: %d\n", len(calDavData.Calandars[i].Events)) for j := range len(calDavData.Calandars[i].Events) { cal, err := ics.ParseCalendar(strings.NewReader(calDavData.Calandars[i].Events[j].CalData)) if err != nil { fmt.Print(err.Error()) } events := cal.Events() for k := range len(events) { name := events[k].GetProperty(ics.ComponentProperty(ics.PropertySummary)).Value start, _ := events[k].GetStartAt() end, _ := events[k].GetEndAt() time := end.Sub(start) fmt.Printf("\t\tEvent name: %s\n", name) fmt.Printf("\t\t\tEvent start date: %s\n", end.UTC().String()) fmt.Printf("\t\t\tEvent length date: %s\n", time.String()) } } } return true }