feat: add env display control

This commit is contained in:
engigu
2026-02-10 15:02:52 +08:00
parent 1845002f9d
commit 1810cd41e3
5 changed files with 65 additions and 19 deletions
+20 -2
View File
@@ -24,6 +24,7 @@ func (ec *EnvController) CreateEnvVar(c *gin.Context) {
Name string `json:"name" binding:"required"`
Value string `json:"value" binding:"required"`
Remark string `json:"remark"`
Hidden *bool `json:"hidden"`
}
if err := c.ShouldBindJSON(&req); err != nil {
@@ -31,7 +32,12 @@ func (ec *EnvController) CreateEnvVar(c *gin.Context) {
return
}
envVar := ec.envService.CreateEnvVar(req.Name, req.Value, req.Remark, userID)
hidden := true
if req.Hidden != nil {
hidden = *req.Hidden
}
envVar := ec.envService.CreateEnvVar(req.Name, req.Value, req.Remark, hidden, userID)
utils.Success(c, envVar)
}
@@ -76,6 +82,7 @@ func (ec *EnvController) UpdateEnvVar(c *gin.Context) {
Name string `json:"name"`
Value string `json:"value"`
Remark string `json:"remark"`
Hidden *bool `json:"hidden"`
}
if err := c.ShouldBindJSON(&req); err != nil {
@@ -83,7 +90,18 @@ func (ec *EnvController) UpdateEnvVar(c *gin.Context) {
return
}
envVar := ec.envService.UpdateEnvVar(id, req.Name, req.Value, req.Remark)
// 对于更新,获取现有数据
existing := ec.envService.GetEnvVarByID(id)
if existing == nil {
utils.NotFound(c, "环境变量不存在")
return
}
hidden := existing.Hidden
if req.Hidden != nil {
hidden = *req.Hidden
}
envVar := ec.envService.UpdateEnvVar(id, req.Name, req.Value, req.Remark, hidden)
if envVar == nil {
utils.NotFound(c, "环境变量不存在")
return
+1
View File
@@ -12,6 +12,7 @@ type EnvironmentVariable struct {
Name string `json:"name" gorm:"size:255;not null"`
Value string `json:"value" gorm:"type:text"`
Remark string `json:"remark" gorm:"size:500"`
Hidden bool `json:"hidden" gorm:"default:true"`
UserID uint `json:"user_id" gorm:"index"`
CreatedAt LocalTime `json:"created_at"`
UpdatedAt LocalTime `json:"updated_at"`
+4 -2
View File
@@ -14,11 +14,12 @@ func NewEnvService() *EnvService {
return &EnvService{}
}
func (es *EnvService) CreateEnvVar(name, value, remark string, userID int) *models.EnvironmentVariable {
func (es *EnvService) CreateEnvVar(name, value, remark string, hidden bool, userID int) *models.EnvironmentVariable {
env := &models.EnvironmentVariable{
Name: name,
Value: value,
Remark: remark,
Hidden: hidden,
UserID: uint(userID),
}
database.DB.Create(env)
@@ -53,7 +54,7 @@ func (es *EnvService) GetEnvVarByID(id int) *models.EnvironmentVariable {
return &env
}
func (es *EnvService) UpdateEnvVar(id int, name, value, remark string) *models.EnvironmentVariable {
func (es *EnvService) UpdateEnvVar(id int, name, value, remark string, hidden bool) *models.EnvironmentVariable {
var env models.EnvironmentVariable
if err := database.DB.First(&env, id).Error; err != nil {
return nil
@@ -61,6 +62,7 @@ func (es *EnvService) UpdateEnvVar(id int, name, value, remark string) *models.E
env.Name = name
env.Value = value
env.Remark = remark
env.Hidden = hidden
database.DB.Save(&env)
return &env
}