4 "github.com/Sirupsen/logrus"
5 "github.com/gin-gonic/gin"
7 "github.com/iotbzh/xds-server/lib/session"
8 "github.com/iotbzh/xds-server/lib/xdsconfig"
12 type APIService struct {
14 apiRouter *gin.RouterGroup
15 sessions *session.Sessions
20 // New creates a new instance of API service
21 func New(sess *session.Sessions, cfg xdsconfig.Config, r *gin.Engine) *APIService {
25 apiRouter: r.Group("/api/v1"),
30 s.apiRouter.GET("/version", s.getVersion)
32 s.apiRouter.GET("/config", s.getConfig)
33 s.apiRouter.POST("/config", s.setConfig)
35 s.apiRouter.GET("/folders", s.getFolders)
36 s.apiRouter.GET("/folder/:id", s.getFolder)
37 s.apiRouter.POST("/folder", s.addFolder)
38 s.apiRouter.DELETE("/folder/:id", s.delFolder)
40 s.apiRouter.POST("/make", s.buildMake)
41 s.apiRouter.POST("/make/:id", s.buildMake)
43 /* TODO: to be tested and then enabled
44 s.apiRouter.POST("/exec", s.execCmd)
45 s.apiRouter.POST("/exec/:id", s.execCmd)