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