package ctfc import ( "bytes" "os" "gitlab.com/Syndamia/ctfc/go-src/folderPaths" ) var loggedInUser User type User struct { Username string Name string } func createUser(data []string) { // TODO: Password hashing f, _ := os.Create(folderPaths.FileAtUsersFolder(data[0])) f.WriteString(data[0] + "\n" + data[1] + "\n" + data[2]) f.Close() } func logInUser(username string, password string) bool { if validatePassword(username, password) { loggedInUser = getUser(username) return true } return false } func logoutUser() { loggedInUser.Username = "" loggedInUser.Name = "" } func getUser(username string) User { f, _ := os.ReadFile(folderPaths.FileAtUsersFolder(username)) values := bytes.Split(f, []byte("\n")) return User{string(values[0]), string(values[2])} } func validatePassword(username string, password string) bool { // TODO: Implement hashing f, _ := os.ReadFile(folderPaths.FileAtUsersFolder(username)) passHash := bytes.Split(f, []byte("\n"))[1] return string(passHash) == password }