Allow to pass metadata with process config, non-cluster only

This commit is contained in:
Ingo Oppermann
2023-06-01 21:24:33 +02:00
parent d652fd213b
commit f59a63320c
7 changed files with 228 additions and 38 deletions

View File

@@ -76,7 +76,7 @@ func (h *RestreamHandler) Add(c echo.Context) error {
return api.Err(http.StatusBadRequest, "At least one input and one output need to be defined")
}
config := process.Marshal()
config, metadata := process.Marshal()
if err := h.restream.AddProcess(config); err != nil {
return api.Err(http.StatusBadRequest, "Invalid process config", "%s", err.Error())
@@ -87,6 +87,10 @@ func (h *RestreamHandler) Add(c echo.Context) error {
Domain: config.Domain,
}
for key, data := range metadata {
h.restream.SetProcessMetadata(tid, key, data)
}
p, _ := h.getProcess(tid, "config")
return c.JSON(http.StatusOK, p.Config)
@@ -297,7 +301,7 @@ func (h *RestreamHandler) Update(c echo.Context) error {
}
}
config := process.Marshal()
config, metadata := process.Marshal()
tid = restream.TaskID{
ID: id,
@@ -317,6 +321,10 @@ func (h *RestreamHandler) Update(c echo.Context) error {
Domain: config.Domain,
}
for key, data := range metadata {
h.restream.SetProcessMetadata(tid, key, data)
}
p, _ := h.getProcess(tid, "config")
return c.JSON(http.StatusOK, p.Config)