diff options
Diffstat (limited to 'secrets.go')
-rw-r--r-- | secrets.go | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/secrets.go b/secrets.go new file mode 100644 index 0000000..e8f3762 --- /dev/null +++ b/secrets.go @@ -0,0 +1,78 @@ +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 +} |