2025-12-16 16:37:53 +00:00
|
|
|
package api
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
|
|
|
"github.com/go-chi/render"
|
|
|
|
|
|
|
|
|
|
"github.com/Gleipnir-Technology/nidus-sync/auth"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func AddRoutes(r chi.Router) {
|
|
|
|
|
// Authenticated endpoints
|
|
|
|
|
r.Use(render.SetContentType(render.ContentTypeJSON))
|
|
|
|
|
r.Method("POST", "/audio/{uuid}", auth.NewEnsureAuth(apiAudioPost))
|
|
|
|
|
r.Method("POST", "/audio/{uuid}/content", auth.NewEnsureAuth(apiAudioContentPost))
|
2026-03-11 22:50:36 +00:00
|
|
|
r.Method("GET", "/client/ios", auth.NewEnsureAuth(handleClientIos))
|
|
|
|
|
r.Method("GET", "/communication", authenticatedHandlerJSON(listCommunication))
|
2026-03-12 23:49:16 +00:00
|
|
|
r.Method("GET", "/events", auth.NewEnsureAuth(streamEvents))
|
2025-12-16 16:37:53 +00:00
|
|
|
r.Method("POST", "/image/{uuid}", auth.NewEnsureAuth(apiImagePost))
|
2026-03-07 02:02:10 +00:00
|
|
|
r.Method("GET", "/image/{uuid}/content", auth.NewEnsureAuth(apiImageContentGet))
|
2025-12-16 16:37:53 +00:00
|
|
|
r.Method("POST", "/image/{uuid}/content", auth.NewEnsureAuth(apiImageContentPost))
|
2026-03-05 15:41:56 +00:00
|
|
|
r.Method("GET", "/leads", authenticatedHandlerJSON(listLead))
|
2026-03-05 14:18:10 +00:00
|
|
|
r.Method("POST", "/leads", authenticatedHandlerJSONPost(postLeads))
|
2026-03-11 22:50:36 +00:00
|
|
|
r.Method("GET", "/mosquito-source", auth.NewEnsureAuth(apiMosquitoSource))
|
2026-03-14 01:14:30 +00:00
|
|
|
r.Method("POST", "/publicreport/invalid", authenticatedHandlerJSONPost(postPublicreportInvalid))
|
|
|
|
|
r.Method("POST", "/publicreport/lead", authenticatedHandlerJSONPost(postPublicreportLead))
|
2026-03-15 22:38:36 +00:00
|
|
|
r.Method("POST", "/publicreport/message", authenticatedHandlerJSONPost(postPublicreportMessage))
|
2026-03-11 22:50:36 +00:00
|
|
|
r.Method("POST", "/review/pool", authenticatedHandlerJSONPost(postReviewPool))
|
|
|
|
|
r.Method("GET", "/review-task/pool", authenticatedHandlerJSON(listReviewTaskPool))
|
|
|
|
|
r.Method("GET", "/service-request", auth.NewEnsureAuth(apiServiceRequest))
|
|
|
|
|
r.Method("GET", "/signal", authenticatedHandlerJSON(listSignal))
|
|
|
|
|
r.Method("GET", "/trap-data", auth.NewEnsureAuth(apiTrapData))
|
2026-03-11 14:28:59 +00:00
|
|
|
r.Method("GET", "/tile/{z}/{y}/{x}", auth.NewEnsureAuth(getTile))
|
2026-03-13 21:22:34 +00:00
|
|
|
r.Method("GET", "/user", authenticatedHandlerJSON(getUser))
|
2025-12-16 16:37:53 +00:00
|
|
|
|
|
|
|
|
// Unauthenticated endpoints
|
2026-01-15 22:56:32 +00:00
|
|
|
r.Get("/district", apiGetDistrict)
|
2026-01-24 19:13:55 +00:00
|
|
|
r.Get("/district/{slug}/logo", apiGetDistrictLogo)
|
2026-02-28 23:40:21 +00:00
|
|
|
r.Get("/compliance-request/image/pool/{public_id}", getComplianceRequestImagePool)
|
2026-01-25 19:36:56 +00:00
|
|
|
r.Post("/signin", postSignin)
|
2026-01-29 17:30:21 +00:00
|
|
|
r.Post("/twilio/call", twilioCallPost)
|
|
|
|
|
r.Post("/twilio/call/status", twilioCallStatusPost)
|
2026-01-21 03:30:03 +00:00
|
|
|
r.Post("/twilio/message", twilioMessagePost)
|
|
|
|
|
r.Post("/twilio/text", twilioTextPost)
|
2026-01-29 17:30:21 +00:00
|
|
|
r.Post("/twilio/text/status", twilioTextStatusPost)
|
2026-01-29 21:53:49 +00:00
|
|
|
r.Get("/voipms/text", voipmsTextGet)
|
|
|
|
|
r.Post("/voipms/text", voipmsTextPost)
|
2025-12-16 16:37:53 +00:00
|
|
|
r.Get("/webhook/fieldseeker", webhookFieldseeker)
|
|
|
|
|
r.Post("/webhook/fieldseeker", webhookFieldseeker)
|
|
|
|
|
}
|