summary refs log tree commit diff
path: root/secrets.go
diff options
context:
space:
mode:
Diffstat (limited to 'secrets.go')
-rw-r--r--secrets.go78
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
+}