2022-05-04 16:27:16 +02:00
|
|
|
package user
|
|
|
|
|
|
|
|
import (
|
2023-03-16 12:49:27 +01:00
|
|
|
"os"
|
|
|
|
|
2023-06-03 16:18:47 +02:00
|
|
|
"codeberg.org/pronounscc/pronouns.cc/backend/server"
|
2022-05-04 16:27:16 +02:00
|
|
|
"github.com/go-chi/chi/v5"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Server struct {
|
|
|
|
*server.Server
|
2023-03-16 12:49:27 +01:00
|
|
|
|
|
|
|
ExporterPath string
|
2022-05-04 16:27:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
func Mount(srv *server.Server, r chi.Router) {
|
2023-03-16 12:49:27 +01:00
|
|
|
s := &Server{
|
|
|
|
Server: srv,
|
|
|
|
ExporterPath: "http://127.0.0.1:" + os.Getenv("EXPORTER_PORT"),
|
|
|
|
}
|
2022-05-04 16:27:16 +02:00
|
|
|
|
|
|
|
r.Route("/users", func(r chi.Router) {
|
|
|
|
r.Get("/{userRef}", server.WrapHandler(s.getUser))
|
2022-05-17 22:35:26 +02:00
|
|
|
|
|
|
|
r.With(server.MustAuth).Group(func(r chi.Router) {
|
|
|
|
r.Get("/@me", server.WrapHandler(s.getMeUser))
|
2022-06-16 14:54:15 +02:00
|
|
|
r.Patch("/@me", server.WrapHandler(s.patchUser))
|
2023-03-08 10:32:18 +01:00
|
|
|
r.Delete("/@me", server.WrapHandler(s.deleteUser))
|
2023-03-16 12:49:27 +01:00
|
|
|
|
2023-03-16 17:49:40 +01:00
|
|
|
r.Get("/@me/export/start", server.WrapHandler(s.startExport))
|
|
|
|
r.Get("/@me/export", server.WrapHandler(s.getExport))
|
2023-05-10 00:45:31 +02:00
|
|
|
|
|
|
|
r.Get("/@me/flags", server.WrapHandler(s.getUserFlags))
|
|
|
|
r.Post("/@me/flags", server.WrapHandler(s.postUserFlag))
|
2023-05-26 15:22:27 +02:00
|
|
|
r.Patch("/@me/flags/{flagID}", server.WrapHandler(s.patchUserFlag))
|
2023-05-28 16:19:42 +02:00
|
|
|
r.Delete("/@me/flags/{flagID}", server.WrapHandler(s.deleteUserFlag))
|
2023-06-03 03:06:26 +02:00
|
|
|
|
|
|
|
r.Get("/@me/reroll", server.WrapHandler(s.rerollUserSID))
|
2022-05-17 22:35:26 +02:00
|
|
|
})
|
2022-05-04 16:27:16 +02:00
|
|
|
})
|
|
|
|
}
|