package main import ( "fmt" "log" "net/http" c "git.1248.nz/1248/Otfe/controllers" a "git.1248.nz/1248/Otfe/misc/auth" "git.1248.nz/1248/Otfe/misc/helpers" "github.com/husobee/vestigo" ) func main() { fmt.Println("Starting") log.Fatal(http.ListenAndServe(":8080", router())) } func router() *vestigo.Router { router := vestigo.NewRouter() var static c.Static router.Get("/", a.User(static.Home)) router.Get("/public/*", http.FileServer( http.Dir(helpers.GetAssets())).ServeHTTP) //User routes var user c.User router.Get("/user", c.User{}.Index) router.Get("/user/:username", a.Perm(user.Show, user.ShowSelf, "user.show")) router.Get("/user/new", user.New) router.Post("/user/new", user.Create) router.Get("/user/:username/edit", user.Edit) router.Post("/user/:username/edit", user.Update) router.Post("/user/:username/delete", user.Delete) router.Get("/register", user.New) //Session routes var session c.Session router.Get("/login", session.New) router.Post("/login", session.Create) router.Post("/logout", session.Delete) //Post routes router.Get("/post", c.Post{}.Index) router.Get("/user/:id", c.Post{}.Show) router.Get("/post/new", c.Post{}.New) router.Post("/post/new", c.Post{}.Create) router.Get("/post/:id/edit", c.Post{}.Edit) router.Post("/post/:id/edit", c.Post{}.Update) router.Post("/post/:id/delete", c.Post{}.Delete) return router }