feat: add /users/@me endpoint, add edit button to profile page
This commit is contained in:
parent
d2f4e09a01
commit
15797b679c
8 changed files with 115 additions and 40 deletions
|
@ -90,3 +90,27 @@ func (s *Server) getUser(w http.ResponseWriter, r *http.Request) error {
|
|||
render.JSON(w, r, dbUserToResponse(u, fields))
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *Server) getMeUser(w http.ResponseWriter, r *http.Request) error {
|
||||
ctx := r.Context()
|
||||
claims, _ := server.ClaimsFromContext(ctx)
|
||||
|
||||
u, err := s.DB.User(ctx, claims.UserID)
|
||||
if err != nil {
|
||||
log.Errorf("Error getting user: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
fields, err := s.DB.UserFields(ctx, u.ID)
|
||||
if err != nil {
|
||||
log.Errorf("Error getting user fields: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
render.JSON(w, r, GetMeResponse{
|
||||
GetUserResponse: dbUserToResponse(u, fields),
|
||||
Discord: u.Discord,
|
||||
DiscordUsername: u.DiscordUsername,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ func Mount(srv *server.Server, r chi.Router) {
|
|||
s := &Server{srv}
|
||||
|
||||
r.Route("/users", func(r chi.Router) {
|
||||
r.With(server.MustAuth).Get("/@me", server.WrapHandler(nil))
|
||||
r.With(server.MustAuth).Get("/@me", server.WrapHandler(s.getMeUser))
|
||||
|
||||
r.Get("/{userRef}", server.WrapHandler(s.getUser))
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue