pronounscc/backend/routes.go

40 lines
1,009 B
Go
Raw Normal View History

package backend
2022-05-02 17:19:37 +02:00
import (
2023-05-19 04:50:11 +02:00
"net/http"
2023-06-03 16:18:47 +02:00
"codeberg.org/pronounscc/pronouns.cc/backend/routes/auth"
"codeberg.org/pronounscc/pronouns.cc/backend/routes/bot"
"codeberg.org/pronounscc/pronouns.cc/backend/routes/member"
"codeberg.org/pronounscc/pronouns.cc/backend/routes/meta"
"codeberg.org/pronounscc/pronouns.cc/backend/routes/mod"
"codeberg.org/pronounscc/pronouns.cc/backend/routes/user"
"codeberg.org/pronounscc/pronouns.cc/backend/server"
2022-05-02 17:19:37 +02:00
"github.com/go-chi/chi/v5"
2023-05-19 04:50:11 +02:00
"github.com/go-chi/render"
_ "embed"
2022-05-02 17:19:37 +02:00
)
2023-05-19 04:50:11 +02:00
//go:embed openapi.html
var openapi string
2022-05-02 17:19:37 +02:00
// mountRoutes mounts all API routes on the server's router.
// they are all mounted under /v1/
func mountRoutes(s *server.Server) {
// future-proofing for API versions
2022-05-02 17:19:37 +02:00
s.Router.Route("/v1", func(r chi.Router) {
auth.Mount(s, r)
user.Mount(s, r)
member.Mount(s, r)
2022-06-17 15:49:16 +02:00
bot.Mount(s, r)
meta.Mount(s, r)
2023-03-19 16:14:09 +01:00
mod.Mount(s, r)
2022-05-02 17:19:37 +02:00
})
2023-05-19 04:50:11 +02:00
// API docs
s.Router.Get("/", func(w http.ResponseWriter, r *http.Request) {
render.HTML(w, r, openapi)
})
2022-05-02 17:19:37 +02:00
}