diff --git a/html/template/sync/data-entry-bad.html b/html/template/sync/data-entry-bad.html deleted file mode 100644 index 433510df..00000000 --- a/html/template/sync/data-entry-bad.html +++ /dev/null @@ -1,235 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Data Entry{{ end }} -{{ define "extraheader" }} - -{{ end }} -{{ define "content" }} -
-
-

Upload Failed: pools-data-2023.csv

- - Validation Errors - -
- - - -
-
-
Error Summary
- - Download Error Log - -
-
-

- We found 12 errors in your CSV file. The most common - issues are: -

-
    -
  • - Missing required column: The "Latitude" column is - not present in your file -
  • -
  • - Invalid data format: 8 GPS coordinates contain - non-numeric values -
  • -
  • - Empty required fields: 3 records are missing Plat - ID values -
  • -
- - -
-
- -
-
-
Detailed Error Report
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Line NumberErrorSuggestion
1 - MISSING_COLUMN
- Required column "Latitude" is missing from the header row -
- Add a "Latitude" column to your CSV file. Make sure the spelling - and capitalization match exactly. -
5 - INVALID_DATA_FORMAT
- GPS coordinate "37.45N" is not a valid decimal number -
- Change "37.45N" to a decimal format (e.g., "37.45"). Remove any - non-numeric characters except for the decimal point. -
8 - EMPTY_REQUIRED_FIELD
- Plat ID is empty or missing -
- Add a Plat ID value for this record. Each pool must have a - unique identifier. -
12 - INVALID_DATA_FORMAT
- GPS coordinate "unknown" is not a valid decimal number -
- Replace "unknown" with the actual longitude value in decimal - format (e.g., "-122.4194"). -
17 - INVALID_DATA_FORMAT
- GPS coordinate "N/A" is not a valid decimal number -
- Replace "N/A" with the actual latitude value in decimal format - (e.g., "37.7749"). -
21 - EMPTY_REQUIRED_FIELD
- Plat ID is empty or missing -
- Add a Plat ID value for this record. Each pool must have a - unique identifier. -
-
- -
- -
-
-
Next Steps
-
-
-
    -
  1. - Download the error log for a complete list of issues (optional) -
  2. -
  3. Fix the errors in your CSV file
  4. -
  5. Re-upload the corrected file using the button below
  6. -
- - - -
- -
-
-
- -
- - Need help? Contact support - -
-
-{{ end }} diff --git a/html/template/sync/mock-root.html b/html/template/sync/mock-root.html deleted file mode 100644 index 8c86c837..00000000 --- a/html/template/sync/mock-root.html +++ /dev/null @@ -1,66 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Data Entry{{ end }} -{{ define "extraheader" }} -{{ end }} -{{ define "content" }} -
-

Mock Listing

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LinkNameDescription
/mock/adminAdmin - Used by office admins to handle phone calls and other public-facing - responsibilities -
/mock/flyover-data-entryFlyover Data Entry - Used to upload CSV files with information about problematic pools -
/mock/dispatchDispatchUsed each day to calculate the working routes for technicians
/mock/reportReporting Overview - Shows examples of text message contents, printable QR codes, and - email bodies for sending to the public to help them self-report -
/mock/report/abc-123Self-ReportA page for members of the public to report a green pool.
/mock/service-requestService Request - A page for members of the public to make a direct service request -
/mock/settingSettingsA page for management to control the behavior of Nidus
-
-{{ end }} diff --git a/html/template/sync/admin.html b/html/template/sync/mock/admin.html similarity index 100% rename from html/template/sync/admin.html rename to html/template/sync/mock/admin.html diff --git a/html/template/sync/dispatch-results.html b/html/template/sync/mock/dispatch-results.html similarity index 100% rename from html/template/sync/dispatch-results.html rename to html/template/sync/mock/dispatch-results.html diff --git a/html/template/sync/dispatch.html b/html/template/sync/mock/dispatch.html similarity index 100% rename from html/template/sync/dispatch.html rename to html/template/sync/mock/dispatch.html diff --git a/html/template/sync/report-confirmation.html b/html/template/sync/mock/report-confirmation.html similarity index 100% rename from html/template/sync/report-confirmation.html rename to html/template/sync/mock/report-confirmation.html diff --git a/html/template/sync/report-contribute.html b/html/template/sync/mock/report-contribute.html similarity index 100% rename from html/template/sync/report-contribute.html rename to html/template/sync/mock/report-contribute.html diff --git a/html/template/sync/report-detail.html b/html/template/sync/mock/report-detail.html similarity index 100% rename from html/template/sync/report-detail.html rename to html/template/sync/mock/report-detail.html diff --git a/html/template/sync/report-evidence.html b/html/template/sync/mock/report-evidence.html similarity index 100% rename from html/template/sync/report-evidence.html rename to html/template/sync/mock/report-evidence.html diff --git a/html/template/sync/report-schedule.html b/html/template/sync/mock/report-schedule.html similarity index 100% rename from html/template/sync/report-schedule.html rename to html/template/sync/mock/report-schedule.html diff --git a/html/template/sync/report-update.html b/html/template/sync/mock/report-update.html similarity index 100% rename from html/template/sync/report-update.html rename to html/template/sync/mock/report-update.html diff --git a/html/template/sync/report.html b/html/template/sync/mock/report.html similarity index 100% rename from html/template/sync/report.html rename to html/template/sync/mock/report.html diff --git a/html/template/sync/mock/root.html b/html/template/sync/mock/root.html new file mode 100644 index 00000000..487b1629 --- /dev/null +++ b/html/template/sync/mock/root.html @@ -0,0 +1,24 @@ +{{ template "sync/layout/base.html" . }} + +{{ define "title" }}Mock Root{{ end }} +{{ define "extraheader" }} +{{ end }} +{{ define "content" }} +
+

