func (s *ProjectService) Register(container *restful.Container) { ws := &restful.WebService{} ws.Path("/api/v1/projects") ws.Doc("Manage Projects") ws.Consumes(restful.MIME_JSON) ws.Produces(restful.MIME_JSON) ws.Filter(filters.AuthRequiredFilter(s.BaseManager())) r := ws.GET("").To(s.list) r.Doc("list") r.Operation("list") r.Writes(project.ProjectList{}) s.SetParams(r, fltr.GetParams(ws, manager.ProjectFltr{})) r.Do(services.Returns(http.StatusOK)) addDefaults(r) ws.Route(r) r = ws.POST("").To(s.create) r.Doc("create") r.Operation("create") r.Reads(ProjectEntity{}) r.Writes(project.Project{}) r.Do(services.Returns(http.StatusCreated)) r.Do(services.ReturnsE(http.StatusConflict)) addDefaults(r) ws.Route(r) r = ws.GET(fmt.Sprintf("{%s}", ParamId)).To(s.TakeProject(s.get)) r.Doc("get") r.Operation("get") r.Param(ws.PathParameter(ParamId, "")) r.Writes(project.Project{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) addDefaults(r) ws.Route(r) r = ws.PUT(fmt.Sprintf("{%s}", ParamId)).To(s.TakeProject(s.update)) // docs r.Doc("update") r.Operation("update") r.Param(ws.PathParameter(ParamId, "")) r.Reads(ProjectEntity{}) r.Writes(project.Project{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE( http.StatusBadRequest, http.StatusInternalServerError)) ws.Route(r) s.RegisterMembers(ws) container.Add(ws) }
func (s *PluginService) Register(container *restful.Container) { ws := &restful.WebService{} ws.Path("/api/v1/plugins") ws.Doc("Manage Plugins") ws.Consumes(restful.MIME_JSON) ws.Produces(restful.MIME_JSON) r := ws.GET("").To(s.list) addDefaults(r) r.Doc("list") r.Operation("list") s.SetParams(r, fltr.GetParams(ws, manager.PluginFltr{})) r.Writes(plugin.PluginList{}) r.Do(services.Returns(http.StatusOK)) ws.Route(r) r = ws.POST("").To(s.create) addDefaults(r) r.Doc("create") r.Operation("create") r.Writes(plugin.Plugin{}) r.Reads(plugin.Plugin{}) r.Do(services.Returns(http.StatusCreated)) r.Do(services.ReturnsE( http.StatusBadRequest, http.StatusConflict, )) ws.Route(r) r = ws.GET(fmt.Sprintf("{%s}", ParamId)).To(s.TakePlugin(s.get)) addDefaults(r) r.Doc("get") r.Operation("get") r.Param(ws.PathParameter(ParamId, "")) r.Writes(plugin.Plugin{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) r = ws.PUT(fmt.Sprintf("{%s}", ParamId)).To(s.TakePlugin(s.update)) // docs r.Doc("update") r.Operation("update") r.Param(ws.PathParameter(ParamId, "")) r.Writes(plugin.Plugin{}) r.Reads(plugin.Plugin{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) container.Add(ws) }
func (s *UserService) Register(container *restful.Container) { ws := &restful.WebService{} ws.Path("/api/v1/users") ws.Doc("User management") ws.Consumes(restful.MIME_JSON) ws.Produces(restful.MIME_JSON) ws.Filter(filters.AuthRequiredFilter(s.BaseManager())) r := ws.GET("").To(s.list) r.Doc("list") r.Operation("list") r.Writes(user.UserList{}) s.SetParams(r, fltr.GetParams(ws, manager.UserFltr{})) r.Do(services.Returns(http.StatusOK)) r.Do(services.ReturnsE(http.StatusBadRequest)) addDefaults(r) ws.Route(r) r = ws.POST("").To(s.create) r.Doc("create") r.Operation("create") r.Writes(user.User{}) // on the response r.Reads(user.User{}) r.Do(services.Returns(http.StatusCreated)) r.Do(services.ReturnsE(http.StatusConflict)) addDefaults(r) ws.Route(r) r = ws.GET("{user-id}").To(s.get) r.Doc("get") r.Operation("get") r.Param(ws.PathParameter("user-id", "")) r.Writes(user.User{}) // on the response r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) addDefaults(r) ws.Route(r) r = ws.POST("{user-id}/password").To(s.setPassword) r.Doc("setPassword") r.Operation("setPassword") r.Reads(passwordEntity{}) r.Param(ws.PathParameter("user-id", "")) r.Do(services.Returns( http.StatusCreated, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) addDefaults(r) r.Notes("Authorization required. This method available only for administrator") ws.Route(r) container.Add(ws) }
func addDefaults(r *restful.RouteBuilder) { r.Notes("Authorization required") r.Do(services.ReturnsE( http.StatusUnauthorized, http.StatusInternalServerError, )) }
func addDefaults(r *restful.RouteBuilder) { r.Notes("Authorization required. Feed by default is returned in descending order by updated field") r.Do(services.ReturnsE( http.StatusUnauthorized, http.StatusInternalServerError, )) }
func (s *FeedService) Register(container *restful.Container) { ws := &restful.WebService{} ws.Path("/api/v1/feed") ws.Doc("Manage Feed") ws.Consumes(restful.MIME_JSON) ws.Produces(restful.MIME_JSON) ws.Filter(filters.AuthRequiredFilter(s.BaseManager())) r := ws.GET("").To(s.list) addDefaults(r) r.Doc("list") r.Operation("list") // set filters s.SetParams(r, fltr.GetParams(ws, manager.FeedItemFltr{})) // r.Param(ws.QueryParameter("sort", "sort feed")) r.Param(ws.QueryParameter("limit", "show limit").DataType("integer")) r.Param(ws.QueryParameter("skip", "skip n elements").DataType("integer")) r.Writes(feed.Feed{}) r.Do(services.Returns(http.StatusOK)) ws.Route(r) r = ws.GET(fmt.Sprintf("{%s}", ParamId)).To(s.TakeFeed(s.get)) addDefaults(r) r.Doc("get") r.Operation("get") r.Param(ws.PathParameter(ParamId, "")) r.Writes(feed.FeedItem{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) r = ws.DELETE(fmt.Sprintf("{%s}", ParamId)).To(s.TakeFeed(s.delete)) addDefaults(r) r.Doc("delete") r.Operation("delete") r.Param(ws.PathParameter(ParamId, "")) r.Do(services.Returns( http.StatusNoContent, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) // ws.Route(r) container.Add(ws) }
func (s *FileService) Register(container *restful.Container) { ws := &restful.WebService{} ws.Path("/api/v1/files") ws.Doc("Manage Files") ws.Consumes(restful.MIME_JSON) ws.Produces(restful.MIME_JSON) ws.Filter(filters.AuthTokenFilter(s.BaseManager())) ws.Filter(filters.AuthRequiredFilter(s.BaseManager())) r := ws.POST("").To(s.create) r.Doc("create") r.Operation("create") r.Consumes("multipart/form-data") r.Param(ws.FormParameter("file", "file to upload").DataType("File")) r.Writes(file.Meta{}) r.Do(services.Returns(http.StatusCreated)) r.Do(services.ReturnsE(http.StatusConflict)) addDefaults(r) ws.Route(r) r = ws.GET(fmt.Sprintf("{%s}", ParamId)).To(s.TakeFile(s.get)) r.Doc("get") r.Operation("get") r.Param(ws.PathParameter(ParamId, "")) r.Writes(file.Meta{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) ws.Route(r) r = ws.GET(fmt.Sprintf("{%s}/download", ParamId)).To(s.TakeFile(s.download)) r.Doc("download") r.Operation("download") r.Param(ws.PathParameter(ParamId, "")) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) ws.Route(r) container.Add(ws) }
func (s *ProjectService) RegisterMembers(ws *restful.WebService) { r := ws.GET(fmt.Sprintf("{%s}/members", ParamId)).To(s.TakeProject(s.members)) r.Doc("members") r.Operation("members") addDefaults(r) r.Writes(project.MemberList{}) r.Param(ws.PathParameter(ParamId, "")) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) ws.Route(r) r = ws.POST(fmt.Sprintf("{%s}/members", ParamId)).To(s.TakeProject(s.membersCreate)) r.Doc("membersCreate") r.Operation("membersCreate") addDefaults(r) r.Reads(project.Member{}) r.Writes(project.Member{}) r.Param(ws.PathParameter(ParamId, "")) r.Do(services.Returns( http.StatusCreated, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) r = ws.DELETE(fmt.Sprintf("{%s}/members/{%s}", ParamId, MemberParamId)).To(s.TakeProject(s.TakeMember(s.membersDelete))) r.Doc("membersDelete") r.Operation("membersDelete") addDefaults(r) r.Param(ws.PathParameter(ParamId, "")) r.Param(ws.PathParameter(MemberParamId, "")) r.Do(services.Returns( http.StatusNoContent, http.StatusNotFound)) ws.Route(r) }
func (s *IssueService) Register(container *restful.Container) { ws := &restful.WebService{} ws.Path("/api/v1/issues") ws.Doc("Manage Issues") ws.Consumes(restful.MIME_JSON) ws.Produces(restful.MIME_JSON) r := ws.GET("").To(s.list) addDefaults(r) r.Doc("list") r.Operation("list") s.SetParams(r, fltr.GetParams(ws, manager.IssueFltr{})) r.Writes(issue.TargetIssueList{}) r.Do(services.Returns(http.StatusOK)) ws.Route(r) // r = ws.POST("").To(s.create) // addDefaults(r) // r.Doc("create") // r.Operation("create") // r.Writes(issue.TargetIssue{}) // r.Reads(issue.TargetIssue{}) // r.Do(services.Returns(http.StatusCreated)) // r.Do(services.ReturnsE( // http.StatusBadRequest, // http.StatusConflict, // )) // ws.Route(r) r = ws.GET(fmt.Sprintf("{%s}", ParamId)).To(s.TakeIssue(s.get)) addDefaults(r) r.Doc("get") r.Operation("get") r.Param(ws.PathParameter(ParamId, "")) r.Writes(issue.TargetIssue{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) r = ws.PUT(fmt.Sprintf("{%s}", ParamId)).To(s.TakeIssue(s.update)) // docs r.Doc("update") r.Operation("update") r.Param(ws.PathParameter(ParamId, "")) r.Writes(issue.TargetIssue{}) r.Reads(TargetIssueEntity{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) r = ws.DELETE(fmt.Sprintf("{%s}", ParamId)).To(s.TakeIssue(s.delete)) // docs r.Doc("delete") r.Operation("delete") r.Param(ws.PathParameter(ParamId, "")) r.Do(services.Returns( http.StatusNoContent, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) container.Add(ws) }
func (s *ScanService) Register(container *restful.Container) { ws := &restful.WebService{} ws.Path("/api/v1/scans") ws.Doc("Manage Scans") ws.Consumes(restful.MIME_JSON) ws.Produces(restful.MIME_JSON) ws.Filter(filters.AuthTokenFilter(s.BaseManager())) ws.Filter(filters.AuthRequiredFilter(s.BaseManager())) r := ws.GET("").To(s.list) r.Doc("list") r.Operation("list") s.SetParams(r, fltr.GetParams(ws, manager.ScanFltr{})) addDefaults(r) r.Writes(scan.ScanList{}) r.Do(services.Returns(http.StatusOK)) ws.Route(r) r = ws.POST("").To(s.create) r.Doc("create") r.Operation("create") addDefaults(r) r.Writes(scan.Scan{}) r.Reads(scan.Scan{}) r.Do(services.Returns(http.StatusCreated)) r.Do(services.ReturnsE( http.StatusBadRequest, http.StatusConflict, )) ws.Route(r) r = ws.GET(fmt.Sprintf("{%s}", ParamId)).To(s.TakeScan(s.get)) r.Doc("get") r.Operation("get") addDefaults(r) r.Param(ws.PathParameter(ParamId, "")) r.Writes(scan.Scan{}) r.Do(services.Returns( http.StatusOK, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) // r = ws.PUT(fmt.Sprintf("{%s}", ParamId)).To(s.TakeScan(s.update)) // r.Doc("update") // r.Operation("update") // r.Param(ws.PathParameter(ParamId, "")) // r.Writes(scan.Scan{}) // r.Reads(scan.Scan{}) // r.Do(services.Returns( // http.StatusOK, // http.StatusNotFound)) // r.Do(services.ReturnsE(http.StatusBadRequest)) // ws.Route(r) r = ws.DELETE(fmt.Sprintf("{%s}", ParamId)).To(s.TakeScan(s.delete)) r.Doc("delete") r.Operation("delete") addDefaults(r) r.Param(ws.PathParameter(ParamId, "")) r.Do(services.Returns( http.StatusNoContent, http.StatusNotFound)) r.Do(services.ReturnsE(http.StatusBadRequest)) ws.Route(r) r = ws.GET(fmt.Sprintf("{%s}/reports", ParamId)).To(s.TakeScan(s.reports)) r.Doc("reports") r.Operation("reports") r.Param(ws.PathParameter(ParamId, "")) addDefaults(r) r.Writes(report.ReportList{}) r.Do(services.Returns(http.StatusOK)) ws.Route(r) s.RegisterSessions(ws) container.Add(ws) }