// @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://web.me/
// @License Apache 2.0
// @LicenseUrl http://www.apache.org/licenses/LICENSE-2.0.html
package routers

import (
	"hongze/hongze_ETA_mobile_api/controllers"
	"hongze/hongze_ETA_mobile_api/controllers/data_manage"
	"hongze/hongze_ETA_mobile_api/controllers/data_manage/correlation"
	"hongze/hongze_ETA_mobile_api/controllers/data_manage/future_good"

	"github.com/beego/beego/v2/server/web"
	"github.com/beego/beego/v2/server/web/filter/cors"
)

func init() {
	//解决跨域问题
	web.InsertFilter("*", web.BeforeRouter, cors.Allow(&cors.Options{
		AllowAllOrigins:  true,
		AllowMethods:     []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
		AllowHeaders:     []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
		ExposeHeaders:    []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
		AllowCredentials: true,
	}))
	ns := web.NewNamespace("/v1",
		web.NSNamespace("/sysuser",
			web.NSInclude(
				&controllers.SysUserController{},
			),
			web.NSInclude(
				&controllers.SysUserAuthController{},
			),
		),
		web.NSNamespace("/ppt",
			web.NSInclude(
				&controllers.PptController{},
			),
			web.NSInclude(
				&controllers.PptCommonController{},
			),
		),
		web.NSNamespace("/pptv2",
			web.NSInclude(
				&controllers.PptV2Controller{},
				&controllers.PptV2GroupController{},
			),
			web.NSInclude(
				&controllers.PptV2CommonController{},
			),
		),
		web.NSNamespace("/ppt_english",
			web.NSInclude(
				&controllers.PptEnglishController{},
				&controllers.PptEnglishGroupController{},
			),
			web.NSInclude(
				&controllers.PptEnglishCommonController{},
			),
		),
		web.NSNamespace("/datamanage",
			web.NSInclude(
				&data_manage.ChartInfoController{},
				&data_manage.ExcelInfoController{},
				&data_manage.ChartClassifyController{},
			),
		),
		web.NSNamespace("/resource",
			web.NSInclude(
				&controllers.ResourceController{},
			),
		),
		web.NSNamespace("/my_chart",
			web.NSInclude(
				&data_manage.MyChartController{},
			),
		),
		web.NSNamespace("/future_good",
			web.NSInclude(
				//&future_good.FutureGoodEdbInfoController{},
				&future_good.FutureGoodChartClassifyController{},
				&future_good.FutureGoodChartInfoController{},
			),
		),
		web.NSNamespace("/correlation",
			web.NSInclude(
				&correlation.CorrelationChartClassifyController{},
				&correlation.CorrelationChartInfoController{},
			),
		),
	)
	web.AddNamespace(ns)
}
