|
|
|
@@ -160,6 +160,8 @@ func (svc *Service) DeletePackage(msg *coormq.DeletePackage) (*coormq.DeletePack |
|
|
|
|
|
|
|
func (svc *Service) ClonePackage(msg *coormq.ClonePackage) (*coormq.ClonePackageResp, *mq.CodeMessage) { |
|
|
|
var pkg cdssdk.Package |
|
|
|
var oldObjIDs []cdssdk.ObjectID |
|
|
|
var newObjIDs []cdssdk.ObjectID |
|
|
|
err := svc.db2.DoTx(func(tx db2.SQLContext) error { |
|
|
|
var err error |
|
|
|
|
|
|
|
@@ -198,6 +200,9 @@ func (svc *Service) ClonePackage(msg *coormq.ClonePackage) (*coormq.ClonePackage |
|
|
|
oldToNew := make(map[cdssdk.ObjectID]cdssdk.ObjectID) |
|
|
|
for i, obj := range clonedObjs { |
|
|
|
oldToNew[objs[i].ObjectID] = obj.ObjectID |
|
|
|
|
|
|
|
oldObjIDs = append(oldObjIDs, objs[i].ObjectID) |
|
|
|
newObjIDs = append(newObjIDs, obj.ObjectID) |
|
|
|
} |
|
|
|
|
|
|
|
clonedBlks := make([]stgmod.ObjectBlock, len(objBlks)) |
|
|
|
@@ -224,6 +229,8 @@ func (svc *Service) ClonePackage(msg *coormq.ClonePackage) (*coormq.ClonePackage |
|
|
|
svc.evtPub.Publish(&stgmod.BodyPackageCloned{ |
|
|
|
SourcePackageID: msg.PackageID, |
|
|
|
NewPackage: pkg, |
|
|
|
SourceObjectIDs: oldObjIDs, |
|
|
|
NewObjectIDs: newObjIDs, |
|
|
|
}) |
|
|
|
|
|
|
|
return mq.ReplyOK(coormq.RespClonePackage(pkg)) |
|
|
|
|