From ae46b03e4bd9bb0c554596777a550b4e9d906b2a Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Mon, 10 Nov 2025 22:23:46 +0000 Subject: [PATCH] Convert existing pages over to report template errors --- endpoint.go | 86 +++++++++++++---------------------------------------- html.go | 72 ++++++++++++++++++++++---------------------- 2 files changed, 56 insertions(+), 102 deletions(-) diff --git a/endpoint.go b/endpoint.go index 8b646899..7bdb3030 100644 --- a/endpoint.go +++ b/endpoint.go @@ -103,58 +103,37 @@ func getQRCodeReport(w http.ResponseWriter, r *http.Request) { } func getReport(w http.ResponseWriter, r *http.Request) { //org := r.URL.Query().Get("org") - err := htmlReport(w) - if err != nil { - respondError(w, "Failed to generate report page", err, http.StatusInternalServerError) - } + htmlReport(w) } func getReportConfirmation(w http.ResponseWriter, r *http.Request) { code := chi.URLParam(r, "code") - err := htmlReportConfirmation(w, code) - if err != nil { - respondError(w, "Failed to generate report page", err, http.StatusInternalServerError) - } + htmlReportConfirmation(w, code) } func getReportContribute(w http.ResponseWriter, r *http.Request) { code := chi.URLParam(r, "code") - err := htmlReportContribute(w, code) - if err != nil { - respondError(w, "Failed to generate report page", err, http.StatusInternalServerError) - } + htmlReportContribute(w, code) } func getReportDetail(w http.ResponseWriter, r *http.Request) { code := chi.URLParam(r, "code") - err := htmlReportDetail(w, code) - if err != nil { - respondError(w, "Failed to generate report page", err, http.StatusInternalServerError) - } + htmlReportDetail(w, code) } func getReportEvidence(w http.ResponseWriter, r *http.Request) { code := chi.URLParam(r, "code") - err := htmlReportEvidence(w, code) - if err != nil { - respondError(w, "Failed to generate report page", err, http.StatusInternalServerError) - } + htmlReportEvidence(w, code) } func getReportSchedule(w http.ResponseWriter, r *http.Request) { code := chi.URLParam(r, "code") - err := htmlReportSchedule(w, code) - if err != nil { - respondError(w, "Failed to generate report page", err, http.StatusInternalServerError) - } + htmlReportSchedule(w, code) } func getReportUpdate(w http.ResponseWriter, r *http.Request) { code := chi.URLParam(r, "code") - err := htmlReportUpdate(w, code) - if err != nil { - respondError(w, "Failed to generate report page", err, http.StatusInternalServerError) - } + htmlReportUpdate(w, code) } func getRoot(w http.ResponseWriter, r *http.Request) { @@ -165,7 +144,8 @@ func getRoot(w http.ResponseWriter, r *http.Request) { } if user == nil { errorCode := r.URL.Query().Get("error") - err = htmlSignin(w, errorCode) + htmlSignin(w, errorCode) + return } else { has, err := hasFieldseekerConnection(r.Context(), user) if err != nil { @@ -176,7 +156,8 @@ func getRoot(w http.ResponseWriter, r *http.Request) { htmlDashboard(r.Context(), w, user) return } else { - err = htmlOauthPrompt(w, user) + htmlOauthPrompt(w, user) + return } } if err != nil { @@ -185,67 +166,40 @@ func getRoot(w http.ResponseWriter, r *http.Request) { } func getServiceRequest(w http.ResponseWriter, r *http.Request) { - err := htmlServiceRequest(w) - if err != nil { - respondError(w, "Failed to generate service request page", err, http.StatusInternalServerError) - } + htmlServiceRequest(w) } func getServiceRequestDetail(w http.ResponseWriter, r *http.Request) { code := chi.URLParam(r, "code") - err := htmlServiceRequestDetail(w, code) - if err != nil { - respondError(w, "Failed to generate service request page", err, http.StatusInternalServerError) - } + htmlServiceRequestDetail(w, code) } func getServiceRequestLocation(w http.ResponseWriter, r *http.Request) { - err := htmlServiceRequestLocation(w) - if err != nil { - respondError(w, "Failed to generate service request location page", err, http.StatusInternalServerError) - } + htmlServiceRequestLocation(w) } func getServiceRequestMosquito(w http.ResponseWriter, r *http.Request) { - err := htmlServiceRequestMosquito(w) - if err != nil { - respondError(w, "Failed to generate service request mosquito page", err, http.StatusInternalServerError) - } + htmlServiceRequestMosquito(w) } func getServiceRequestPool(w http.ResponseWriter, r *http.Request) { - err := htmlServiceRequestPool(w) - if err != nil { - respondError(w, "Failed to generate service request pool page", err, http.StatusInternalServerError) - } + htmlServiceRequestPool(w) } func getServiceRequestQuick(w http.ResponseWriter, r *http.Request) { - err := htmlServiceRequestQuick(w) - if err != nil { - respondError(w, "Failed to generate service request quick page", err, http.StatusInternalServerError) - } + htmlServiceRequestQuick(w) } func getServiceRequestQuickConfirmation(w http.ResponseWriter, r *http.Request) { - err := htmlServiceRequestQuickConfirmation(w) - if err != nil { - respondError(w, "Failed to generate service request quick confirmation page", err, http.StatusInternalServerError) - } + htmlServiceRequestQuickConfirmation(w) } func getServiceRequestUpdates(w http.ResponseWriter, r *http.Request) { - err := htmlServiceRequestUpdates(w) - if err != nil { - respondError(w, "Failed to generate service request updates page", err, http.StatusInternalServerError) - } + htmlServiceRequestUpdates(w) } func getSignup(w http.ResponseWriter, r *http.Request) { - err := htmlSignup(w, r.URL.Path) - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - } + htmlSignup(w, r.URL.Path) } func respondError(w http.ResponseWriter, m string, e error, s int) { diff --git a/html.go b/html.go index a8e5663f..9b92022d 100644 --- a/html.go +++ b/html.go @@ -174,7 +174,7 @@ func htmlDashboard(ctx context.Context, w http.ResponseWriter, user *models.User renderOrError(w, dashboard, data) } -func htmlOauthPrompt(w io.Writer, user *models.User) error { +func htmlOauthPrompt(w http.ResponseWriter, user *models.User) { data := ContentDashboard{ User: User{ DisplayName: user.DisplayName, @@ -182,116 +182,116 @@ func htmlOauthPrompt(w io.Writer, user *models.User) error { Username: user.Username, }, } - return oauthPrompt.ExecuteTemplate(w, data) + renderOrError(w, oauthPrompt, data) } -func htmlReport(w io.Writer) error { +func htmlReport(w http.ResponseWriter) { url := BaseURL + "/report/t78fd3" data := ContentReportDiagnostic{ URL: url, } - return report.ExecuteTemplate(w, data) + renderOrError(w, report, data) } -func htmlReportConfirmation(w io.Writer, code string) error { +func htmlReportConfirmation(w http.ResponseWriter, code string) { url := BaseURL + "/report/" + code + "/history" data := ContentReportDiagnostic{ URL: url, } - return reportConfirmation.ExecuteTemplate(w, data) + renderOrError(w, reportConfirmation, data) } -func htmlReportContribute(w io.Writer, code string) error { +func htmlReportContribute(w http.ResponseWriter, code string) { nextURL := BaseURL + "/report/" + code + "/schedule" data := ContentReportDetail{ NextURL: nextURL, } - return reportContribute.ExecuteTemplate(w, data) + renderOrError(w, reportContribute, data) } -func htmlReportDetail(w io.Writer, code string) error { +func htmlReportDetail(w http.ResponseWriter, code string) { nextURL := BaseURL + "/report/" + code + "/evidence" data := ContentReportDetail{ NextURL: nextURL, UpdateURL: BaseURL + "/report/" + code + "/update", } - return reportDetail.ExecuteTemplate(w, data) + renderOrError(w, reportDetail, data) } -func htmlReportEvidence(w io.Writer, code string) error { +func htmlReportEvidence(w http.ResponseWriter, code string) { nextURL := BaseURL + "/report/" + code + "/contribute" data := ContentReportDetail{ NextURL: nextURL, } - return reportEvidence.ExecuteTemplate(w, data) + renderOrError(w, reportEvidence, data) } -func htmlReportSchedule(w io.Writer, code string) error { +func htmlReportSchedule(w http.ResponseWriter, code string) { nextURL := BaseURL + "/report/" + code + "/confirm" data := ContentReportDetail{ NextURL: nextURL, } - return reportSchedule.ExecuteTemplate(w, data) + renderOrError(w, reportSchedule, data) } -func htmlReportUpdate(w io.Writer, code string) error { +func htmlReportUpdate(w http.ResponseWriter, code string) { nextURL := BaseURL + "/report/" + code + "/evidence" data := ContentReportDetail{ NextURL: nextURL, } - return reportUpdate.ExecuteTemplate(w, data) + renderOrError(w, reportUpdate, data) } -func htmlServiceRequest(w io.Writer) error { +func htmlServiceRequest(w http.ResponseWriter) { data := ContentPlaceholder{} - return serviceRequest.ExecuteTemplate(w, data) + renderOrError(w, serviceRequest, data) } -func htmlServiceRequestDetail(w io.Writer, code string) error { +func htmlServiceRequestDetail(w http.ResponseWriter, code string) { data := ContentPlaceholder{} - return serviceRequestDetail.ExecuteTemplate(w, data) + renderOrError(w, serviceRequestDetail, data) } -func htmlServiceRequestLocation(w io.Writer) error { +func htmlServiceRequestLocation(w http.ResponseWriter) { data := ContentPlaceholder{} - return serviceRequestLocation.ExecuteTemplate(w, data) + renderOrError(w, serviceRequestLocation, data) } -func htmlServiceRequestMosquito(w io.Writer) error { +func htmlServiceRequestMosquito(w http.ResponseWriter) { data := ContentPlaceholder{} - return serviceRequestMosquito.ExecuteTemplate(w, data) + renderOrError(w, serviceRequestMosquito, data) } -func htmlServiceRequestPool(w io.Writer) error { +func htmlServiceRequestPool(w http.ResponseWriter) { data := ContentPlaceholder{} - return serviceRequestPool.ExecuteTemplate(w, data) + renderOrError(w, serviceRequestPool, data) } -func htmlServiceRequestQuick(w io.Writer) error { +func htmlServiceRequestQuick(w http.ResponseWriter) { data := ContentPlaceholder{} - return serviceRequestQuick.ExecuteTemplate(w, data) + renderOrError(w, serviceRequestQuick, data) } -func htmlServiceRequestQuickConfirmation(w io.Writer) error { +func htmlServiceRequestQuickConfirmation(w http.ResponseWriter) { data := ContentPlaceholder{} - return serviceRequestQuickConfirmation.ExecuteTemplate(w, data) + renderOrError(w, serviceRequestQuickConfirmation, data) } -func htmlServiceRequestUpdates(w io.Writer) error { +func htmlServiceRequestUpdates(w http.ResponseWriter) { data := ContentPlaceholder{} - return serviceRequestUpdates.ExecuteTemplate(w, data) + renderOrError(w, serviceRequestUpdates, data) } -func htmlSignin(w io.Writer, errorCode string) error { +func htmlSignin(w http.ResponseWriter, errorCode string) { data := ContentSignin{ InvalidCredentials: errorCode == "invalid-credentials", } - return signin.ExecuteTemplate(w, data) + renderOrError(w, signin, data) } -func htmlSignup(w io.Writer, path string) error { +func htmlSignup(w http.ResponseWriter, path string) { data := ContentSignup{} - return signup.ExecuteTemplate(w, data) + renderOrError(w, signup, data) } func makeFuncMap() template.FuncMap {