Mock Listing

+ + + + + + + + {{ range .Mocks }} + + + + {{ end }} + +
Link
{{ .Path }}
+
+{{ end }} diff --git a/html/template/sync/service-request-detail.html b/html/template/sync/mock/service-request-detail.html similarity index 100% rename from html/template/sync/service-request-detail.html rename to html/template/sync/mock/service-request-detail.html diff --git a/html/template/sync/setting-pesticide-add.html b/html/template/sync/mock/setting-pesticide-add.html similarity index 100% rename from html/template/sync/setting-pesticide-add.html rename to html/template/sync/mock/setting-pesticide-add.html diff --git a/html/template/sync/setting-pesticide.html b/html/template/sync/mock/setting-pesticide.html similarity index 100% rename from html/template/sync/setting-pesticide.html rename to html/template/sync/mock/setting-pesticide.html diff --git a/html/template/sync/setting-user-add.html b/html/template/sync/mock/setting-user-add.html similarity index 100% rename from html/template/sync/setting-user-add.html rename to html/template/sync/mock/setting-user-add.html diff --git a/html/template/sync/setting-user.html b/html/template/sync/mock/setting-user.html similarity index 100% rename from html/template/sync/setting-user.html rename to html/template/sync/mock/setting-user.html diff --git a/html/template/sync/setting-mock.html b/html/template/sync/mock/setting.html similarity index 100% rename from html/template/sync/setting-mock.html rename to html/template/sync/mock/setting.html diff --git a/html/template/sync/service-request-location.html b/html/template/sync/service-request-location.html deleted file mode 100644 index af14266c..00000000 --- a/html/template/sync/service-request-location.html +++ /dev/null @@ -1,423 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Dash{{ end }} -{{ define "extraheader" }} - -{{ end }} -{{ define "content" }} - -
-
-
-
-

[District Name]

-
-
- -
-
-
-
- - -
-
- -
-
-

Lookup Reports by Location

-

Find reports and mosquito activity in your area

-
-
- - -
-
-
-
-
- How to use this tool -
-

- You can either enter an address in the search - box or navigate the map by dragging and zooming - to find reports in your area. The table below will update - automatically to show reports within the current map view. -

-
-
-
-
- - -
-
- -
-
-
Search by Address
-
-
-
-
- -
- - -
-
-
- - -
-
- -
- Currently showing reports - within 1 mile of map center -
-
-
-
- -
- -
-
- -

Interactive Map Area

-

- The map will display here and allow you to navigate the area -

