package controls import ( "git.sxidc.com/go-tools/utils/strutils" "git.sxidc.com/service-supports/osm_sdk" "strings" ) func CopyAttachments(attachmentsStrWithCommaSeparator string, genNewObjNameFun func(srcObjName string) string) ([]string, error) { objNames := make([]string, 0) if strutils.IsStringNotEmpty(attachmentsStrWithCommaSeparator) { objNames = strings.Split(attachmentsStrWithCommaSeparator, ",") } attachments, err := copyTempAttachments(objNames, genNewObjNameFun) if err != nil { return nil, err } return attachments, nil } func copyTempAttachments(attachments []string, genNewObjNameFun func(srcObjName string) string) ([]string, error) { newObjNames := make([]string, 0, len(attachments)) for _, objName := range attachments { newObjName, err := osm_sdk.Copy(objName, genNewObjNameFun(objName)) if err != nil { return nil, err } newObjNames = append(newObjNames, newObjName) } return newObjNames, nil }