diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-07-05 16:47:10 +0300 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-07-05 16:47:10 +0300 |
| commit | acdb157282ac4705d8ec3ffab75b6bba2cc08550 (patch) | |
| tree | 709c534d40edef276fda092b44765f1ba34ca2cc /go-src/user.go | |
| parent | dd0862468b9f76d0d335b0fb3720ce3cd364d9a9 (diff) | |
| download | ctfc-acdb157282ac4705d8ec3ffab75b6bba2cc08550.tar ctfc-acdb157282ac4705d8ec3ffab75b6bba2cc08550.tar.gz ctfc-acdb157282ac4705d8ec3ffab75b6bba2cc08550.zip | |
Changed file structure and implemented rester file creation and login check
Diffstat (limited to 'go-src/user.go')
| -rw-r--r-- | go-src/user.go | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/go-src/user.go b/go-src/user.go new file mode 100644 index 0000000..259c044 --- /dev/null +++ b/go-src/user.go @@ -0,0 +1,43 @@ +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 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"))[0] + return string(passHash) == password +} |
