package users import ( "auth_service/api/jwt" "auth_service/database" "auth_service/model" "encoding/json" "fmt" "net/http" ) func GetUser(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") var request model.Token decoder := json.NewDecoder(req.Body) decoder.Decode(&request) claims, e := jwt.VerifyJWT(request.Token, jwt.Defaultsecretkey) if e != nil { fmt.Fprintf(w, "{\"status\":403}") return } user, e := database.GetUserByUsername( fmt.Sprintf("%v", claims["username"]), ) if e != nil { fmt.Fprintf(w, "{\"error\":\"%v\"}", e) return } responseUser := model.UserResponse{ Id: user.Id, Username: user.Username, Email: user.Email, Group: user.Group, IsSuperuser: user.IsSuperuser, } jsondata, _ := json.Marshal(responseUser) fmt.Fprint(w, string(jsondata)) }