router.go 5.6 KB
package routers

import (
	"oppmg/controllers"

	"github.com/astaxie/beego/context"

	"oppmg/middleware"

	"github.com/astaxie/beego"
)

func init() {
	nsV1 := beego.NewNamespace("/v1",
		beego.NSBefore(middleware.AllowOption),
		beego.NSBefore(middleware.LogRequestData),
		beego.NSBefore(middleware.AuthToken),
		beego.NSNamespace("/department",
			beego.NSRouter("/list", &controllers.CompanyController{}, "post:DepartmentList"),
			beego.NSRouter("/add", &controllers.CompanyController{}, "post:DepartmentAdd"),
			beego.NSRouter("/edit", &controllers.CompanyController{}, "post:DepartmentUpdate"),
			beego.NSRouter("/delete", &controllers.CompanyController{}, "post:DepartmentDelete"),
			beego.NSRouter("/user", &controllers.CompanyController{}, "post:DepartmentUser"),
		),
		beego.NSNamespace("position",
			beego.NSRouter("/list", &controllers.CompanyController{}, "post:PositionList"),
			beego.NSRouter("/add", &controllers.CompanyController{}, "post:PositionAdd"),
			beego.NSRouter("/edit", &controllers.CompanyController{}, "post:PositionEdit"),
			beego.NSRouter("/delete", &controllers.CompanyController{}, "post:PositionDelete"),
		),
		beego.NSNamespace("/rbac",
			beego.NSRouter("/role/add", &controllers.RbacController{}, "post:RoleAdd"),
			beego.NSRouter("/role/edit", &controllers.RbacController{}, "post:RoleUpdate"),
			beego.NSRouter("/role/delete", &controllers.RbacController{}, "post:RoleDelete"),
			beego.NSRouter("/role_group/add", &controllers.RbacController{}, "post:RoleGroupAdd"),
			beego.NSRouter("/role_group/edit", &controllers.RbacController{}, "post:RoleGroupUpdate"),
			beego.NSRouter("/role_group/delete", &controllers.RbacController{}, "post:RoleGroupDelete"),
			beego.NSRouter("/role/list", &controllers.RbacController{}, "post:RoleList"),
			beego.NSRouter("/menu/list", &controllers.RbacController{}, "post:MenuList"),
			beego.NSRouter("/role/menu", &controllers.RbacController{}, "post:RoleHasMenu"),
		),
		beego.NSNamespace("/user",
			beego.NSRouter("/list", &controllers.CompanyController{}, "post:UserList"),
			beego.NSRouter("/add", &controllers.CompanyController{}, "post:UserAdd"),
			beego.NSRouter("/edit", &controllers.CompanyController{}, "post:UserEdit"),
			beego.NSRouter("/delete", &controllers.CompanyController{}, "post:UserDelete"),
			beego.NSRouter("/allow_forbid", &controllers.CompanyController{}, "post:UserAllowForbid"),
		),
		beego.NSNamespace("/auth",
			beego.NSRouter("/change_company", &controllers.AuthController{}, "post:ChangeCompany"),
			beego.NSRouter("/refresh_token", &controllers.AuthController{}, "post:RefreshToken"),
			beego.NSRouter("/me", &controllers.AuthController{}, "post:Me"),
		),
		beego.NSNamespace("/bulletin",
			beego.NSRouter("/add", &controllers.BulletinController{}, "post:BulletinRelease"),
			beego.NSRouter("/list", &controllers.BulletinController{}, "post:BulletinList"),
			beego.NSRouter("/get", &controllers.BulletinController{}, "post:GetBulletin"),
			beego.NSRouter("/update", &controllers.BulletinController{}, "post:UpdateBulletin"),
			beego.NSRouter("/operate", &controllers.BulletinController{}, "post:OperateBulletin"),
			beego.NSRouter("/feedbacks", &controllers.BulletinController{}, "post:BulletinFeedbacks"),
			beego.NSRouter("/exportFeedBacks", &controllers.BulletinController{}, "post:ExportFeedBacks"),
		),
		beego.NSNamespace("/common",
			beego.NSRouter("/department", &controllers.CommonController{}, "post:SelectorDepartment"),
			beego.NSRouter("/role", &controllers.CommonController{}, "post:SelectorRole"),
			beego.NSRouter("/position", &controllers.CommonController{}, "post:SelectorPosition"),
			beego.NSRouter("/user_and_department", &controllers.CommonController{}, "post:SelectorUserAndDepart"),
		),
		beego.NSNamespace("/template",
			beego.NSRouter("/add", &controllers.TemplateController{}, "post:TemplateAdd"),
			beego.NSRouter("/list", &controllers.TemplateController{}, "post:TemplateList"),
			beego.NSRouter("/get", &controllers.TemplateController{}, "post:TemplateGet"),
			beego.NSRouter("/update", &controllers.TemplateController{}, "post:TemplateUpdate"),
			beego.NSRouter("/delete", &controllers.TemplateController{}, "post:TemplateDelete"),
			beego.NSRouter("/editVisible", &controllers.TemplateController{}, "post:TemplateEditVisible"),
			beego.NSRouter("/editEnable", &controllers.TemplateController{}, "post:TemplateEditEnable"),
			beego.NSRouter("/editSort", &controllers.TemplateController{}, "post:TemplateEditSort"),
			beego.NSRouter("/operateCategory", &controllers.TemplateController{}, "post:TemplateOperateCategory"),
			beego.NSRouter("/deleteCategory", &controllers.TemplateController{}, "post:TemplateDeleteCategory"),
			beego.NSRouter("/sortCategory", &controllers.TemplateController{}, "post:CategoryEditSort"),
		),
	)

	nsAuth := beego.NewNamespace("/auth",
		beego.NSBefore(middleware.AllowOption),
		beego.NSBefore(middleware.LogRequestData),
		beego.NSRouter("/login", &controllers.AuthController{}, "post:Login"),
	)
	nsUcenter := beego.NewNamespace("/ucenter",
		beego.NSBefore(middleware.LogRequestData),
		beego.NSRouter("/company", &controllers.CompanyController{}, "post:InitCompany"),
		beego.NSRouter("/company/info", &controllers.CompanyController{}, "post:GetCompanyForUCenter"),
	)

	beego.AddNamespace(nsV1)
	beego.AddNamespace(nsAuth)
	beego.AddNamespace(nsUcenter)

	nsTest := beego.NewNamespace("/test",
		beego.NSCond(func(ctx *context.Context) bool {
			if beego.BConfig.RunMode != "prod" {
				return true
			}
			return false
		}),
		beego.NSRouter("/te", &controllers.RbacController{}, "get:GetRoleMenuAll"),
	)
	beego.AddNamespace(nsTest)
	beego.SetStaticPath("/log", beego.AppConfig.String("log_filename"))
}