quintodrome/conf/router.go

64 lines
2 KiB
Go
Raw Normal View History

2016-03-01 05:23:40 -09:00
package conf
2016-02-23 14:41:35 -09:00
import (
"github.com/deluan/gosonic/api"
2016-02-23 14:41:35 -09:00
"github.com/astaxie/beego"
2016-02-25 08:35:21 -09:00
"github.com/astaxie/beego/context"
"github.com/deluan/gosonic/controllers"
2016-02-23 14:41:35 -09:00
)
func init() {
mapEndpoints()
mapControllers()
mapFilters()
}
func mapEndpoints() {
ns := beego.NewNamespace("/rest",
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-10 20:37:07 -09:00
beego.NSRouter("/search2.view", &api.SearchingController{}, "*:Search2"),
2016-03-03 08:08:44 -09:00
beego.NSRouter("/getCoverArt.view", &api.GetCoverArtController{}, "*:Get"),
beego.NSRouter("/stream.view", &api.StreamController{}, "*:Stream"),
beego.NSRouter("/download.view", &api.StreamController{}, "*:Download"),
beego.NSRouter("/scrobble.view", &api.MediaAnnotationController{}, "*:Scrobble"),
beego.NSRouter("/getAlbumList.view", &api.AlbumListController{}, "*:GetAlbumList"),
beego.NSRouter("/getStarred.view", &api.AlbumListController{}, "*:GetStarred"),
beego.NSRouter("/getNowPlaying.view", &api.AlbumListController{}, "*:GetNowPlaying"),
beego.NSRouter("/getPlaylists.view", &api.PlaylistsController{}, "*:GetAll"),
2016-03-09 14:28:11 -09:00
beego.NSRouter("/getPlaylist.view", &api.PlaylistsController{}, "*:Get"),
beego.NSRouter("/getUser.view", &api.UsersController{}, "*:GetUser"),
)
beego.AddNamespace(ns)
}
func mapControllers() {
beego.Router("/", &controllers.MainController{})
beego.Router("/sync", &controllers.SyncController{})
beego.ErrorController(&controllers.MainController{})
}
func mapFilters() {
var ValidateRequest = func(ctx *context.Context) {
2016-03-15 13:06:23 -08:00
c := api.BaseAPIController{}
c.Ctx = ctx
c.Data = make(map[interface{}]interface{})
api.Validate(c)
}
beego.InsertFilter("/rest/*", beego.BeforeRouter, ValidateRequest)
2016-03-02 09:18:39 -09:00
}