|
|
|
@ -28,6 +28,7 @@ type payloadConvertor[T any] interface {
|
|
|
|
Release(*api.ReleasePayload) (T, error)
|
|
|
|
Release(*api.ReleasePayload) (T, error)
|
|
|
|
Wiki(*api.WikiPayload) (T, error)
|
|
|
|
Wiki(*api.WikiPayload) (T, error)
|
|
|
|
Package(*api.PackagePayload) (T, error)
|
|
|
|
Package(*api.PackagePayload) (T, error)
|
|
|
|
|
|
|
|
Status(*api.CommitStatusPayload) (T, error)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func convertUnmarshalledJSON[T, P any](convert func(P) (T, error), data []byte) (t T, err error) {
|
|
|
|
func convertUnmarshalledJSON[T, P any](convert func(P) (T, error), data []byte) (t T, err error) {
|
|
|
|
@ -77,6 +78,8 @@ func newPayload[T any](rc payloadConvertor[T], data []byte, event webhook_module
|
|
|
|
return convertUnmarshalledJSON(rc.Wiki, data)
|
|
|
|
return convertUnmarshalledJSON(rc.Wiki, data)
|
|
|
|
case webhook_module.HookEventPackage:
|
|
|
|
case webhook_module.HookEventPackage:
|
|
|
|
return convertUnmarshalledJSON(rc.Package, data)
|
|
|
|
return convertUnmarshalledJSON(rc.Package, data)
|
|
|
|
|
|
|
|
case webhook_module.HookEventStatus:
|
|
|
|
|
|
|
|
return convertUnmarshalledJSON(rc.Status, data)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return t, fmt.Errorf("newPayload unsupported event: %s", event)
|
|
|
|
return t, fmt.Errorf("newPayload unsupported event: %s", event)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|