2016-03-01 15:23:40 +01:00
|
|
|
package conf
|
2016-02-24 00:41:35 +01:00
|
|
|
|
|
|
|
import (
|
2016-02-25 22:31:06 +01:00
|
|
|
"github.com/deluan/gosonic/api"
|
2016-02-24 00:41:35 +01:00
|
|
|
|
|
|
|
"github.com/astaxie/beego"
|
2016-02-25 18:35:21 +01:00
|
|
|
"github.com/astaxie/beego/context"
|
2016-02-25 22:31:06 +01:00
|
|
|
"github.com/deluan/gosonic/controllers"
|
2016-02-24 00:41:35 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
2016-02-28 01:08:04 +01:00
|
|
|
mapEndpoints()
|
|
|
|
mapControllers()
|
|
|
|
mapFilters()
|
|
|
|
}
|
|
|
|
|
|
|
|
func mapEndpoints() {
|
2016-02-25 22:31:06 +01:00
|
|
|
ns := beego.NewNamespace("/rest",
|
2016-03-09 16:22:10 +01:00
|
|
|
beego.NSRouter("/ping.view", &api.SystemController{}, "*:Ping"),
|
|
|
|
beego.NSRouter("/getLicense.view", &api.SystemController{}, "*:GetLicense"),
|
|
|
|
|
|
|
|
beego.NSRouter("/getMusicFolders.view", &api.BrowsingController{}, "*:GetMediaFolders"),
|
|
|
|
beego.NSRouter("/getIndexes.view", &api.BrowsingController{}, "*:GetIndexes"),
|
|
|
|
beego.NSRouter("/getMusicDirectory.view", &api.BrowsingController{}, "*:GetDirectory"),
|
|
|
|
|
2016-03-03 18:08:44 +01:00
|
|
|
beego.NSRouter("/getCoverArt.view", &api.GetCoverArtController{}, "*:Get"),
|
2016-03-04 19:12:56 +01:00
|
|
|
beego.NSRouter("/stream.view", &api.StreamController{}, "*:Stream"),
|
|
|
|
beego.NSRouter("/download.view", &api.StreamController{}, "*:Download"),
|
2016-03-09 16:22:10 +01:00
|
|
|
|
2016-03-04 15:09:16 +01:00
|
|
|
beego.NSRouter("/getAlbumList.view", &api.GetAlbumListController{}, "*:Get"),
|
2016-03-09 16:22:10 +01:00
|
|
|
|
2016-03-09 16:09:15 +01:00
|
|
|
beego.NSRouter("/getPlaylists.view", &api.PlaylistsController{}, "*:GetAll"),
|
2016-03-10 00:28:11 +01:00
|
|
|
beego.NSRouter("/getPlaylist.view", &api.PlaylistsController{}, "*:Get"),
|
2016-03-09 16:22:10 +01:00
|
|
|
|
|
|
|
beego.NSRouter("/getUser.view", &api.UsersController{}, "*:GetUser"),
|
2016-02-24 17:29:26 +01:00
|
|
|
)
|
2016-02-25 22:31:06 +01:00
|
|
|
beego.AddNamespace(ns)
|
|
|
|
|
2016-02-28 01:08:04 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func mapControllers() {
|
2016-02-25 22:31:06 +01:00
|
|
|
beego.Router("/", &controllers.MainController{})
|
2016-02-26 07:32:31 +01:00
|
|
|
beego.Router("/sync", &controllers.SyncController{})
|
2016-02-25 02:21:51 +01:00
|
|
|
|
2016-02-28 01:08:04 +01:00
|
|
|
beego.ErrorController(&controllers.MainController{})
|
|
|
|
}
|
|
|
|
|
|
|
|
func mapFilters() {
|
2016-02-25 02:21:51 +01:00
|
|
|
var ValidateRequest = func(ctx *context.Context) {
|
2016-03-02 19:04:55 +01:00
|
|
|
c := &api.BaseAPIController{}
|
|
|
|
c.Ctx = ctx
|
|
|
|
api.Validate(c)
|
2016-02-25 02:21:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
beego.InsertFilter("/rest/*", beego.BeforeRouter, ValidateRequest)
|
2016-03-02 19:18:39 +01:00
|
|
|
}
|