diff options
Diffstat (limited to 'go-src/windows')
| -rw-r--r-- | go-src/windows/dataValidations.go | 55 | ||||
| -rw-r--r-- | go-src/windows/errorMessages.go | 10 | ||||
| -rw-r--r-- | go-src/windows/windows.go | 111 |
3 files changed, 0 insertions, 176 deletions
diff --git a/go-src/windows/dataValidations.go b/go-src/windows/dataValidations.go deleted file mode 100644 index 3df61c1..0000000 --- a/go-src/windows/dataValidations.go +++ /dev/null @@ -1,55 +0,0 @@ -package windows - -import ( - "regexp" -) - -var SpecialCharacters = []rune{'!', '@', '#', '$', '%', '^', '&', '*'} - -// Inclusive minimum and maximum -func StringValidLength(min int, max int, value string) bool { - return len(value) >= min && len(value) <= max -} - -func StringValidCharacters(value string, letters bool, numbers bool, special ...rune) bool { - expr := "^[" - if letters { - expr += "A-z" - } - if numbers { - expr += "0-9" - } - for _, v := range special { - expr += string(v) - } - expr += "]+$" - - return regexp.MustCompile(expr).MatchString(value) -} - -func StringValidRuneAmount(value string, runeStart rune, runeEnd rune, minAmount int) bool { - var sum int - for _, v := range value { - if v >= runeStart && v <= runeEnd { - sum++ - } - } - return sum >= minAmount -} - -func StringValidUsername(value string) bool { - return StringValidLength(2, 40, value) && - StringValidCharacters(value, true, true, '.', '*', '_', '-') && - (StringValidRuneAmount(value, 'A', 'Z', 1) || StringValidRuneAmount(value, 'a', 'z', 1)) -} - -func StringValidPassword(value string) bool { - return StringValidLength(5, 40, value) && - StringValidCharacters(value, true, true, SpecialCharacters...) && - StringValidRuneAmount(value, '0', '9', 1) -} - -func StringValidName(value string) bool { - return StringValidLength(2, 60, value) && - StringValidCharacters(value, true, false, ' ', '\'', '-') -} diff --git a/go-src/windows/errorMessages.go b/go-src/windows/errorMessages.go deleted file mode 100644 index cd18fc7..0000000 --- a/go-src/windows/errorMessages.go +++ /dev/null @@ -1,10 +0,0 @@ -package windows - -const ( - invalidArgument = "Invalid argument!" - invalidCommand = "Invalid command!" -) - -func invalidValueFor(typeName string) string { - return "Invalid value for " + typeName + "!" -} diff --git a/go-src/windows/windows.go b/go-src/windows/windows.go deleted file mode 100644 index ff091ed..0000000 --- a/go-src/windows/windows.go +++ /dev/null @@ -1,111 +0,0 @@ -package windows - -import ( - "fmt" - "os" - "os/exec" - "runtime" - "strings" - - "gitlab.com/Syndamia/ctfc/go-src/ui" -) - -func StartupWindow(...string) { - clearScreen() - - fmt.Println(ui.NormalBox(true, "Login", "Register")) - fmt.Print(ui.InputField("[L/R]")) - command := strings.ToLower(ui.GetInput()) - - if command == "l" { - defer LoginWindow() - } else if command == "r" { - defer RegisterWindow() - } else { - defer ShowError(invalidCommand, StartupWindow) - } -} - -func LoginWindow(values ...string) { - clearScreen() - - fmt.Println(ui.NormalBox(true, "Login")) - - switch len(values) { - case 0: - fmt.Print(ui.InputField("Username")) - case 1: - fmt.Println(ui.InputFieldFilled("Username", values[0])) - fmt.Print(ui.InputField("Password")) - } - - val := ui.GetInput() - - if len(values) == 0 { - defer LoginWindow(val) - } else { - defer fmt.Println(values[0], val) - } -} - -func RegisterWindow(values ...string) { - clearScreen() - - fmt.Println(ui.NormalBox(true, "Register")) - - var validationF func(string) bool - var fieldName, specification string - - switch len(values) { - case 0: - validationF, fieldName, specification = StringValidUsername, "Username", "[A-z, 0-9, *, ., _, -; at least 1 letter]" - case 1: - fmt.Println(ui.InputFieldFilled("Username", values[0])) - validationF, fieldName, specification = StringValidPassword, "Password", "[5-40 characters; at least 1 number]" - case 2: - fmt.Println(ui.InputFieldFilled("Username", values[0])) - fmt.Println(ui.InputFieldFilled("Password", values[1])) - validationF, fieldName, specification = StringValidName, "Name", "[2-60 characters]" - } - - fmt.Print(ui.InputField(fieldName + " " + specification)) - val := ui.GetInput() - - if validationF(val) { - values = append(values, val) - - if len(values) != 3 { - defer RegisterWindow(values...) - } else { // When user has entered all required values - defer fmt.Println(values) - } - } else { - defer ShowError(invalidValueFor(fieldName), RegisterWindow, values...) - } -} - -var clearNext = true - -func ShowError(message string, callback func(...string), callbackData ...string) { - clearScreen() - - fmt.Println(ui.ErrorBox(message)) - clearNext = false - - defer callback(callbackData...) -} - -func clearScreen() { - if !clearNext { - clearNext = true - return - } - - if runtime.GOOS == "windows" { - cmd := exec.Command("cmd", "/c", "cls") - cmd.Stdout = os.Stdout - cmd.Run() - } else { - fmt.Println("\033[2J") - } -} |
