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

type CreateRoleReq struct {
	RoleName    string   `json:"role_name"`        // 角色名称
	RoleCode    string   `json:"role_code"`        // 角色编码
	Description string   `json:"description"`      // 角色描述
	Status      int64    `json:"status,default=1"` // 状态：0-禁用，1-启用
	Sort        int64    `json:"sort,default=0"`   // 排序
	MenuIds     []string `json:"menu_ids"`         // 关联的菜单ID列表
}

type CreateRoleResp struct {
	Id string `json:"id"` // 角色ID
}

type DeleteRoleReq struct {
	Id string `path:"id"` // 角色ID
}

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

type GetRoleDetailReq struct {
	Id string `path:"id"` // 角色ID
}

type GetRoleDetailResp struct {
	Id          string   `json:"id"`          // 角色ID
	RoleName    string   `json:"role_name"`   // 角色名称
	RoleCode    string   `json:"role_code"`   // 角色编码
	Description string   `json:"description"` // 角色描述
	Status      int64    `json:"status"`      // 状态：0-禁用，1-启用
	Sort        int64    `json:"sort"`        // 排序
	CreateTime  string   `json:"create_time"` // 创建时间
	UpdateTime  string   `json:"update_time"` // 更新时间
	MenuIds     []string `json:"menu_ids"`    // 关联的菜单ID列表
}

type GetRoleListReq struct {
	Page     int64  `form:"page,default=1"`             // 页码
	PageSize int64  `form:"pageSize,default=20"`        // 每页数量
	Name     string `form:"name,optional"`              // 角色名称
	Code     string `form:"code,optional"`              // 角色编码
	Status   int64  `form:"status,optional,default=-1"` // 状态：0-禁用，1-启用
}

type GetRoleListResp struct {
	Total int64          `json:"total"` // 总数
	Items []RoleListItem `json:"items"` // 列表
}

type UpdateRoleReq struct {
	Id          string   `path:"id"`                   // 角色ID
	RoleName    *string  `json:"role_name,optional"`   // 角色名称
	RoleCode    *string  `json:"role_code,optional"`   // 角色编码
	Description *string  `json:"description,optional"` // 角色描述
	Status      *int64   `json:"status,optional"`      // 状态：0-禁用，1-启用
	Sort        *int64   `json:"sort,optional"`        // 排序
	MenuIds     []string `json:"menu_ids,optional"`    // 关联的菜单ID列表
}

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