func (s *MeService) Register(container *restful.Container) { ws := &restful.WebService{} ws.Path("/api/v1/me") ws.Doc("Current user management") ws.Consumes(restful.MIME_JSON) ws.Produces(restful.MIME_JSON) ws.Filter(filters.AuthRequiredFilter(s.BaseManager())) r := ws.GET("").To(s.info) r.Doc("info") r.Operation("info") r.Writes(me.Info{}) // on the response r.Do(services.Returns(http.StatusOK)) addDefaults(r) ws.Route(r) r = ws.PUT("/password").To(s.changePassword) r.Doc("changePassword") r.Operation("changePassword") r.Reads(ChangePasswordEntity{}) r.Do(services.Returns(http.StatusOK)) addDefaults(r) ws.Route(r) container.Add(ws) }
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 *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 (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 *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) }