1package handling 2 3import ( 4 "context" 5 "time" 6 7 "github.com/go-kit/kit/endpoint" 8 9 "github.com/go-kit/kit/examples/shipping/cargo" 10 "github.com/go-kit/kit/examples/shipping/location" 11 "github.com/go-kit/kit/examples/shipping/voyage" 12) 13 14type registerIncidentRequest struct { 15 ID cargo.TrackingID 16 Location location.UNLocode 17 Voyage voyage.Number 18 EventType cargo.HandlingEventType 19 CompletionTime time.Time 20} 21 22type registerIncidentResponse struct { 23 Err error `json:"error,omitempty"` 24} 25 26func (r registerIncidentResponse) error() error { return r.Err } 27 28func makeRegisterIncidentEndpoint(hs Service) endpoint.Endpoint { 29 return func(ctx context.Context, request interface{}) (interface{}, error) { 30 req := request.(registerIncidentRequest) 31 err := hs.RegisterHandlingEvent(req.CompletionTime, req.ID, req.Voyage, req.Location, req.EventType) 32 return registerIncidentResponse{Err: err}, nil 33 } 34} 35