aboutsummaryrefslogtreecommitdiff
path: root/go-src/folderPaths/folderPaths.go
blob: 67bb92bea45f9f34aa6ee386b8d9fdbf769f78da (plain) (blame)
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
package folderPaths

import (
	"os"
	"runtime"
)

func InitFolders() {
	dirs := []string{rootFolder(), buildPath(rootFolder(), "Chats"), buildPath(rootFolder(), "DirectMessages"), buildPath(rootFolder(), "Users")}
	for _, v := range dirs {
		if _, err := os.Stat(v); os.IsNotExist(err) {
			os.Mkdir(v, 0775)
		}
	}
}

func FileAtChatsFolder(fileName string) string {
	return buildPath(rootFolder(), "Chats", fileName+".txt")
}

func FileAtDirectMessagesFolder(fileName string) string {
	return buildPath(rootFolder(), "DirectMessages", fileName+".txt")
}

func FileAtUsersFolder(fileName string) string {
	return buildPath(rootFolder(), "Users", fileName+".txt")
}

func rootFolder() string {
	if runtime.GOOS == "windows" {
		return "C:\\Users\\username\\AppData\\Roaming\\ctfc"
	}
	home, _ := os.UserHomeDir()
	return home + "/Desktop/ctfc"
}

func buildPath(folders ...string) (path string) {
	sep := "/"
	if runtime.GOOS == "windows" {
		sep = "\\"
	}
	for i, v := range folders {
		path += v
		if i < len(folders)-1 {
			path += sep
		}
	}
	return
}