Merge pull request #997 from trheyi/main
Refactor boolean value handling in fmtRow function
This commit is contained in:
commit
e21d56aff8
2 changed files with 25 additions and 14 deletions
16
dsl/io/db.go
16
dsl/io/db.go
|
|
@ -41,18 +41,10 @@ func fmtRow(row map[string]interface{}) map[string]interface{} {
|
||||||
|
|
||||||
// Convert boolean values
|
// Convert boolean values
|
||||||
if row["readable"] != nil {
|
if row["readable"] != nil {
|
||||||
if row["readable"].(int64) == 1 {
|
row["readable"] = toBool(row["readable"])
|
||||||
row["readable"] = true
|
|
||||||
} else {
|
|
||||||
row["readable"] = false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if row["built_in"] != nil {
|
if row["built_in"] != nil {
|
||||||
if row["built_in"].(int64) == 1 {
|
row["built_in"] = toBool(row["built_in"])
|
||||||
row["built_in"] = true
|
|
||||||
} else {
|
|
||||||
row["built_in"] = false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return row
|
return row
|
||||||
}
|
}
|
||||||
|
|
@ -345,10 +337,6 @@ func (db *DB) Update(options *types.UpdateOptions) error {
|
||||||
data["updated_at"] = time.Now()
|
data["updated_at"] = time.Now()
|
||||||
data["mtime"] = time.Now()
|
data["mtime"] = time.Now()
|
||||||
|
|
||||||
// Debug SQL
|
|
||||||
fmt.Printf("Update SQL: %v\n", data)
|
|
||||||
fmt.Printf("Update ID: %v\n", rows[0]["id"])
|
|
||||||
|
|
||||||
err = m.Update(rows[0]["id"], data)
|
err = m.Update(rows[0]["id"], data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
||||||
23
dsl/io/utils.go
Normal file
23
dsl/io/utils.go
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
package io
|
||||||
|
|
||||||
|
// toBool converts various types to boolean
|
||||||
|
func toBool(v interface{}) bool {
|
||||||
|
if v == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
switch val := v.(type) {
|
||||||
|
case bool:
|
||||||
|
return val
|
||||||
|
case int:
|
||||||
|
return val == 1
|
||||||
|
case int64:
|
||||||
|
return val == 1
|
||||||
|
case float64:
|
||||||
|
return val == 1
|
||||||
|
case string:
|
||||||
|
return val == "1" || val == "true"
|
||||||
|
default:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue