提交 8c672680 编写于 作者: U Ulric Qin

host field management done

上级 6987b3b4
......@@ -3,11 +3,15 @@
- title: 主机设备
ops:
- en: ams_host_mgr_menu
cn: 主机设备管理菜单
cn: 主机设备管理菜单展示
- en: ams_host_delete
cn: 主机设备删除
- en: ams_host_modify
cn: 主机设备信息修改
- en: ams_host_field_mgr_menu
cn: 主机设备扩展字段菜单展示
- en: ams_host_field_mgr
cn: 主机设备扩展字段管理
# - title: 网络设备
# ops:
# - en: ams_netware_mgr_menu
......
......@@ -19,8 +19,11 @@ func Config(r *gin.Engine) {
userLogin.PUT("/hosts/cate", hostCatePut)
userLogin.DELETE("/hosts", hostDel)
userLogin.GET("/hosts/search", hostSearchGets)
userLogin.POST("/hosts/fields", hostFieldNew)
userLogin.GET("/hosts/fields", hostFieldsGets)
userLogin.GET("/hosts/field/:id", hostFieldGet)
userLogin.PUT("/hosts/field/:id", hostFieldPut)
userLogin.DELETE("/hosts/field/:id", hostFieldDel)
userLogin.GET("/host/:id/fields", hostFieldGets)
userLogin.PUT("/host/:id/fields", hostFieldPuts)
}
......
......@@ -6,6 +6,15 @@ import (
"github.com/didi/nightingale/src/models"
)
func hostFieldNew(c *gin.Context) {
loginUser(c).CheckPermGlobal("ams_host_field_mgr")
var obj models.HostField
bind(c, &obj)
renderMessage(c, models.HostFieldNew(&obj))
}
func hostFieldsGets(c *gin.Context) {
lst, err := models.HostFieldGets()
renderData(c, lst, err)
......@@ -16,6 +25,45 @@ func hostFieldGet(c *gin.Context) {
renderData(c, obj, err)
}
func hostFieldPut(c *gin.Context) {
loginUser(c).CheckPermGlobal("ams_host_field_mgr")
var f models.HostField
bind(c, &f)
obj, err := models.HostFieldGet("id = ?", urlParamInt64(c, "id"))
dangerous(err)
if obj == nil {
bomb("no such field")
}
if obj.FieldType != f.FieldType {
bomb("field_type cannot modify")
}
obj.FieldName = f.FieldName
obj.FieldExtra = f.FieldExtra
obj.FieldRequired = f.FieldRequired
obj.FieldCate = f.FieldCate
renderMessage(c, obj.Update("field_name", "field_extra", "field_required", "field_cate"))
}
func hostFieldDel(c *gin.Context) {
loginUser(c).CheckPermGlobal("ams_host_field_mgr")
obj, err := models.HostFieldGet("id = ?", urlParamInt64(c, "id"))
dangerous(err)
if obj == nil {
renderMessage(c, nil)
return
}
renderMessage(c, obj.Del())
}
func hostFieldGets(c *gin.Context) {
lst, err := models.HostFieldValueGets(urlParamInt64(c, "id"))
renderData(c, lst, err)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册