-
- - -
- - - -
- - -
-
Current View
-
Lakeside, CA
-
32.857° N, 116.922° W
-
-
-
-
- - -
-
-
-
-
Reports in This Area
- Showing 12 of 37 total reports -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeLocationSubmittedStatusReport ID
- - - - Green Pool - 123 Mosquito Ave - Oct 15, 2023 -
5 days ago
-
- Scheduled - - MMD-2023-12345 -
- - - - Mosquito Nuisance - 456 Lake Dr - Oct 12, 2023 -
8 days ago
-
- Complete - - MMD-2023-12341 -
- - - - Fish Request - 789 Creek Rd - Oct 18, 2023 -
2 days ago
-
- Acknowledged - - MMD-2023-12350 -
- - - - Mosquito Nuisance - 101 Pond Ln - Sep 25, 2023 -
25 days ago
-
- Complete - - MMD-2023-12289 -
- - - - Green Pool - 202 Highland Ave - Oct 19, 2023 -
1 day ago
-
- Submitted - - MMD-2023-12356 -
- - - - Green Pool - 303 Marsh Way - Aug 15, 2023 -
2 months ago
-
- Complete - - MMD-2023-12056 -
-
-
- -
-
-
- - - -
-
- - - -{{ end }} diff --git a/html/template/sync/service-request-mosquito.html b/html/template/sync/service-request-mosquito.html deleted file mode 100644 index ede0545b..00000000 --- a/html/template/sync/service-request-mosquito.html +++ /dev/null @@ -1,738 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Dash{{ end }} -{{ define "extraheader" }} - - -{{ end }} -{{ define "content" }} - -
-
-
-
-

[District Name]

-
-
- -
-
-
-
- - -
-
- -
-
-

Report Mosquito Nuisance

-

Help us identify mosquito activity in your area

-
-
- - -
-
- -
-
- - -
- -
-
- -

Mosquito Activity Information

- optional -
-

- The time when mosquitoes are active can help us identify the species - and likely breeding sources. -

- - -
-
- -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
-
- - -
-
- - -
- - -
- - -
-
-
Minor
- Occasional mosquito -
-
-
Moderate
- Regular presence -
-
-
Severe
- Many mosquitoes -
-
-
- Current selection: 3/5 -
-
-
- - -
-
- - -
-
-
- - -
-
- -

Potential Mosquito Sources

- optional -
-

- Have you noticed any of these common mosquito breeding sources in - your area? -

- -
-
-
Did you know?
-

- Mosquitoes can breed in as little as a bottle cap of water! - Eliminating standing water is the most effective way to reduce - mosquito populations. -

-
-
- -
- -
-
-
-
- -
-
Stagnant Water
-

- Green pools, ponds, fountains, or birdbaths that aren't - maintained -

-
- - -
-
-
-
- - -
-
-
-
- -
-
Containers
-

- Buckets, planters, toys, tires, or any items that collect - rainwater -

-
- - -
-
-
-
- - -
-
-
-
- -
-
Roof & Gutters
-

- Clogged gutters, flat roofs, or AC units that collect water -

-
- - -
-
-
-
-
- - - -
-
- - -
-
-
- - -
-
- -

Inspection Request

-
-

- Would you like our technicians to inspect for potential mosquito - sources? -

- -
-
-
-
- Property Inspection -
-

- Request a technician to inspect your property for mosquito - sources. We'll contact you to schedule a convenient time. -

-
- - -
-
-
- -
-
-
Neighborhood Inspection
-

- Request a general inspection of your neighborhood. We'll - survey the area for potential mosquito breeding sources. -

-
- - -
-
-
-
- - - -
- - -
-
- -

Location & Contact Information

-
- -
-
- - -
-
- -
-
- - -
-
- - -
-
- - -
- We'll use this to send you a confirmation and follow-up - information. -
-
-
-
- - -
-
- -

Additional Information

- optional -
- -
-
- - -
-
-
- - -
-
-
-

- Thank you for reporting this mosquito issue. -

-

- After submission, you'll receive a confirmation with a report ID - and further information. -

-
-
- -
-
-
-
- - - -
-
- - - -{{ end }} diff --git a/html/template/sync/service-request-pool.html b/html/template/sync/service-request-pool.html deleted file mode 100644 index d2fe4f23..00000000 --- a/html/template/sync/service-request-pool.html +++ /dev/null @@ -1,662 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Dash{{ end }} -{{ define "extraheader" }} - - -{{ end }} -{{ define "content" }} - -
-
-
-
-

{{ .DistrictName }}

-
-
- -
-
-
-
- - -
-
- -
-
-

Report a Green Pool or Mosquito Source

-

- Help us locate and treat potential mosquito breeding sources in your - area -

-
-
- - -
-
- -
-
- - -
- -
-
- -

Photos

- optional -
-

- Photos help us identify the severity of the issue and may contain - location data that can help us find the source. -

- -
- -
- -
-

Drag and drop photos here

-

- or -

- -

- You can upload multiple photos (maximum 5) -

-
- - -
- -
-
- - -
-
- -

