cic-custodial/cmd/init_api.go

44 lines
972 B
Go
Raw Normal View History

2022-11-30 10:51:24 +01:00
package main
import (
"net/http"
"github.com/arl/statsviz"
"github.com/go-playground/validator"
2022-11-30 10:51:24 +01:00
"github.com/grassrootseconomics/cic-custodial/internal/api"
"github.com/labstack/echo/v4"
)
func initApiServer() *echo.Echo {
lo.Debug("bootstrapping api server")
2022-11-30 10:51:24 +01:00
server := echo.New()
server.HideBanner = true
server.HidePort = true
if ko.Bool("service.statsviz_debug") {
lo.Debug("Starting stats_viz at /debug/statsviz")
2022-11-30 10:51:24 +01:00
statsVizMux := http.NewServeMux()
_ = statsviz.Register(statsVizMux)
server.GET("/debug/statsviz/", echo.WrapHandler(statsVizMux))
server.GET("/debug/statsviz/*", echo.WrapHandler(statsVizMux))
}
server.Validator = &api.CustomValidator{
Validator: validator.New(),
}
2022-11-30 10:51:24 +01:00
apiRoute := server.Group("/api")
apiRoute.POST("/register", api.RegistrationHandler(
2022-11-30 10:51:24 +01:00
taskerClient,
postgresKeystore,
))
apiRoute.POST("/transfer", api.TransferHandler(
taskerClient,
))
lo.Debug("Registered all api handlers")
2022-11-30 10:51:24 +01:00
return server
}