Procházet zdrojové kódy

Merge pull request #341 from wunter8/custom-intent-broadcast-action

allow custom intent in broadcast action without JSON
Philipp C. Heckel před 3 roky
rodič
revize
e8569c6008
2 změnil soubory, kde provedl 10 přidání a 0 odebrání
  1. 2 0
      server/actions.go
  2. 8 0
      server/actions_test.go

+ 2 - 0
server/actions.go

@@ -186,6 +186,8 @@ func populateAction(newAction *action, section int, key, value string) error {
 			newAction.Method = value
 		case "body":
 			newAction.Body = value
+    case "intent":
+      newAction.Intent = value
 		default:
 			return fmt.Errorf("key '%s' unknown", key)
 		}

+ 8 - 0
server/actions_test.go

@@ -52,6 +52,14 @@ func TestParseActions(t *testing.T) {
 	require.Equal(t, "some command", actions[0].Extras["command"])
 	require.Equal(t, "a parameter", actions[0].Extras["some_param"])
 
+  // Broadcast action with intent
+  actions, err = parseActions("action=broadcast, label=Do a thing, intent=io.heckel.ntfy.TEST_INTENT")
+  require.Nil(t, err)
+  require.Equal(t, 1, len(actions))
+  require.Equal(t, "broadcast", actions[0].Action)
+  require.Equal(t, "Do a thing", actions[0].Label)
+  require.Equal(t, "io.heckel.ntfy.TEST_INTENT", actions[0].Intent)
+
 	// Headers with dashes
 	actions, err = parseActions("action=http, label=Send request, url=http://example.com, method=GET, headers.Content-Type=application/json, headers.Authorization=Basic sdasffsf")
 	require.Nil(t, err)