Location

- optional -
-

- Please provide the location of the potential mosquito breeding - source. We may be able to extract this information from your photos - if they contain location data. -

- -
-
- - -
-
- -

- You can also click on the map to mark the location precisely -

-
-
- -

Interactive Map

-

- Click to set the location of the mosquito source -

-
-
-
- - -
-
- -

Source Details

- optional -
- -
-
- - -
- -
- -
- - -
-
- - -
-
- - -
-
-
-
- - -
-
- -

Access Information

- optional -
-

- Please provide any details about how to access the mosquito source. - This helps our technicians when they visit the site. -

- -
-
- - -
-
- -
-
- -
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
-
-
-
-
- - -
-
- -

Contact Information

- optional -
- - -
Property Owner Information (if known)
-
-
- - -
-
- - -
-
- - -
-
- - -
Your Contact Information (for updates)
-
-
- - -
-
- - -
-
- - -
-
-
- - -
-
-
-
- - -
-
- -

Additional Information

- optional -
-

- Please provide any other information that might help us address this - mosquito source. -

- -
-
- - -
-
-
- - -
-
-
-

- Thank you for helping us keep our community safe from - mosquito-borne illnesses. -

-

- After submission, you will receive a confirmation with a report - ID for tracking purposes. -

-
-
- -
-
-
-
- - - -
-
- - - - - - -{{ end }} diff --git a/html/template/sync/service-request-quick-confirmation.html b/html/template/sync/service-request-quick-confirmation.html deleted file mode 100644 index f8685d07..00000000 --- a/html/template/sync/service-request-quick-confirmation.html +++ /dev/null @@ -1,150 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Dash{{ end }} -{{ define "extraheader" }} - -{{ end }} -{{ define "content" }} - -
-
-
-
-

[District Name]

-
-
- -
-
-
-
- - -
-
-
-
-
- -
- - - -
- -

Report Received!

- -

- Thank you for contributing to the health and well-being of our - community. -

- -
-

- Your mosquito report has been submitted successfully and will be - reviewed by our team. Your effort helps us identify problem - areas and better manage mosquito populations throughout our - district. -

-
- -

- Report ID: - #MM - -

- - Return Home -
-
- - -
-
-
What happens next?
-

- Our team reviews all reports daily. Depending on the nature of - your report, we may deploy field technicians to assess the area or - add it to our scheduled mosquito control activities. For urgent - matters, we prioritize responses based on public health risk - factors. -

-
-
-
-
-
- - - -{{ end }} diff --git a/html/template/sync/service-request-quick.html b/html/template/sync/service-request-quick.html deleted file mode 100644 index d1740c2f..00000000 --- a/html/template/sync/service-request-quick.html +++ /dev/null @@ -1,233 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Dash{{ end }} -{{ define "extraheader" }} - -{{ end }} -{{ define "content" }} - -
-
-
-
-

[District Name]

-
-
- -
-
-
-
- - -
-
-
-
-
-

Quick Mosquito Report

- - -
- -
- - - - - Your location and current time will be automatically - collected with your report. -
- - -
- -
- - - - -
- - -
- Take pictures of the mosquito problem area - - -
- - Preview -
-
-
- - -
- - -
- - - -
-
-
- - - -
-
-
- - - -{{ end }} diff --git a/html/template/sync/service-request-updates.html b/html/template/sync/service-request-updates.html deleted file mode 100644 index 1cfe09e0..00000000 --- a/html/template/sync/service-request-updates.html +++ /dev/null @@ -1,222 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Dash{{ end }} -{{ define "extraheader" }} - -{{ end }} -{{ define "content" }} - -
-
-
-
-

{{ .DistrictName }}

-
-
- -
-
-
-
- - -
- -
-
-

Check Status or Follow-up

-
-
- - -
-
-
-
-

- Choose one of the following options to check on mosquito activity - or follow up on a previous report. -

-
-
- -
- -
-
-
-
- - - - -
-

- Look up by Report ID -

-

- If you have a report ID from a previous request, enter it - below to view the details and current status. -

- -
-
- - -
Example: MMD-2023-12345
-
- -
-
-
-
- - -
-
-
- - -
-
-
-
- - - - -
-

Look up by Location

-

- Don't have a report ID? You can check mosquito activity and - reports in your area by providing your location information. -

-

- This option will guide you through selecting your location to - find relevant information about mosquito activity near you. -

