master
Raw Download raw file
 1package main
 2
 3import "fmt"
 4
 5type prodDB struct{}
 6
 7func (db *prodDB) GetVisit(visitID string) (v *Visit, err error) {
 8	if len(visitID) == 0 {
 9		return nil, fmt.Errorf("visit id required, none provided")
10	} else {
11		return &Visit{ID: visitID}, nil
12	}
13}
14
15func (db *prodDB) GetVisits() (vl []Visit, err error) {
16	return []Visit{Visit{ID: "a"}, Visit{ID: "b"}}, nil
17}
18
19func (db *prodDB) CreateVisit(v Visit) (vl []Visit, err error) {
20	if len(v.ID) == 0 {
21		return nil, fmt.Errorf("visit id required, none providied")
22	}
23	return append([]Visit{Visit{ID: "a"}, Visit{ID: "b"}}, v), nil
24}
25
26func (db *prodDB) CancelVisit(visitID string) (vl []Visit, err error) {
27	vl = []Visit{Visit{ID: "a"}}
28	if len(visitID) == 0 {
29		return vl, fmt.Errorf("visit id required, none providied")
30	}
31	b := vl[:0]
32	for _, x := range vl {
33		if x.ID != visitID {
34			b = append(b, x)
35		}
36	}
37	return b, nil
38}