fusenapi/server_api/ldap-admin.api
2023-11-15 16:49:28 +08:00

124 lines
3.2 KiB
Plaintext

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"`
}