- -
-
-
-
- - - -
-
-
- - - -{{ end }} diff --git a/html/template/sync/service-request.html b/html/template/sync/service-request.html deleted file mode 100644 index 2c7e8be7..00000000 --- a/html/template/sync/service-request.html +++ /dev/null @@ -1,230 +0,0 @@ -{{ template "sync/layout/base.html" . }} - -{{ define "title" }}Dash{{ end }} -{{ define "extraheader" }} - -{{ end }} -{{ define "content" }} - -
-
-
-
-

{{ .DistrictName }}

-
-
- -
-
-
-
- - -
- -
-
-
-
-

- Welcome to Our Mosquito Management Services -

-

- We are dedicated to protecting public health and improving quality - of life by reducing mosquito populations and the diseases they can - carry. Our district provides comprehensive mosquito surveillance, - control, and education services to our community. -

-
-
-
-
- - -
-
-
-
-

On the go?

- Make a Quick Report -

- Report mosquito issues in under 60 seconds -

-
-
-
-
- - -
-
-

How Can We Help You Today?

-
- -
-
-
-
- - - -
-

Follow-up or Check Status

-

- Check on a previous request or view current mosquito activity - in your area. -

- Get Updates -
-
-
- - -
-
-
-
- - - -
-

Report a Green Pool

-

- Report stagnant water sources like abandoned pools that may - breed mosquitoes. -

- Report Source -
-
-
- - -
-
-
-
- - - -
-

Report Mosquito Nuisance

-

- Report areas with high adult mosquito activity causing - discomfort or concern. -

- Report Problem -
-
-
-
- - -
-
-
-
-
-
-
Need to make a quick report?
-

- Use our streamlined form to report mosquito issues in - under 60 seconds -

