增加删除配置接口
This commit is contained in:
		@ -143,6 +143,19 @@ func initRouter(router *gin.Engine) {
 | 
			
		||||
		}
 | 
			
		||||
		response.ManagerAPISuccess(ctx, map[string]interface{}{})
 | 
			
		||||
	})
 | 
			
		||||
	// 删除配置
 | 
			
		||||
	router.POST("/config/delete", func(ctx *gin.Context) {
 | 
			
		||||
		deleteForm, err := manager.Config.ValidateDeleteConfigForm(ctx)
 | 
			
		||||
		if nil != err {
 | 
			
		||||
			response.ManagerAPIFail(ctx, -1, map[string]interface{}{"reason": err.Error()})
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		if err := manager.Config.Delete(deleteForm); nil != err {
 | 
			
		||||
			response.ManagerAPIFail(ctx, -1, map[string]interface{}{"reason": err.Error()})
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		response.ManagerAPISuccess(ctx, map[string]interface{}{})
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	// 读取配置(从内存读取)
 | 
			
		||||
	router.GET("/config/read", func(ctx *gin.Context) {
 | 
			
		||||
 | 
			
		||||
@ -97,6 +97,15 @@ func (b *base) Detail(dbInstance *gorm.DB, condition interface{}, result interfa
 | 
			
		||||
	return dbInstance.First(result, condition).Error
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Delete 删除数据
 | 
			
		||||
//
 | 
			
		||||
// Author : go_developer@163.com<白茶清欢>
 | 
			
		||||
//
 | 
			
		||||
// Date : 12:24 下午 2021/12/1
 | 
			
		||||
func (b *base) Delete(dbInstance *gorm.DB, table string, primaryID int64, model interface{}) error {
 | 
			
		||||
	return dbInstance.Table(table).Where("id = ?", primaryID).Delete(model).Error
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Count 查询数量
 | 
			
		||||
//
 | 
			
		||||
// Author : go_developer@163.com<白茶清欢>
 | 
			
		||||
 | 
			
		||||
@ -20,3 +20,16 @@ type CreateOrUpdateConfig struct {
 | 
			
		||||
	OperateUserID string `json:"operate_user_id"` // 操作人ID
 | 
			
		||||
	Description   string `json:"description"`     // 配置描述
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DeleteConfig 删除配置
 | 
			
		||||
//
 | 
			
		||||
// Author : go_developer@163.com<白茶清欢>
 | 
			
		||||
//
 | 
			
		||||
// Date : 12:13 下午 2021/12/1
 | 
			
		||||
type DeleteConfig struct {
 | 
			
		||||
	NamespaceID   int64  `json:"namespace_id"`    // 命名空间ID
 | 
			
		||||
	Namespace     string `json:"namespace"`       // 命名空间
 | 
			
		||||
	Key           string `json:"key"`             // key
 | 
			
		||||
	OperateUserID string `json:"operate_user_id"` // 操作人ID
 | 
			
		||||
	Description   string `json:"description"`     // 操作描述
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,7 @@
 | 
			
		||||
package manager
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"time"
 | 
			
		||||
@ -143,6 +144,30 @@ func (c *config) Update(dataForm *form.CreateOrUpdateConfig, namespaceInfo *mode
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Delete 删除配置
 | 
			
		||||
//
 | 
			
		||||
// Author : go_developer@163.com<白茶清欢>
 | 
			
		||||
//
 | 
			
		||||
// Date : 12:16 下午 2021/12/1
 | 
			
		||||
func (c *config) Delete(dataForm *form.DeleteConfig) error {
 | 
			
		||||
	var (
 | 
			
		||||
		cfgInfo *model.Config
 | 
			
		||||
		err     error
 | 
			
		||||
	)
 | 
			
		||||
	// 读取key的配置
 | 
			
		||||
	if cfgInfo, err = c.GetConfigInfo(dataForm.NamespaceID, dataForm.Key); nil != err {
 | 
			
		||||
		return errors.New("要删除的key查询失败 : " + err.Error())
 | 
			
		||||
	}
 | 
			
		||||
	if err = dao.Config.Delete(dao.DBInstance, "config", cfgInfo.ID, model.Config{}); nil != err {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	byteData, _ := json.Marshal(cfgInfo)
 | 
			
		||||
	logData := c.GetLogData(cfgInfo.NamespaceID, cfgInfo.ID, dataForm.OperateUserID, model.LogTypeDeleteConfig, "删除配置-"+dataForm.Description)
 | 
			
		||||
	logData.BeforeValue = string(byteData)
 | 
			
		||||
	_ = dao.Log.CreateNewData(dao.DBInstance, logData, &dao.Option{DBTable: "log"})
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ValidateCreateOrUpdateConfigForm ...
 | 
			
		||||
//
 | 
			
		||||
// Author : go_developer@163.com<白茶清欢>
 | 
			
		||||
@ -173,6 +198,33 @@ func (c *config) ValidateCreateOrUpdateConfigForm(ctx *gin.Context) (*form.Creat
 | 
			
		||||
	return &dataForm, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ValidateDeleteConfigForm 删除配置表单
 | 
			
		||||
//
 | 
			
		||||
// Author : go_developer@163.com<白茶清欢>
 | 
			
		||||
//
 | 
			
		||||
// Date : 2:12 下午 2021/12/1
 | 
			
		||||
func (c *config) ValidateDeleteConfigForm(ctx *gin.Context) (*form.DeleteConfig, error) {
 | 
			
		||||
	var (
 | 
			
		||||
		dataForm form.DeleteConfig
 | 
			
		||||
		err      error
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
	if err = c.ParsePostForm(ctx, &dataForm); nil != err {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if dataForm.NamespaceID == 0 {
 | 
			
		||||
		dataForm.NamespaceID = Namespace.GetNamespaceIDByNamespace(dataForm.Namespace)
 | 
			
		||||
	}
 | 
			
		||||
	if dataForm.NamespaceID == 0 {
 | 
			
		||||
		return nil, errors.New("namespace or namespace_id must exist")
 | 
			
		||||
	}
 | 
			
		||||
	if len(dataForm.Key) == 0 {
 | 
			
		||||
		return nil, errors.New("delete is not allowed empty")
 | 
			
		||||
	}
 | 
			
		||||
	return &dataForm, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetConfigInfo 读取配置
 | 
			
		||||
//
 | 
			
		||||
// Author : go_developer@163.com<白茶清欢>
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user