// @APIVersion 1.0.0
// @Title beego Test API
// @Description beego has a very cool tools to autogenerate documents for your API
// @Contact astaxie@gmail.com
// @TermsOfServiceUrl http://beego.me/
// @License Apache 2.0
// @LicenseUrl http://www.apache.org/licenses/LICENSE-2.0.html
package routers

import (
	"wechat-conf/controllers"
	"wechat-conf/controllers/autoreply"
	"wechat-conf/controllers/menu"
	"wechat-conf/controllers/sysuser"
	"wechat-conf/controllers/wechatimg"

	"github.com/astaxie/beego"
)

func RouteInit() {

	ns := beego.NewNamespace("/api",
		// 解决跨域时 先发送 options 问题
		beego.NSRouter("*", &controllers.BaseController{}, "options:Options"),
		// 登陆
		beego.NSRouter("/user/login", &controllers.UserController{}, "post:Login"),
		// 菜单
		beego.NSRouter("/menu", &menu.MenuController{}, "get:GetMenuList"),
		// 自动回复
		beego.NSRouter("/autoreply", &autoreply.AutoreplyController{}, "get:GetAutoReplyList"),
		beego.NSRouter("/autoreply/:autoreplyId", &autoreply.AutoreplyController{}, "get:GetAutoReplyById"),
		beego.NSRouter("/autoreply", &autoreply.AutoreplyController{}, "post:SaveAutoreply"),
		beego.NSRouter("/autoreply", &autoreply.AutoreplyController{}, "put:SaveAutoreply"),
		beego.NSRouter("/autoreply", &autoreply.AutoreplyController{}, "delete:DeleteAutoReply"),
		// 图片资源
		beego.NSRouter("/wechatimg", &wechatimg.WechatImgController{}, "get:GetWechatImgList"),
		beego.NSRouter("/wechatimg/sync", &wechatimg.WechatImgController{}, "get:SyncWechatImg"),
		beego.NSRouter("/wechatimg", &wechatimg.WechatImgController{}, "post:AddNewImg"),
		// 用户管理
		beego.NSRouter("/sysuser", &sysuser.SysuserController{}, "get:GetUserList"),
		beego.NSRouter("/sysuser/:userId", &sysuser.SysuserController{}, "get:GetUserById"),
		beego.NSRouter("/sysuser", &sysuser.SysuserController{}, "post:SaveUser"),
		beego.NSRouter("/sysuser", &sysuser.SysuserController{}, "put:SaveUser"),
		beego.NSRouter("/sysuser", &sysuser.SysuserController{}, "delete:DeleteUser"),

		beego.NSRouter("/ticket", &controllers.WechatController{}, "post:ComponentPush"),
		beego.NSRouter("/ticket", &controllers.WechatController{}, "get:ComponentPush"),
		beego.NSRouter("/:appid/callback", &controllers.WechatController{}, "get:WxReceive"),
		beego.NSRouter("/:appid/callback", &controllers.WechatController{}, "post:WxReceive"),
	)

	beego.AddNamespace(ns)
}