fix: fail to save sync_overwrite flag #518

This commit is contained in:
Jacky 2024-08-27 10:24:51 +08:00
parent e93455a302
commit 4179fad640
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
2 changed files with 135 additions and 125 deletions

View file

@ -76,7 +76,9 @@ func EditConfig(c *gin.Context) {
return return
} }
_, err = q.Where(q.Filepath.Eq(json.Filepath)).Updates(&model.Config{ _, err = q.Where(q.Filepath.Eq(json.Filepath)).
Select(q.Name, q.Filepath, q.SyncNodeIds, q.SyncOverwrite).
Updates(&model.Config{
Name: json.Name, Name: json.Name,
Filepath: json.NewFilepath, Filepath: json.NewFilepath,
SyncNodeIds: json.SyncNodeIds, SyncNodeIds: json.SyncNodeIds,

View file

@ -32,8 +32,10 @@ func newConfig(db *gorm.DB, opts ...gen.DOOption) config {
_config.CreatedAt = field.NewTime(tableName, "created_at") _config.CreatedAt = field.NewTime(tableName, "created_at")
_config.UpdatedAt = field.NewTime(tableName, "updated_at") _config.UpdatedAt = field.NewTime(tableName, "updated_at")
_config.DeletedAt = field.NewField(tableName, "deleted_at") _config.DeletedAt = field.NewField(tableName, "deleted_at")
_config.Name = field.NewString(tableName, "name")
_config.Filepath = field.NewString(tableName, "filepath") _config.Filepath = field.NewString(tableName, "filepath")
_config.SyncNodeIds = field.NewField(tableName, "sync_node_ids") _config.SyncNodeIds = field.NewField(tableName, "sync_node_ids")
_config.SyncOverwrite = field.NewBool(tableName, "sync_overwrite")
_config.fillFieldMap() _config.fillFieldMap()
@ -48,8 +50,10 @@ type config struct {
CreatedAt field.Time CreatedAt field.Time
UpdatedAt field.Time UpdatedAt field.Time
DeletedAt field.Field DeletedAt field.Field
Name field.String
Filepath field.String Filepath field.String
SyncNodeIds field.Field SyncNodeIds field.Field
SyncOverwrite field.Bool
fieldMap map[string]field.Expr fieldMap map[string]field.Expr
} }
@ -70,8 +74,10 @@ func (c *config) updateTableName(table string) *config {
c.CreatedAt = field.NewTime(table, "created_at") c.CreatedAt = field.NewTime(table, "created_at")
c.UpdatedAt = field.NewTime(table, "updated_at") c.UpdatedAt = field.NewTime(table, "updated_at")
c.DeletedAt = field.NewField(table, "deleted_at") c.DeletedAt = field.NewField(table, "deleted_at")
c.Name = field.NewString(table, "name")
c.Filepath = field.NewString(table, "filepath") c.Filepath = field.NewString(table, "filepath")
c.SyncNodeIds = field.NewField(table, "sync_node_ids") c.SyncNodeIds = field.NewField(table, "sync_node_ids")
c.SyncOverwrite = field.NewBool(table, "sync_overwrite")
c.fillFieldMap() c.fillFieldMap()
@ -88,13 +94,15 @@ func (c *config) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
} }
func (c *config) fillFieldMap() { func (c *config) fillFieldMap() {
c.fieldMap = make(map[string]field.Expr, 6) c.fieldMap = make(map[string]field.Expr, 8)
c.fieldMap["id"] = c.ID c.fieldMap["id"] = c.ID
c.fieldMap["created_at"] = c.CreatedAt c.fieldMap["created_at"] = c.CreatedAt
c.fieldMap["updated_at"] = c.UpdatedAt c.fieldMap["updated_at"] = c.UpdatedAt
c.fieldMap["deleted_at"] = c.DeletedAt c.fieldMap["deleted_at"] = c.DeletedAt
c.fieldMap["name"] = c.Name
c.fieldMap["filepath"] = c.Filepath c.fieldMap["filepath"] = c.Filepath
c.fieldMap["sync_node_ids"] = c.SyncNodeIds c.fieldMap["sync_node_ids"] = c.SyncNodeIds
c.fieldMap["sync_overwrite"] = c.SyncOverwrite
} }
func (c config) clone(db *gorm.DB) config { func (c config) clone(db *gorm.DB) config {