// Code generated by goctl. DO NOT EDIT.
package types

type CreateMenuReq struct {
	Pid       string                 `json:"pid,optional"`              // 父菜单ID
	Name      string                 `json:"name"`                      // 路由名称
	Path      string                 `json:"path,optional"`             // 路由路径
	Component string                 `json:"component,optional"`        // 组件路径
	Redirect  string                 `json:"redirect,optional"`         // 重定向路径
	Meta      map[string]interface{} `json:"meta"`                      // 路由元数据
	Status    int64                  `json:"status,optional,default=1"` // 状态：0-禁用，1-启用
	Type      string                 `json:"type"`                      // 类型
	Sort      int64                  `json:"sort,optional"`             // 排序
}

type CreateMenuResp struct {
	Id string `json:"id"` // 菜单ID
}

type DeleteMenuReq struct {
	Id string `path:"id"` // 菜单ID
}

type DeleteMenuResp struct {
	Success bool `json:"success"` // 是否成功
}

type GetMenuAllReq struct {
}

type GetMenuAllResp struct {
	Name      string                 `json:"name"`
	Path      string                 `json:"path"`
	Redirect  string                 `json:"redirect,omitempty"`
	Component string                 `json:"component,omitempty"`
	Sort      int64                  `json:"sort"`
	Meta      map[string]interface{} `json:"meta"`
	Children  []GetMenuAllResp       `json:"children"`
}

type GetMenuDetailReq struct {
	Id string `path:"id"` // 菜单ID
}

type GetMenuDetailResp struct {
	Id         string                 `json:"id"`         // 菜单ID
	Pid        string                 `json:"pid"`        // 父菜单ID
	Name       string                 `json:"name"`       // 路由名称
	Path       string                 `json:"path"`       // 路由路径
	Component  string                 `json:"component"`  // 组件路径
	Redirect   string                 `json:"redirect"`   // 重定向路径
	Meta       map[string]interface{} `json:"meta"`       // 路由元数据
	Status     int64                  `json:"status"`     // 状态：0-禁用，1-启用
	Type       string                 `json:"type"`       // 类型
	Sort       int64                  `json:"sort"`       // 排序
	CreateTime string                 `json:"createTime"` // 创建时间
	UpdateTime string                 `json:"updateTime"` // 更新时间
}

type GetMenuListReq struct {
	Name   string `form:"name,optional"`              // 菜单名称
	Path   string `form:"path,optional"`              // 路由路径
	Status int64  `form:"status,optional,default=-1"` // 状态：0-禁用，1-启用
	Type   string `form:"type,optional"`              // 类型
}

type MenuListItem struct {
	Id         string                 `json:"id"`         // 菜单ID
	Pid        string                 `json:"pid"`        // 父菜单ID
	Name       string                 `json:"name"`       // 路由名称
	Path       string                 `json:"path"`       // 路由路径
	Component  string                 `json:"component"`  // 组件路径
	Redirect   string                 `json:"redirect"`   // 重定向路径
	Meta       map[string]interface{} `json:"meta"`       // 路由元数据
	Status     int64                  `json:"status"`     // 状态：0-禁用，1-启用
	Type       string                 `json:"type"`       // 类型
	Sort       int64                  `json:"sort"`       // 排序
	CreateTime string                 `json:"createTime"` // 创建时间
	Children   []MenuListItem         `json:"children"`   // 子菜单
}

type UpdateMenuReq struct {
	Id        string                 `path:"id"`                 // 菜单ID
	Pid       *string                `json:"pid,optional"`       // 父菜单ID
	Name      string                 `json:"name"`               // 路由名称
	Path      string                 `json:"path,optional"`      // 路由路径
	Component string                 `json:"component,optional"` // 组件路径
	Redirect  string                 `json:"redirect,optional"`  // 重定向路径
	Meta      map[string]interface{} `json:"meta"`               // 路由元数据
	Status    int64                  `json:"status,optional"`    // 状态：0-禁用，1-启用
	Type      string                 `json:"type"`               // 类型
	Sort      int64                  `json:"sort,optional"`      // 排序
}

type UpdateMenuResp struct {
	Success bool `json:"success"` // 是否成功
}
