syntax = "v1" info ( title: // TODO: add title desc: // TODO: add description author: "" email: "" ) import "basic.api" service ldap-admin { //获取部门列表 @handler GetDepartmentsHandler get /api/ldap-admin/get_departments(request) returns (response); //获取API列表 @handler GetApisHandler get /api/ldap-admin/get_apis(GetApisReq) returns (response); //保存API @handler SaveApiHandler post /api/ldap-admin/save_api(SaveApiReq) returns (response); //保存菜单 @handler SaveMenuHandler post /api/ldap-admin/save_menu(SaveMenuReq) returns (response); //删除菜单 @handler DeleteMenuHandler post /api/ldap-admin/delete_menu(DeleteMenuReq) returns (response); //获取菜单详情 @handler GetMenuDetailHandler get /api/ldap-admin/get_menu_detail(GetMenuDetailReq) returns (response); //获取菜单列表 @handler GetMenusHandler get /api/ldap-admin/get_menus(GetMenusReq) returns (response); } type GetApisReq { Sort string `form:"sort,optional"` CurrentPage int `form:"current_page,optional,default=1"` PerPage int `form:"per_page,optional,default=10"` } type SaveApiReq { Id int64 `json:"id"` Method string `json:"method"` Path string `json:"path"` Category string `json:"category"` Remark string `json:"remark"` } //获取部门列表 type GetDepartmentsRsp { List []*DepartmentsItem `json:"list"` } type DepartmentsItem { Id int64 `json:"id"` Name string `json:"name"` Remark string `json:"remark"` Type string `json:"type"` ParentId int64 `json:"parent_id"` Dn string `json:"dn"` SyncState int64 `json:"sync_state"` Sort int64 `json:"sort"` Child []*DepartmentsItem `json:"child"` Members []Member `json:"members"` } type Member { Id int64 `json:"id"` Name string `json:"name"` Nickname string `json:"nickname"` Email string `json:"email"` } //保存菜单 type SaveMenuReq { Id int64 `json:"id"` Name string `json:"name"` Title string `json:"title"` Icon string `json:"icon"` Path string `json:"path"` Sort int64 `json:"sort"` ParentId int64 `json:"parent_id"` Status int64 `json:"status,options=0|1"` } //删除菜单 type DeleteMenuReq { Id int64 `json:"id"` } //获取菜单详情 type GetMenuDetailReq { Id int64 `form:"id"` } type GetMenuDetailRsp { Id int64 `json:"id"` Name string `json:"name"` Title string `json:"title"` Icon string `json:"icon"` Path string `json:"path"` Sort int64 `json:"sort"` ParentId int64 `json:"parent_id"` Status int64 `json:"status"` } //获取菜单列表 type GetMenusReq { CurrentPage int `form:"current_page"` Name string `form:"name"` Title string `form:"title"` Path string `form:"path"` ParentId *int64 `form:"parent_id"` } type GetMenusRsp { List []MenuItem `json:"list"` Meta Meta `json:"meta"` } type MenuItem { Id int64 `json:"id"` Name string `json:"name"` Title string `json:"title"` Icon string `json:"icon"` Path string `json:"path"` Sort int64 `json:"sort"` ParentId int64 `json:"parent_id"` Status int64 `json:"status"` }