blob: c06709cc2fb58bff3a47610826f4a6e2261c9a45 [file] [log] [blame]
package apiGatewayDeploy
import (
"github.com/30x/apid"
"github.com/30x/apidApigeeSync"
)
func initListener(services apid.Services) {
services.Events().Listen(apidApigeeSync.ApigeeSyncEventSelector, &apigeeSyncHandler{})
}
type apigeeSyncHandler struct {
}
func (h *apigeeSyncHandler) String() string {
return "gatewayDeploy"
}
func (h *apigeeSyncHandler) Handle(e apid.Event) {
changeSet, ok := e.(*apidApigeeSync.ChangeSet)
if !ok {
log.Errorf("Received non-ChangeSet event.")
return
}
log.Debugf("apigeeSyncEvent: %d changes", len(changeSet.Changes))
for _, payload := range changeSet.Changes {
if payload.Data.EntityType != "deployment" {
continue
}
switch payload.Data.Operation {
case "create":
err := queueDeployment(payload.Data)
if err == nil {
serviceDeploymentQueue()
} else {
log.Errorf("unable to queue deployment")
}
}
}
}