Fix RPC Modify method

This commit is contained in:
Tobie Morgan Hitchcock 2019-05-24 10:11:41 +01:00
parent 88ccfa08db
commit bcb1d3174c

View file

@ -152,20 +152,20 @@ func (r *rpc) Change(c *fibre.Context, class string, thing interface{}, data map
} }
} }
func (r *rpc) Modify(c *fibre.Context, class string, thing interface{}, data map[string]interface{}) (interface{}, error) { func (r *rpc) Modify(c *fibre.Context, class string, thing interface{}, data []interface{}) (interface{}, error) {
switch thing := thing.(type) { switch thing := thing.(type) {
case *fibre.RPCNull: case *fibre.RPCNull:
return db.Execute(c, "UPDATE $class DIFF $data RETURN AFTER", map[string]interface{}{ return db.Execute(c, "UPDATE $class DIFF $data RETURN DIFF", map[string]interface{}{
"class": sql.NewTable(class), "class": sql.NewTable(class),
"data": data, "data": data,
}) })
case []interface{}: case []interface{}:
return db.Execute(c, "UPDATE $batch DIFF $data RETURN AFTER", map[string]interface{}{ return db.Execute(c, "UPDATE $batch DIFF $data RETURN DIFF", map[string]interface{}{
"batch": sql.NewBatch(class, thing), "batch": sql.NewBatch(class, thing),
"data": data, "data": data,
}) })
default: default:
return db.Execute(c, "UPDATE $thing DIFF $data RETURN AFTER", map[string]interface{}{ return db.Execute(c, "UPDATE $thing DIFF $data RETURN DIFF", map[string]interface{}{
"thing": sql.NewThing(class, thing), "thing": sql.NewThing(class, thing),
"data": data, "data": data,
}) })