relay/vendor/git.ptzo.gdn/feditools/go-lib/split_account.go
Tyr Mactire 73e3f41856
use go-lib in git.ptzo.gdn (#163)
Reviewed-on: https://git.ptzo.gdn/feditools/relay/pulls/163
Co-authored-by: Tyr Mactire <tyr@pettingzoo.co>
Co-committed-by: Tyr Mactire <tyr@pettingzoo.co>
2022-11-27 00:23:47 +00:00

21 lines
498 B
Go

package lib
import (
"strings"
)
// SplitAccount splits a federated account into a username and domain.
func SplitAccount(act string) (username string, domain string, err error) {
actFragments := strings.Split(strings.ToLower(act), "@")
//revive:disable:add-constant
switch len(actFragments) {
case 2:
return actFragments[0], actFragments[1], nil
case 3:
return actFragments[1], actFragments[2], nil
default:
return "", "", ErrInvalidAccountFormat
} //revive:enable:add-constant
}