From 39757f884a55f707b64141b91f04c628921d7b27 Mon Sep 17 00:00:00 2001 From: Deluan Date: Thu, 25 Feb 2016 16:31:06 -0500 Subject: [PATCH] Moved Rest controllers to 'api' package. Also removed annotation routes --- .gitignore | 1 - {controllers => api}/get_license.go | 5 +- {controllers => api}/get_music_folders.go | 5 +- {controllers => api}/ping.go | 5 +- {controllers => api}/responses/error.go | 0 {controllers => api}/responses/license.go | 0 .../responses/music_folders.go | 0 {controllers => api}/responses/subsonic.go | 0 {controllers => api}/validation.go | 4 +- controllers/main.go | 1 - ...r_github_com_deluan_gosonic_controllers.go | 121 ------------------ routers/router.go | 17 ++- tests/api/ping_test.go | 2 +- tests/api/validation_test.go | 2 +- 14 files changed, 20 insertions(+), 143 deletions(-) rename {controllers => api}/get_license.go (68%) rename {controllers => api}/get_music_folders.go (83%) rename {controllers => api}/ping.go (72%) rename {controllers => api}/responses/error.go (100%) rename {controllers => api}/responses/license.go (100%) rename controllers/responses/media_folders.go => api/responses/music_folders.go (100%) rename {controllers => api}/responses/subsonic.go (100%) rename {controllers => api}/validation.go (93%) delete mode 100644 routers/commentsRouter_github_com_deluan_gosonic_controllers.go diff --git a/.gitignore b/.gitignore index 7e39b205..33dd9d1b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -tests/**/commentsRouter_*.go lastupdate.tmp gosonic iTunes Music Library.xml diff --git a/controllers/get_license.go b/api/get_license.go similarity index 68% rename from controllers/get_license.go rename to api/get_license.go index 142212f7..fd7a9dc6 100644 --- a/controllers/get_license.go +++ b/api/get_license.go @@ -1,13 +1,12 @@ -package controllers +package api import ( "github.com/astaxie/beego" - "github.com/deluan/gosonic/controllers/responses" + "github.com/deluan/gosonic/api/responses" ) type GetLicenseController struct{ beego.Controller } -// @router /rest/getLicense.view [get] func (this *GetLicenseController) Get() { response := responses.NewXML(&responses.License{Valid: true}) this.Ctx.Output.Body(response) diff --git a/controllers/get_music_folders.go b/api/get_music_folders.go similarity index 83% rename from controllers/get_music_folders.go rename to api/get_music_folders.go index c7076da3..6eeed53d 100644 --- a/controllers/get_music_folders.go +++ b/api/get_music_folders.go @@ -1,14 +1,13 @@ -package controllers +package api import ( "github.com/astaxie/beego" - "github.com/deluan/gosonic/controllers/responses" + "github.com/deluan/gosonic/api/responses" "github.com/deluan/gosonic/repositories" ) type GetMusicFoldersController struct{ beego.Controller } -// @router /rest/getMusicFolders.view [get] func (this *GetMusicFoldersController) Get() { repository := new(repositories.MediaFolderRepository) mediaFolderList, _ := repository.GetAll() diff --git a/controllers/ping.go b/api/ping.go similarity index 72% rename from controllers/ping.go rename to api/ping.go index df2098ce..711595b0 100644 --- a/controllers/ping.go +++ b/api/ping.go @@ -1,14 +1,13 @@ -package controllers +package api import ( "github.com/astaxie/beego" "encoding/xml" - "github.com/deluan/gosonic/controllers/responses" + "github.com/deluan/gosonic/api/responses" ) type PingController struct{ beego.Controller } -// @router /rest/ping.view [get] func (this *PingController) Get() { response := responses.NewEmpty() xmlBody, _ := xml.Marshal(response) diff --git a/controllers/responses/error.go b/api/responses/error.go similarity index 100% rename from controllers/responses/error.go rename to api/responses/error.go diff --git a/controllers/responses/license.go b/api/responses/license.go similarity index 100% rename from controllers/responses/license.go rename to api/responses/license.go diff --git a/controllers/responses/media_folders.go b/api/responses/music_folders.go similarity index 100% rename from controllers/responses/media_folders.go rename to api/responses/music_folders.go diff --git a/controllers/responses/subsonic.go b/api/responses/subsonic.go similarity index 100% rename from controllers/responses/subsonic.go rename to api/responses/subsonic.go diff --git a/controllers/validation.go b/api/validation.go similarity index 93% rename from controllers/validation.go rename to api/validation.go index 8e03e67e..de3d3dd8 100644 --- a/controllers/validation.go +++ b/api/validation.go @@ -1,8 +1,8 @@ -package controllers +package api import ( "github.com/astaxie/beego" - "github.com/deluan/gosonic/controllers/responses" + "github.com/deluan/gosonic/api/responses" ) type ControllerInterface interface { diff --git a/controllers/main.go b/controllers/main.go index e84272cd..973b80da 100644 --- a/controllers/main.go +++ b/controllers/main.go @@ -8,7 +8,6 @@ import ( type MainController struct{ beego.Controller } -// @router / [get] func (this *MainController) Get() { this.Ctx.Redirect(302, "/static/Jamstash/") } diff --git a/routers/commentsRouter_github_com_deluan_gosonic_controllers.go b/routers/commentsRouter_github_com_deluan_gosonic_controllers.go deleted file mode 100644 index a286ad4b..00000000 --- a/routers/commentsRouter_github_com_deluan_gosonic_controllers.go +++ /dev/null @@ -1,121 +0,0 @@ -package routers - -import ( - "github.com/astaxie/beego" -) - -func init() { - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:GetLicenseController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:GetLicenseController"], - beego.ControllerComments{ - "Get", - `/rest/getLicense.view`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:GetMusicFoldersController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:GetMusicFoldersController"], - beego.ControllerComments{ - "Get", - `/rest/getMusicFolders.view`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:MainController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:MainController"], - beego.ControllerComments{ - "Get", - `/`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"], - beego.ControllerComments{ - "Post", - `/`, - []string{"post"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"], - beego.ControllerComments{ - "Get", - `/:objectId`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"], - beego.ControllerComments{ - "GetAll", - `/`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"], - beego.ControllerComments{ - "Put", - `/:objectId`, - []string{"put"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:ObjectController"], - beego.ControllerComments{ - "Delete", - `/:objectId`, - []string{"delete"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:PingController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:PingController"], - beego.ControllerComments{ - "Get", - `/rest/ping.view`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"], - beego.ControllerComments{ - "Post", - `/`, - []string{"post"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"], - beego.ControllerComments{ - "GetAll", - `/`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"], - beego.ControllerComments{ - "Get", - `/:uid`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"], - beego.ControllerComments{ - "Put", - `/:uid`, - []string{"put"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"], - beego.ControllerComments{ - "Delete", - `/:uid`, - []string{"delete"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"], - beego.ControllerComments{ - "Login", - `/login`, - []string{"get"}, - nil}) - - beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"] = append(beego.GlobalControllerRouter["github.com/deluan/gosonic/controllers:UserController"], - beego.ControllerComments{ - "Logout", - `/logout`, - []string{"get"}, - nil}) - -} diff --git a/routers/router.go b/routers/router.go index 6cb63fcc..f3848dde 100644 --- a/routers/router.go +++ b/routers/router.go @@ -1,22 +1,25 @@ package routers import ( - "github.com/deluan/gosonic/controllers" + "github.com/deluan/gosonic/api" "github.com/astaxie/beego" "github.com/astaxie/beego/context" + "github.com/deluan/gosonic/controllers" ) func init() { - beego.Include( - &controllers.MainController{}, - &controllers.PingController{}, - &controllers.GetLicenseController{}, - &controllers.GetMusicFoldersController{}, + ns := beego.NewNamespace("/rest", + beego.NSRouter("/ping.view", &api.PingController{}), + beego.NSRouter("/getLicense.view", &api.GetLicenseController{}), + beego.NSRouter("/getMusicFolders.view", &api.GetMusicFoldersController{}), ) + beego.AddNamespace(ns) + + beego.Router("/", &controllers.MainController{}) var ValidateRequest = func(ctx *context.Context) { - controllers.Validate(&beego.Controller{Ctx: ctx}) + api.Validate(&beego.Controller{Ctx: ctx}) } beego.InsertFilter("/rest/*", beego.BeforeRouter, ValidateRequest) diff --git a/tests/api/ping_test.go b/tests/api/ping_test.go index e76b5bd9..8564e0c8 100644 --- a/tests/api/ping_test.go +++ b/tests/api/ping_test.go @@ -5,7 +5,7 @@ import ( "encoding/xml" _ "github.com/deluan/gosonic/routers" . "github.com/smartystreets/goconvey/convey" - "github.com/deluan/gosonic/controllers/responses" + "github.com/deluan/gosonic/api/responses" . "github.com/deluan/gosonic/tests" ) diff --git a/tests/api/validation_test.go b/tests/api/validation_test.go index f501b037..5fb5b239 100644 --- a/tests/api/validation_test.go +++ b/tests/api/validation_test.go @@ -6,7 +6,7 @@ import ( _ "github.com/deluan/gosonic/routers" . "github.com/deluan/gosonic/tests" . "github.com/smartystreets/goconvey/convey" - "github.com/deluan/gosonic/controllers/responses" + "github.com/deluan/gosonic/api/responses" ) func TestCheckParams(t *testing.T) {