forked from hailey.at/cocoon
An atproto PDS written in Go

fix putRecord updates

Changed files
+5
server
+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