49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
package server
|
|
|
|
import (
|
|
"github.com/labstack/echo/v4"
|
|
)
|
|
|
|
// setupRoutes configures all API routes using nested routers
|
|
func setupRoutes(s *Server, e *echo.Echo) {
|
|
// API v1 group
|
|
api := e.Group("/api/v1")
|
|
|
|
setupRadiosRoutes(s, api.Group("/radios"))
|
|
setupMeshCoreRoutes(s, api.Group("/meshcore"))
|
|
setupAPRSRoutes(s, api.Group("/aprs"))
|
|
}
|
|
|
|
// setupRadiosRoutes configures routes for radio endpoints
|
|
func setupRadiosRoutes(s *Server, root *echo.Group) {
|
|
root.GET("", s.handleGetRadios)
|
|
root.GET("/:protocol", s.handleGetRadios)
|
|
}
|
|
|
|
// setupMeshCoreRoutes configures routes for MeshCore endpoints
|
|
func setupMeshCoreRoutes(s *Server, root *echo.Group) {
|
|
// Stats endpoint
|
|
root.GET("", s.handleGetMeshCore)
|
|
|
|
// Groups endpoints
|
|
root.GET("/groups", s.handleGetMeshCoreGroups)
|
|
|
|
// Nodes endpoints
|
|
nodes := root.Group("/nodes")
|
|
nodes.GET("", s.handleGetMeshCoreNodes)
|
|
nodes.GET("/close-to/:publickey", s.handleGetMeshCoreNodesCloseTo)
|
|
|
|
// Packets endpoint
|
|
root.GET("/packets", s.handleGetMeshCorePackets)
|
|
|
|
// Commented out routes from original
|
|
// meshcore.GET("/path/:origin/:path", s.handleGetMeshCorePath)
|
|
// meshcore.GET("/sources", s.handleGetMeshCoreSources)
|
|
}
|
|
|
|
// setupAPRSRoutes configures routes for APRS endpoints
|
|
func setupAPRSRoutes(s *Server, root *echo.Group) {
|
|
// Packets endpoint
|
|
root.GET("/packets", s.handleGetAPRSPackets)
|
|
}
|