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
}
_, 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,
Filepath: json.NewFilepath,
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.UpdatedAt = field.NewTime(tableName, "updated_at")
_config.DeletedAt = field.NewField(tableName, "deleted_at")
_config.Name = field.NewString(tableName, "name")
_config.Filepath = field.NewString(tableName, "filepath")
_config.SyncNodeIds = field.NewField(tableName, "sync_node_ids")
_config.SyncOverwrite = field.NewBool(tableName, "sync_overwrite")
_config.fillFieldMap()
@ -48,8 +50,10 @@ type config struct {
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Name field.String
Filepath field.String
SyncNodeIds field.Field
SyncOverwrite field.Bool
fieldMap map[string]field.Expr
}
@ -70,8 +74,10 @@ func (c *config) updateTableName(table string) *config {
c.CreatedAt = field.NewTime(table, "created_at")
c.UpdatedAt = field.NewTime(table, "updated_at")
c.DeletedAt = field.NewField(table, "deleted_at")
c.Name = field.NewString(table, "name")
c.Filepath = field.NewString(table, "filepath")
c.SyncNodeIds = field.NewField(table, "sync_node_ids")
c.SyncOverwrite = field.NewBool(table, "sync_overwrite")
c.fillFieldMap()
@ -88,13 +94,15 @@ func (c *config) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
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["created_at"] = c.CreatedAt
c.fieldMap["updated_at"] = c.UpdatedAt
c.fieldMap["deleted_at"] = c.DeletedAt
c.fieldMap["name"] = c.Name
c.fieldMap["filepath"] = c.Filepath
c.fieldMap["sync_node_ids"] = c.SyncNodeIds
c.fieldMap["sync_overwrite"] = c.SyncOverwrite
}
func (c config) clone(db *gorm.DB) config {