package main import ( "bufio" "fmt" "os" ) type SecretsConf struct { ClientID string ClientSecret string } func Secrets(secretsFile string) SecretsConf { _, ferr := os.Stat(secretsFile) if ferr != nil { // WriteSecrets(secretsFile) } return ReadSecrets(secretsFile) } // func WriteSecrets(secretsFile string) { // secretsToken, err := GetOAuth(clientID) // if err != nil { // panic(err) // } // uT := GetUserToken(secretsToken) // err = os.MkdirAll("/home/venomade/.local/share/lifesigns", 0755) // // TODO: unhardcode // if err != nil { // panic(err) // } // file, err := os.Create(secretsFile) // if err != nil { // panic(err) // } // defer file.Close() // confString := fmt.Sprintf("%s\n%s\n%s", uT.AccessToken, uT.ExpiresIn, uT.RefreshToken) // _, err = file.WriteString(confString) // if err != nil { // panic(err) // } // } func ReadSecrets(secretsFile string) SecretsConf { file, err := os.Open(secretsFile) if err != nil { fmt.Println("Error opening file:", err) panic(err) } defer file.Close() // Create a slice to hold the lines of the file var lines []string // Read all lines from the file into the slice scanner := bufio.NewScanner(file) for scanner.Scan() { lines = append(lines, scanner.Text()) } var secrets SecretsConf // Process each line using the appropriate function if len(lines) >= 2 { secrets.ClientID = lines[0] secrets.ClientSecret = lines[1] } else { fmt.Println("File does not contain enough lines.") } return secrets }