// Code generated by hertz generator. DO NOT EDIT.

package admin

import (
	admin "formulago/biz/handler/admin"
	"github.com/cloudwego/hertz/pkg/app/server"
)

/*
 This file will register all the routes of the services in the master idl.
 And it will update automatically when you use the "update" command for the idl.
 So don't modify the contents of the file, or your code will be deleted when it is updated.
*/

// Register register routes based on the IDL 'api.${HTTP Method}' annotation.
func Register(r *server.Hertz) {

	root := r.Group("/", rootMw()...)
	{
		_api := root.Group("/api", _apiMw()...)
		_api.GET("/captcha", append(_captchaMw(), admin.Captcha)...)
		_api.POST("/deleteStructTag", append(_deletestructtagMw(), admin.DeleteStructTag)...)
		_api.GET("/health", append(_healthcheckMw(), admin.HealthCheck)...)
		_api.GET("/initDatabase", append(_initdatabaseMw(), admin.InitDatabase)...)
		_api.POST("/register", append(_registerMw(), admin.Register)...)
		_api.POST("/structToProto", append(_structtoprotoMw(), admin.StructToProto)...)
		{
			_admin := _api.Group("/admin", _adminMw()...)
			_admin.DELETE("/api", append(_deleteapiMw(), admin.DeleteApi)...)
			_api0 := _admin.Group("/api", _api0Mw()...)
			_api0.GET("/list", append(_apilistMw(), admin.ApiList)...)
			_admin.DELETE("/dict", append(_deletedictionaryMw(), admin.DeleteDictionary)...)
			_dict := _admin.Group("/dict", _dictMw()...)
			_dict.DELETE("/detail", append(_deletedictionarydetailMw(), admin.DeleteDictionaryDetail)...)
			_detail := _dict.Group("/detail", _detailMw()...)
			_detail.GET("/list", append(_detailbydictionarynameMw(), admin.DetailByDictionaryName)...)
			_dict.GET("/list", append(_dictionarylistMw(), admin.DictionaryList)...)
			{
				_detail0 := _dict.Group("/detail", _detail0Mw()...)
				_detail0.POST("/create", append(_createdictionarydetailMw(), admin.CreateDictionaryDetail)...)
				_detail0.POST("/update", append(_updatedictionarydetailMw(), admin.UpdateDictionaryDetail)...)
			}
			_admin.DELETE("/menu", append(_deletemenuMw(), admin.DeleteMenu)...)
			_menu := _admin.Group("/menu", _menuMw()...)
			_menu.GET("/list", append(_menulistMw(), admin.MenuList)...)
			_menu.DELETE("/param", append(_deletemenuparamMw(), admin.DeleteMenuParam)...)
			_param := _menu.Group("/param", _paramMw()...)
			_param.GET("/list", append(_menuparamlistbymenuidMw(), admin.MenuParamListByMenuID)...)
			_menu.GET("/role", append(_menubyroleMw(), admin.MenuByRole)...)
			{
				_param0 := _menu.Group("/param", _param0Mw()...)
				_param0.POST("/create", append(_createmenuparamMw(), admin.CreateMenuParam)...)
				_param0.POST("/update", append(_updatemenuparamMw(), admin.UpdateMenuParam)...)
			}
			_admin.DELETE("/role", append(_deleteroleMw(), admin.DeleteRole)...)
			_role := _admin.Group("/role", _roleMw()...)
			_role.GET("/list", append(_rolelistMw(), admin.RoleList)...)
			_role.POST("/status", append(_updaterolestatusMw(), admin.UpdateRoleStatus)...)
			_admin.GET("/role", append(_rolebyidMw(), admin.RoleByID)...)
			_admin.DELETE("/token", append(_deletetokenMw(), admin.DeleteToken)...)
			_token := _admin.Group("/token", _tokenMw()...)
			_token.GET("/list", append(_tokenlistMw(), admin.TokenList)...)
			_admin.DELETE("/user", append(_deleteuserMw(), admin.DeleteUser)...)
			_user := _admin.Group("/user", _userMw()...)
			_user.GET("/profile", append(_userprofileMw(), admin.UserProfile)...)
			_user.POST("/profile", append(_updateprofileMw(), admin.UpdateProfile)...)
			_user.POST("/status", append(_updateuserstatusMw(), admin.UpdateUserStatus)...)
			{
				_api1 := _admin.Group("/api", _api1Mw()...)
				_api1.POST("/create", append(_createapiMw(), admin.CreateApi)...)
				_api1.POST("/update", append(_updateapiMw(), admin.UpdateApi)...)
			}
			{
				_authority := _admin.Group("/authority", _authorityMw()...)
				{
					_api2 := _authority.Group("/api", _api2Mw()...)
					_api2.POST("/create", append(_createauthorityMw(), admin.CreateAuthority)...)
					_api2.POST("/role", append(_apiauthorityMw(), admin.ApiAuthority)...)
					_api2.POST("/update", append(_updateapiauthorityMw(), admin.UpdateApiAuthority)...)
				}
				{
					_menu0 := _authority.Group("/menu", _menu0Mw()...)
					_menu0.POST("/create", append(_createmenuauthorityMw(), admin.CreateMenuAuthority)...)
					_menu0.POST("/role", append(_menuauthorityMw(), admin.MenuAuthority)...)
					_menu0.POST("/update", append(_updatemenuauthorityMw(), admin.UpdateMenuAuthority)...)
				}
			}
			{
				_dict0 := _admin.Group("/dict", _dict0Mw()...)
				_dict0.POST("/create", append(_createdictionaryMw(), admin.CreateDictionary)...)
				_dict0.POST("/update", append(_updatedictionaryMw(), admin.UpdateDictionary)...)
			}
			{
				_logs := _admin.Group("/logs", _logsMw()...)
				_logs.DELETE("/deleteAll", append(_deletelogsMw(), admin.DeleteLogs)...)
				_logs.GET("/list", append(_getlogslistMw(), admin.GetLogsList)...)
			}
			{
				_menu1 := _admin.Group("/menu", _menu1Mw()...)
				_menu1.POST("/create", append(_createmenuMw(), admin.CreateMenu)...)
				_menu1.POST("/update", append(_updatemenuMw(), admin.UpdateMenu)...)
			}
			{
				_oauth := _admin.Group("/oauth", _oauthMw()...)
				_oauth.DELETE("/provider", append(_deleteproviderMw(), admin.DeleteProvider)...)
				_provider := _oauth.Group("/provider", _providerMw()...)
				_provider.GET("/list", append(_getproviderlistMw(), admin.GetProviderList)...)
				{
					_provider0 := _oauth.Group("/provider", _provider0Mw()...)
					_provider0.POST("/create", append(_createproviderMw(), admin.CreateProvider)...)
					_provider0.POST("/update", append(_updateproviderMw(), admin.UpdateProvider)...)
				}
			}
			{
				_role0 := _admin.Group("/role", _role0Mw()...)
				_role0.POST("/create", append(_createroleMw(), admin.CreateRole)...)
				_role0.POST("/update", append(_updateroleMw(), admin.UpdateRole)...)
			}
			{
				_token0 := _admin.Group("/token", _token0Mw()...)
				_token0.POST("/update", append(_updatetokenMw(), admin.UpdateToken)...)
			}
			{
				_user0 := _admin.Group("/user", _user0Mw()...)
				_user0.POST("/change-password", append(_changepasswordMw(), admin.ChangePassword)...)
				_user0.POST("/create", append(_createuserMw(), admin.CreateUser)...)
				_user0.GET("/info", append(_userinfoMw(), admin.UserInfo)...)
				_user0.GET("/list", append(_userlistMw(), admin.UserList)...)
				_user0.GET("/perm", append(_userpermcodeMw(), admin.UserPermCode)...)
				_user0.POST("/update", append(_updateuserMw(), admin.UpdateUser)...)
			}
		}
		{
			_oauth0 := _api.Group("/oauth", _oauth0Mw()...)
			_oauth0.GET("/callback", append(_oauthcallbackMw(), admin.OauthCallback)...)
			_oauth0.POST("/login", append(_oauthloginMw(), admin.OauthLogin)...)
		}
	}
}
