Files
micromdm/workflow/webhook/checkin.go
Victor Vrantchan 35051e7d9b Add a more complete webhook worker. (#424)
Adds a webhook worker which is scaffolded to support multiple event types.
Supports Checkin And Acknowledge events from the start.
2018-05-30 09:14:19 -07:00

35 lines
727 B
Go

package webhook
import (
"github.com/pkg/errors"
"github.com/micromdm/micromdm/mdm"
)
type CheckinEvent struct {
UDID string `json:"udid"`
Params map[string]string `json:"url_params"`
RawPayload []byte `json:"raw_payload"`
}
func checkinEvent(topic string, data []byte) (*Event, error) {
var ev mdm.CheckinEvent
if err := mdm.UnmarshalCheckinEvent(data, &ev); err != nil {
return nil, errors.Wrap(err, "unmarshal checkin event for webhook")
}
webhookEvent := Event{
Topic: topic,
EventID: ev.ID,
CreatedAt: ev.Time,
CheckinEvent: &CheckinEvent{
UDID: ev.Command.UDID,
Params: ev.Params,
RawPayload: ev.Raw,
},
}
return &webhookEvent, nil
}