package model

// NeConfig 网元_参数配置可用属性值
type NeConfig struct {
	ID           int64  `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
	NeType       string `json:"neType" binding:"required" gorm:"column:ne_type"`             // 网元类型
	ParamName    string `json:"paramName" binding:"required" gorm:"column:param_name"`       // 参数名
	ParamDisplay string `json:"paramDisplay" binding:"required" gorm:"column:param_display"` // 参数显示名
	ParamType    string `json:"paramType" gorm:"column:param_type"`                          // 参数类型 list列表单层 array数组多层
	ParamJson    string `json:"-" gorm:"column:param_json"`                                  // accesss属性控制：只读read-only/read/ro  读写read-write
	ParamSort    int64  `json:"paramSort" gorm:"column:param_sort"`                          // 参数排序
	ParamPerms   string `json:"paramPerms" gorm:"column:param_perms"`                        // 操作权限 get只读 put可编辑 delete可删除 post可新增
	Visible      string `json:"visible" gorm:"column:visible"`                               // 可见性 默认public 单独网元self
	UpdateTime   int64  `json:"updateTime" gorm:"column:update_time"`                        // 更新时间

	// ====== 非数据库字段属性 ======

	ParamData []map[string]any `json:"paramData,omitempty" binding:"required" gorm:"-"` // 与ParamJSONStr配合转换
}

// TableName 表名称
func (*NeConfig) TableName() string {
	return "ne_config"
}
