12345678910111213141516171819202122232425262728293031 |
- package domain
- import (
- "errors"
- "math/rand"
- "strconv"
- )
- type ShortURL struct {
- URL
- target TargetURL
- }
- func (su ShortURL) Target() TargetURL {
- return su.target
- }
- func NewUnspecifiedShortURL(target TargetURL) (ShortURL, error) {
- var su ShortURL
- if target.IsEmpty() {
- return su, errors.New("cannot target empty RedirectURL")
- }
-
- url := URL(strconv.Itoa(rand.Intn(1 << 31)))
- su = ShortURL{url, target}
- return su, nil
- }
|