1package tracking
2
3import (
4	"context"
5
6	"github.com/go-kit/kit/endpoint"
7)
8
9type trackCargoRequest struct {
10	ID string
11}
12
13type trackCargoResponse struct {
14	Cargo *Cargo `json:"cargo,omitempty"`
15	Err   error  `json:"error,omitempty"`
16}
17
18func (r trackCargoResponse) error() error { return r.Err }
19
20func makeTrackCargoEndpoint(ts Service) endpoint.Endpoint {
21	return func(ctx context.Context, request interface{}) (interface{}, error) {
22		req := request.(trackCargoRequest)
23		c, err := ts.Track(req.ID)
24		return trackCargoResponse{Cargo: &c, Err: err}, nil
25	}
26}
27