Philipp Heckel 3 лет назад
Родитель
Сommit
55869f551e
2 измененных файлов с 10 добавлено и 3 удалено
  1. 3 0
      server/server.go
  2. 7 3
      server/types.go

+ 3 - 0
server/server.go

@@ -541,6 +541,9 @@ func (s *Server) parsePublishParams(r *http.Request, v *visitor, m *message) (ca
 		if err := json.Unmarshal([]byte(actionsStr), &actions); err != nil {
 			return false, false, "", false, errHTTPBadRequestDelayNoCache // FIXME error
 		}
+		for i := range actions {
+			actions[i].ID = util.RandomString(10) // FIXME
+		}
 		m.Actions = actions
 	}
 	unifiedpush = readBoolParam(r, false, "x-unifiedpush", "unifiedpush", "up") // see GET too!

+ 7 - 3
server/types.go

@@ -44,9 +44,13 @@ type attachment struct {
 }
 
 type action struct {
-	Action string `json:"action"`
-	Label  string `json:"label"`
-	URL    string `json:"url,omitempty"`
+	ID      string            `json:"id"`
+	Action  string            `json:"action"`
+	Label   string            `json:"label"`
+	URL     string            `json:"url,omitempty"`     // used in "view" and "http"
+	Method  string            `json:"method,omitempty"`  // used in "http"
+	Headers map[string]string `json:"headers,omitempty"` // used in "http"
+	Body    string            `json:"body,omitempty"`    // used in "http"
 }
 
 // publishMessage is used as input when publishing as JSON