register.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package routes
  2. import (
  3. "git.aetherial.dev/aeth/keiji/pkg/controller"
  4. "github.com/gin-gonic/gin"
  5. )
  6. func Register(e *gin.Engine, root string, domain string, redisPort string, redisAddr string) {
  7. c := controller.NewController(root, domain, redisPort, redisAddr)
  8. web := e.Group("")
  9. web.GET("/", c.ServeBlogHome)
  10. web.GET("/home", c.ServeHome)
  11. web.GET("/blog", c.ServeBlogHome)
  12. web.GET("/creative", c.ServeCreativeWriting)
  13. web.GET("/technical", c.ServeTechnicalWriteups)
  14. web.GET("/digital", c.ServeDigitalArt)
  15. web.GET("/writing/:post-name", c.ServePost)
  16. web.GET("/login", c.ServeLogin)
  17. web.POST("/login", c.Auth)
  18. cdn := e.Group("/api/v1")
  19. cdn.GET("/style/:file", c.ServeCss)
  20. cdn.GET("/js/:file", c.ServeJs)
  21. cdn.GET("/style/mdb/:file", c.ServeMdbCss)
  22. cdn.GET("/assets/:file", c.ServeAsset)
  23. cdn.GET("/images/:file", c.ServeImage)
  24. cdn.GET("/cdn/:file", c.ServeGeneric)
  25. cdn.GET("/htmx/:file", c.ServeHtmx)
  26. priv := e.Group("/admin")
  27. priv.Use(c.IsAuthenticated)
  28. priv.GET("/upload", c.ServeFileUpload)
  29. priv.POST("/upload", c.SaveFile)
  30. priv.GET("/panel", c.AdminPanel)
  31. priv.POST("/add-document", c.AddDocument)
  32. priv.POST("/images/upload", c.SaveFile)
  33. priv.GET("/posts/:post-name", c.GetBlogPostEditor)
  34. priv.POST("/posts", c.MakeBlogPost)
  35. priv.GET("/posts/all", c.ServeBlogDirectory)
  36. priv.GET("/posts", c.ServeNewBlogPage)
  37. priv.PATCH("/posts", c.UpdateBlogPost)
  38. }