-
- -
-
-
-
-
-
-
-
- - - -{{ end }} diff --git a/sync/mock.go b/sync/mock.go index 1d47fbfe..9f2f3ea9 100644 --- a/sync/mock.go +++ b/sync/mock.go @@ -102,36 +102,57 @@ func getQRCodeReport(w http.ResponseWriter, r *http.Request) { } } -func mock(t string, w http.ResponseWriter, code string) { - data := ContentMock{ - DistrictName: "Delta MVCD", - URLs: ContentMockURLs{ - Dispatch: "/mock/dispatch", - DispatchResults: "/mock/dispatch-results", - ReportConfirmation: fmt.Sprintf("/mock/report/%s/confirm", code), - ReportDetail: fmt.Sprintf("/mock/report/%s", code), - ReportContribute: fmt.Sprintf("/mock/report/%s/contribute", code), - ReportEvidence: fmt.Sprintf("/mock/report/%s/evidence", code), - ReportSchedule: fmt.Sprintf("/mock/report/%s/schedule", code), - ReportUpdate: fmt.Sprintf("/mock/report/%s/update", code), - Root: "/mock", - Setting: "/mock/setting", - SettingIntegration: "/mock/setting/integration", - SettingPesticide: "/mock/setting/pesticide", - SettingPesticideAdd: "/mock/setting/pesticide/add", - SettingUser: "/mock/setting/user", - SettingUserAdd: "/mock/setting/user/add", - }, - } - html.RenderOrError(w, t, data) +type mock struct { + Path string + template string } -func renderMock(templateName string) http.HandlerFunc { +var mocks = []mock{} + +func addMock(r chi.Router, path string, template string) { + mocks = append(mocks, mock{ + Path: path, + template: template, + }) + r.Get(path, renderMock(template)) +} +func renderMock(template_name string) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { code := chi.URLParam(r, "code") if code == "" { code = "abc-123" } - mock(templateName, w, code) + data := ContentMock{ + DistrictName: "Delta MVCD", + URLs: ContentMockURLs{ + Dispatch: "/mock/dispatch", + DispatchResults: "/mock/dispatch-results", + ReportConfirmation: fmt.Sprintf("/mock/report/%s/confirm", code), + ReportDetail: fmt.Sprintf("/mock/report/%s", code), + ReportContribute: fmt.Sprintf("/mock/report/%s/contribute", code), + ReportEvidence: fmt.Sprintf("/mock/report/%s/evidence", code), + ReportSchedule: fmt.Sprintf("/mock/report/%s/schedule", code), + ReportUpdate: fmt.Sprintf("/mock/report/%s/update", code), + Root: "/mock", + Setting: "/mock/setting", + SettingIntegration: "/mock/setting/integration", + SettingPesticide: "/mock/setting/pesticide", + SettingPesticideAdd: "/mock/setting/pesticide/add", + SettingUser: "/mock/setting/user", + SettingUserAdd: "/mock/setting/user/add", + }, + } + html.RenderOrError(w, template_name, data) } } + +type contentMockList struct { + Mocks []mock +} + +func renderMockList(w http.ResponseWriter, r *http.Request) { + data := contentMockList{ + Mocks: mocks, + } + html.RenderOrError(w, "sync/mock/root.html", data) +} diff --git a/sync/routes.go b/sync/routes.go index c6b24d37..1a2226c6 100644 --- a/sync/routes.go +++ b/sync/routes.go @@ -18,34 +18,24 @@ func Router() chi.Router { r.Get("/district", getDistrict) // Mock endpoints - r.Get("/mock", renderMock("mock-root.html")) - r.Get("/mock/admin", renderMock("admin.html")) - r.Get("/mock/admin/service-request", renderMock("admin-service-request.html")) - r.Get("/mock/data-entry", renderMock("data-entry.html")) - r.Get("/mock/data-entry/bad", renderMock("data-entry-bad.html")) - r.Get("/mock/dispatch", renderMock("dispatch.html")) - r.Get("/mock/dispatch-results", renderMock("dispatch-results.html")) - r.Get("/mock/report", renderMock("report.html")) - r.Get("/mock/report/{code}", renderMock("report-detail.html")) - r.Get("/mock/report/{code}/confirm", renderMock("report-confirmation.html")) - r.Get("/mock/report/{code}/contribute", renderMock("report-contribute.html")) - r.Get("/mock/report/{code}/evidence", renderMock("report-evidence.html")) - r.Get("/mock/report/{code}/schedule", renderMock("report-schedule.html")) - r.Get("/mock/report/{code}/update", renderMock("report-update.html")) - r.Get("/mock/service-request", renderMock("service-request.html")) - r.Get("/mock/service-request/{code}", renderMock("service-request-detail.html")) - r.Get("/mock/service-request-location", renderMock("service-request-location.html")) - r.Get("/mock/service-request-mosquito", renderMock("service-request-mosquito.html")) - r.Get("/mock/service-request-pool", renderMock("service-request-pool.html")) - r.Get("/mock/service-request-quick", renderMock("service-request-quick.html")) - r.Get("/mock/service-request-quick-confirmation", renderMock("service-request-quick-confirmation.html")) - r.Get("/mock/service-request-updates", renderMock("service-request-updates.html")) - r.Get("/mock/setting", renderMock("setting-mock.html")) - r.Get("/mock/setting/integration", renderMock("setting-integration.html")) - r.Get("/mock/setting/pesticide", renderMock("setting-pesticide.html")) - r.Get("/mock/setting/pesticide/add", renderMock("setting-pesticide-add.html")) - r.Get("/mock/setting/user", renderMock("setting-user.html")) - r.Get("/mock/setting/user/add", renderMock("setting-user-add.html")) + r.Get("/mock", renderMockList) + addMock(r, "/mock/admin", "sync/mock/admin.html") + addMock(r, "/mock/admin", "sync/mock/admin.html") + addMock(r, "/mock/dispatch", "sync/mock/dispatch.html") + addMock(r, "/mock/dispatch-results", "sync/mock/dispatch-results.html") + addMock(r, "/mock/report", "sync/mock/report.html") + addMock(r, "/mock/report/{code}", "sync/mock/report-detail.html") + addMock(r, "/mock/report/{code}/confirm", "sync/mock/report-confirmation.html") + addMock(r, "/mock/report/{code}/contribute", "sync/mock/report-contribute.html") + addMock(r, "/mock/report/{code}/evidence", "sync/mock/report-evidence.html") + addMock(r, "/mock/report/{code}/schedule", "sync/mock/report-schedule.html") + addMock(r, "/mock/report/{code}/update", "sync/mock/report-update.html") + addMock(r, "/mock/service-request/{code}", "sync/mock/service-request-detail.html") + addMock(r, "/mock/setting", "sync/mock/setting.html") + addMock(r, "/mock/setting/pesticide", "sync/mock/setting-pesticide.html") + addMock(r, "/mock/setting/pesticide/add", "sync/mock/setting-pesticide-add.html") + addMock(r, "/mock/setting/user", "sync/mock/setting-user.html") + addMock(r, "/mock/setting/user/add", "sync/mock/setting-user-add.html") // Utility endpoints r.Get("/oauth/refresh", getOAuthRefresh)