+5
server/repo.go
+5
server/repo.go
···
112
112
for i, op := range writes {
113
113
if op.Type != OpTypeCreate && op.Rkey == nil {
114
114
return nil, fmt.Errorf("invalid rkey")
115
+
} else if op.Type == OpTypeCreate && op.Rkey != nil {
116
+
_, _, err := r.GetRecord(context.TODO(), op.Collection+"/"+*op.Rkey)
117
+
if err == nil {
118
+
op.Type = OpTypeUpdate
119
+
}
115
120
} else if op.Rkey == nil {
116
121
op.Rkey = to.StringPtr(rm.clock.Next().String())
117
122
writes[i].Rkey = op.Rkey