master
Raw Download raw file
 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}