Skip to content
Snippets Groups Projects
me.go 528 B
Newer Older
Dean's avatar
Dean committed
package routes

import (
	"net/http"

	"owo.codes/whats-this/api/lib/apierrors"
	"owo.codes/whats-this/api/lib/middleware"

	"github.com/go-chi/render"
)

// Me handles /users/me requests.
func Me(w http.ResponseWriter, r *http.Request) {
	// Only authorized users can use this route
	user := middleware.GetAuthorizedUser(r)
	if user.ID == "" || user.IsBlocked {
		panic(apierrors.Unauthorized)
	}

	// Return response
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(http.StatusOK)
	render.JSON(w, r, user)
}