domain_api.go 605 B

123456789101112131415161718192021222324252627282930
  1. package domain
  2. import "errors"
  3. func GetTargetURL(shortURL string) (target string, err error) {
  4. su := ShortURL{URL: URL(shortURL)}
  5. tu, err := shortURLRepository.GetTarget(su)
  6. if err != nil {
  7. target = ""
  8. } else {
  9. target = string(tu.URL)
  10. }
  11. return
  12. }
  13. func GetShortURL(targetURL string) (short string, isNew bool, err error) {
  14. tu := TargetURL{URL: URL(targetURL)}
  15. if tu.IsEmpty() {
  16. // Zero values are OK for short and isNew.
  17. err = errors.New("Empty target is not valid")
  18. return
  19. }
  20. su, isNew, err := targetURLRepository.GetShort(tu)
  21. if err == nil {
  22. short = string(su.URL)
  23. }
  24. return
  25. }