package auth import ( "encoding/json" "net/http" "gitea.local/admin/hspguard/internal/types" "gitea.local/admin/hspguard/internal/util" "gitea.local/admin/hspguard/internal/web" "github.com/google/uuid" ) func (h *AuthHandler) getProfile(w http.ResponseWriter, r *http.Request) { userId, ok := util.GetRequestUserId(r.Context()) if !ok { web.Error(w, "failed to get user id from auth session", http.StatusInternalServerError) return } user, err := h.repo.FindUserId(r.Context(), uuid.MustParse(userId)) if err != nil { web.Error(w, "user with provided id does not exist", http.StatusUnauthorized) return } w.Header().Set("Content-Type", "application/json") if err := json.NewEncoder(w).Encode(types.NewUserDTO(&user)); err != nil { web.Error(w, "failed to encode user profile", http.StatusInternalServerError) } }