package lyfthookroute

import (
	"bitbucket.org/nemt/nemt-portal-api/application/applicationservice"
	"bitbucket.org/nemt/nemt-portal-api/application/notificationservice"
	"bitbucket.org/nemt/nemt-portal-api/application/tncservice"
	"bitbucket.org/nemt/nemt-portal-api/infra/config"
	"github.com/labstack/echo"
)

const (
	rootRoute        = ""
	stateChangeRoute = "/:ride_uuid/:status"
)

// Register authenticate route
func Register(r *echo.Group, cfg *config.Config, svc *applicationservice.Service, tnc *tncservice.Service, notification *notificationservice.Service) {

	ctrl := controllerInstance(cfg, svc, tnc, notification)

	r.POST(rootRoute, ctrl.handle)

	if cfg.App.Debug {
		r.GET(stateChangeRoute, ctrl.handleStateChange)
	}
}
