Просмотр исходного кода

feature: Password type (no validation) (#340)

James Read 2 лет назад
Родитель
Сommit
943b4c75aa
2 измененных файлов с 16 добавлено и 8 удалено
  1. 13 8
      internal/executor/arguments.go
  2. 3 0
      webui.dev/js/ArgumentForm.js

+ 13 - 8
internal/executor/arguments.go

@@ -122,21 +122,26 @@ func typecheckChoiceEntity(value string, arg *config.ActionArgument) error {
 // defined in typecheckRegex, and, you guessed it, uses regex to check for allowed
 // characters.
 func TypeSafetyCheck(name string, value string, argumentType string) error {
-	if argumentType == "url" {
+	switch argumentType {
+	case "password":
+		return nil
+	case "url":
 		return typeSafetyCheckUrl(name, value)
+	case "datetime":
+		return typeSafetyCheckDatetime(name, value)
 	}
 
-	if argumentType == "datetime" {
-		_, err := time.Parse("2006-01-02T15:04:05", value)
+	return typeSafetyCheckRegex(name, value, argumentType)
+}
 
-		if err != nil {
-			return err
-		}
+func typeSafetyCheckDatetime(name string, value string) error {
+	_, err := time.Parse("2006-01-02T15:04:05", value)
 
-		return nil
+	if err != nil {
+		return err
 	}
 
-	return typeSafetyCheckRegex(name, value, argumentType)
+	return nil
 }
 
 func typeSafetyCheckRegex(name string, value string, argumentType string) error {

+ 3 - 0
webui.dev/js/ArgumentForm.js

@@ -130,6 +130,9 @@ class ArgumentForm extends window.HTMLElement {
       domEl = document.createElement('input')
       domEl.setAttribute('type', 'datetime-local')
       domEl.setAttribute('step', '1')
+    } else if (arg.type === 'password') {
+      domEl = document.createElement('input')
+      domEl.setAttribute('type', 'password')
     } else {
       domEl = document.createElement('input')