master
1package main
2
3import "github.com/gorilla/mux"
4
5// path and mux var constants
6const (
7 visitsPath = "visits"
8 visitorsPath = "visitors"
9 visitKey = "visitID"
10 visitorKey = "visitorID"
11)
12
13func VisitrApp() (r *mux.Router) {
14 r = mux.NewRouter()
15 get := r.Methods("GET").Subrouter()
16 post := r.Methods("POST").Subrouter()
17 del := r.Methods("DELETE").Subrouter()
18
19 // visit handlers
20 get.Handle(visitsPath, VisitList())
21 post.Handle(visitsPath, VisitCreate())
22
23 visitID := "{" + visitKey + ":[a-zA-Z0-9]+}"
24 get.Handle("/"+visitsPath+"/"+visitID, VisitDetails())
25 del.Handle("/"+visitsPath+"/"+visitID, VisitCancel())
26
27 // visitor handlers
28 visitorID := "{" + visitorKey + ":[a-zA-Z0-9]+}"
29 //get.Handle("/"+visitsPath+"/"+visitID+"/"+visitorsPath, VisitorList())
30 post.Handle("/"+visitsPath+"/"+visitID+"/"+visitorsPath, VisitorCreate())
31
32 get.Handle("/"+visitsPath+"/"+visitID+"/"+visitorsPath+"/"+visitorID, VisitorList())
33 del.Handle("/"+visitsPath+"/"+visitID+"/"+visitorsPath+"/"+visitorID, VisitorRemove())
34
35 return r
36}