attachment.go 954 B

123456789101112131415161718192021222324252627282930313233
  1. package controls
  2. import (
  3. "git.sxidc.com/go-tools/utils/strutils"
  4. "git.sxidc.com/service-supports/osm_sdk"
  5. "strings"
  6. )
  7. func CopyAttachments(attachmentsStrWithCommaSeparator string, genNewObjNameFun func(srcObjName string) string) ([]string, error) {
  8. objNames := make([]string, 0)
  9. if strutils.IsStringNotEmpty(attachmentsStrWithCommaSeparator) {
  10. objNames = strings.Split(attachmentsStrWithCommaSeparator, ",")
  11. }
  12. attachments, err := copyTempAttachments(objNames, genNewObjNameFun)
  13. if err != nil {
  14. return nil, err
  15. }
  16. return attachments, nil
  17. }
  18. func copyTempAttachments(attachments []string, genNewObjNameFun func(srcObjName string) string) ([]string, error) {
  19. newObjNames := make([]string, 0, len(attachments))
  20. for _, objName := range attachments {
  21. newObjName, err := osm_sdk.Copy(objName, genNewObjNameFun(objName))
  22. if err != nil {
  23. return nil, err
  24. }
  25. newObjNames = append(newObjNames, newObjName)
  26. }
  27. return newObjNames, nil
  28. }