4 "github.com/Sirupsen/logrus"
5 "github.com/gin-gonic/gin"
7 "github.com/iotbzh/xds-server/lib/model"
8 "github.com/iotbzh/xds-server/lib/session"
9 "github.com/iotbzh/xds-server/lib/xdsconfig"
13 type APIService struct {
15 apiRouter *gin.RouterGroup
16 sessions *session.Sessions
22 // New creates a new instance of API service
23 func New(sess *session.Sessions, cfg *xdsconfig.Config, mfolder *model.Folder, r *gin.Engine) *APIService {
27 apiRouter: r.Group("/api/v1"),
33 s.apiRouter.GET("/version", s.getVersion)
35 s.apiRouter.GET("/config", s.getConfig)
36 s.apiRouter.POST("/config", s.setConfig)
38 s.apiRouter.GET("/folders", s.getFolders)
39 s.apiRouter.GET("/folder/:id", s.getFolder)
40 s.apiRouter.POST("/folder", s.addFolder)
41 s.apiRouter.DELETE("/folder/:id", s.delFolder)
43 s.apiRouter.POST("/make", s.buildMake)
44 s.apiRouter.POST("/make/:id", s.buildMake)
46 /* TODO: to be tested and then enabled
47 s.apiRouter.POST("/exec", s.execCmd)
48 s.apiRouter.POST("/exec/:id", s.execCmd)