diff --git a/object/syncer_user.go b/object/syncer_user.go index 73415456..f3c468e5 100644 --- a/object/syncer_user.go +++ b/object/syncer_user.go @@ -31,8 +31,8 @@ type Credential struct { } func (syncer *Syncer) getOriginalUsers() ([]*OriginalUser, error) { - sql := fmt.Sprintf("select * from %s", syncer.getTable()) - results, err := syncer.Ormer.Engine.QueryString(sql) + var results []map[string]string + err := syncer.Ormer.Engine.Table(syncer.getTable()).Find(&results) if err != nil { return nil, err } @@ -64,19 +64,10 @@ func (syncer *Syncer) getOriginalUserMap() ([]*OriginalUser, map[string]*Origina func (syncer *Syncer) addUser(user *OriginalUser) (bool, error) { m := syncer.getMapFromOriginalUser(user) - keyString, valueString := syncer.getSqlKeyValueStringFromMap(m) - - sql := fmt.Sprintf("insert into %s (%s) values (%s)", syncer.getTable(), keyString, valueString) - res, err := syncer.Ormer.Engine.Exec(sql) + affected, err := syncer.Ormer.Engine.Table(syncer.getTable()).Insert(m) if err != nil { return false, err } - - affected, err := res.RowsAffected() - if err != nil { - return false, err - } - return affected != 0, nil } @@ -93,23 +84,14 @@ func (syncer *Syncer) getCasdoorColumns() []string { func (syncer *Syncer) updateUser(user *OriginalUser) (bool, error) { key := syncer.getKey() - m := syncer.getMapFromOriginalUser(user) pkValue := m[key] delete(m, key) - setString := syncer.getSqlSetStringFromMap(m) - sql := fmt.Sprintf("update %s set %s where %s = %s", syncer.getTable(), setString, key, pkValue) - res, err := syncer.Ormer.Engine.Exec(sql) + affected, err := syncer.Ormer.Engine.Table(syncer.getTable()).ID(pkValue).Update(&m) if err != nil { return false, err } - - affected, err := res.RowsAffected() - if err != nil { - return false, err - } - return affected != 0, nil } diff --git a/object/syncer_util.go b/object/syncer_util.go index a0426db8..9dae4ca2 100644 --- a/object/syncer_util.go +++ b/object/syncer_util.go @@ -322,19 +322,3 @@ func (syncer *Syncer) getSqlSetStringFromMap(m map[string]string) string { } return strings.Join(tokens, ", ") } - -func (syncer *Syncer) getSqlKeyValueStringFromMap(m map[string]string) (string, string) { - typeMap := syncer.getTableColumnsTypeMap() - - keys := []string{} - values := []string{} - for k, v := range m { - if typeMap[k] == "string" { - v = fmt.Sprintf("'%s'", v) - } - - keys = append(keys, k) - values = append(values, v) - } - return strings.Join(keys, ", "), strings.Join(values, ", ") -} diff --git a/web/src/table/SyncerTableColumnTable.js b/web/src/table/SyncerTableColumnTable.js index b7bde74d..051b7a74 100644 --- a/web/src/table/SyncerTableColumnTable.js +++ b/web/src/table/SyncerTableColumnTable.js @@ -98,7 +98,7 @@ class SyncerTableColumnTable extends React.Component { return (