evet-processor: mark event as done once pod finishes
diff --git a/events/client.go b/events/client.go
index 81dfdf1..d5852e7 100644
--- a/events/client.go
+++ b/events/client.go
@@ -4,7 +4,7 @@
"bytes"
"encoding/json"
// "errors"
- // "fmt"
+ "fmt"
"io/ioutil"
"net/http"
@@ -34,6 +34,19 @@
}
}`
+var markEventDoneTmpl = `mutation {
+ updateImageEvent(input: {
+ filter: {
+ id: ["%s"]
+ },
+ set: {
+ state: DONE
+ }
+ }) {
+ numUids
+ }
+}`
+
// Implements EventStore
type GraphQLClient struct {
apiAddr string
@@ -101,3 +114,17 @@
}
return events, nil
}
+
+func (c *GraphQLClient) MarkEventDone(event Event) error {
+ q := query{fmt.Sprintf(markEventDoneTmpl, event.Id)}
+ qJson, err := json.Marshal(q)
+ if err != nil {
+ return err
+ }
+ _, err = http.Post(c.apiAddr, jsonContentType, bytes.NewReader(qJson))
+ if err != nil {
+ return err
+ }
+ // TODO(giolekva): check errors field
+ return nil
+}