diff --git a/server/dump.go b/server/dump.go index a29979a..1e76a03 100644 --- a/server/dump.go +++ b/server/dump.go @@ -7,6 +7,7 @@ import ( "local/dndex/storage/operator" "net/http" + "github.com/google/uuid" "gopkg.in/mgo.v2/bson" ) @@ -49,6 +50,9 @@ func (rest *REST) dumpIn(w http.ResponseWriter, r *http.Request) { for namespace, ones := range request { if namespace == scope.Namespace { for _, one := range ones { + if one.ID == "" { + one.ID = uuid.New().String() + } if err := rest.g.Insert(r.Context(), scope.Namespace, one); err != nil { if err := rest.g.Update(r.Context(), scope.Namespace, bson.M{entity.ID: one.ID}, operator.SetMany{Value: one}); err != nil { rest.respError(w, err)