For import, create ID if absent
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
|||||||
"local/dndex/storage/operator"
|
"local/dndex/storage/operator"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/google/uuid"
|
||||||
"gopkg.in/mgo.v2/bson"
|
"gopkg.in/mgo.v2/bson"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -49,6 +50,9 @@ func (rest *REST) dumpIn(w http.ResponseWriter, r *http.Request) {
|
|||||||
for namespace, ones := range request {
|
for namespace, ones := range request {
|
||||||
if namespace == scope.Namespace {
|
if namespace == scope.Namespace {
|
||||||
for _, one := range ones {
|
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.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 {
|
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)
|
rest.respError(w, err)
|
||||||
|
|||||||
Reference in New Issue
Block a user