summary refs log tree commit diff
path: root/secrets.go
blob: e8f3762daf80d667e43850914d9c0b9fe40edd32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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
}