From 2f7828d01f4c4ca2909f95f098627cd5475ed225 Mon Sep 17 00:00:00 2001 From: Sebastien Douheret Date: Wed, 29 Nov 2017 08:54:00 +0100 Subject: Refit source files to have a public xs-apiv1 lib package. Signed-off-by: Sebastien Douheret --- lib/xdsserver/apiv1.go | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lib/xdsserver/apiv1.go (limited to 'lib/xdsserver/apiv1.go') diff --git a/lib/xdsserver/apiv1.go b/lib/xdsserver/apiv1.go new file mode 100644 index 0000000..1f6df9e --- /dev/null +++ b/lib/xdsserver/apiv1.go @@ -0,0 +1,47 @@ +package xdsserver + +import ( + "github.com/gin-gonic/gin" +) + +// APIService . +type APIService struct { + *Context + apiRouter *gin.RouterGroup +} + +// NewAPIV1 creates a new instance of API service +func NewAPIV1(ctx *Context) *APIService { + s := &APIService{ + Context: ctx, + apiRouter: ctx.WWWServer.router.Group("/api/v1"), + } + + s.apiRouter.GET("/version", s.getVersion) + + s.apiRouter.GET("/config", s.getConfig) + s.apiRouter.POST("/config", s.setConfig) + + s.apiRouter.GET("/folders", s.getFolders) + s.apiRouter.GET("/folders/:id", s.getFolder) + s.apiRouter.PUT("/folders/:id", s.updateFolder) + s.apiRouter.POST("/folders", s.addFolder) + s.apiRouter.POST("/folders/sync/:id", s.syncFolder) + s.apiRouter.DELETE("/folders/:id", s.delFolder) + + s.apiRouter.GET("/sdks", s.getSdks) + s.apiRouter.GET("/sdks/:id", s.getSdk) + + s.apiRouter.POST("/make", s.buildMake) + s.apiRouter.POST("/make/:id", s.buildMake) + + s.apiRouter.POST("/exec", s.execCmd) + s.apiRouter.POST("/exec/:id", s.execCmd) + s.apiRouter.POST("/signal", s.execSignalCmd) + + s.apiRouter.GET("/events", s.eventsList) + s.apiRouter.POST("/events/register", s.eventsRegister) + s.apiRouter.POST("/events/unregister", s.eventsUnRegister) + + return s +} -- cgit 1.2.3-korg