44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package rest
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
swaggerFiles "github.com/swaggo/files"
|
|
ginSwagger "github.com/swaggo/gin-swagger"
|
|
|
|
_ "quantex.com/qfixdpl/src/client/api/rest/docs" // Swag needs this import to work properly
|
|
)
|
|
|
|
func SetRoutes(api *API) {
|
|
cont := api.Controller
|
|
|
|
v1 := api.Router.Group("/qfixdpl/v1")
|
|
api.Router.Use(cont.Options)
|
|
{
|
|
auth := v1.Group("/auth")
|
|
auth.POST("/login", cont.Login)
|
|
}
|
|
|
|
qfixdpl := v1.Group("/")
|
|
qfixdpl.Use(cont.AuthRequired)
|
|
qfixdpl.GET("/health", cont.HealthCheck)
|
|
qfixdpl.GET("/trades", cont.GetTrades)
|
|
qfixdpl.GET("/trades/:quoteReqID/logs", cont.GetLogs)
|
|
qfixdpl.GET("/quote-requests", cont.GetPendingQuoteRequests)
|
|
qfixdpl.POST("/quotes", cont.SendQuote)
|
|
|
|
backoffice := qfixdpl.Group("/backoffice")
|
|
backoffice.Use(cont.BackOfficeUser)
|
|
|
|
admin := qfixdpl.Group("/admin")
|
|
admin.Use(cont.SuperUser)
|
|
|
|
SetSwagger(v1, cont)
|
|
}
|
|
|
|
func SetSwagger(path *gin.RouterGroup, cont *Controller) {
|
|
auth := path.Group("/")
|
|
auth.Use(cont.AuthRequired)
|
|
|
|
auth.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
|
}
|